@steroidsjs/core 3.0.92 → 3.0.94

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 (205) hide show
  1. package/actions/auth.js +1 -0
  2. package/actions/list.js +12 -10
  3. package/actions/notifications.d.ts +1 -1
  4. package/actions/notifications.js +5 -3
  5. package/components/ClientStorageComponent.js +1 -1
  6. package/components/HttpComponent.js +3 -3
  7. package/components/JwtHttpComponent.js +2 -2
  8. package/components/LocaleComponent.js +4 -3
  9. package/components/MetricsComponent.js +1 -1
  10. package/components/ResourceComponent.d.ts +2 -0
  11. package/components/ResourceComponent.js +9 -3
  12. package/components/SocialComponent.js +3 -1
  13. package/components/StoreComponent.d.ts +33 -21
  14. package/components/StoreComponent.js +5 -10
  15. package/components/UiComponent.js +1 -1
  16. package/components/social/GitlabProvider.js +3 -1
  17. package/docs-autogen-result.json +987 -81
  18. package/en.json +18 -6
  19. package/hooks/index.d.ts +5 -5
  20. package/hooks/index.js +10 -10
  21. package/hooks/useAddressBar.js +13 -9
  22. package/hooks/useApplication.d.ts +9 -9
  23. package/hooks/useApplication.js +17 -15
  24. package/hooks/useDataProvider.js +13 -7
  25. package/hooks/useDataSelect.js +4 -4
  26. package/hooks/useFetch.d.ts +12 -7
  27. package/hooks/useFetch.js +7 -5
  28. package/hooks/useFile.js +12 -7
  29. package/hooks/useLayout.js +25 -23
  30. package/hooks/useList.d.ts +4 -4
  31. package/hooks/useList.js +29 -23
  32. package/hooks/useListField.js +1 -1
  33. package/hooks/useSaveCursorPosition.js +1 -1
  34. package/hooks/useTree.d.ts +1 -1
  35. package/hooks/useTree.js +7 -6
  36. package/hooks/useUniqueId.js +1 -1
  37. package/index.d.ts +49 -0
  38. package/package.json +4 -4
  39. package/providers/ComponentsProvider.d.ts +5 -5
  40. package/providers/SsrProvider.d.ts +4 -0
  41. package/providers/SsrProvider.js +7 -5
  42. package/providers/index.d.ts +1 -1
  43. package/providers/index.js +2 -2
  44. package/reducers/auth.js +1 -0
  45. package/reducers/fields.js +2 -1
  46. package/reducers/form.js +4 -3
  47. package/reducers/index.d.ts +1 -1
  48. package/reducers/index.js +2 -2
  49. package/reducers/list.js +4 -3
  50. package/reducers/modal.js +2 -1
  51. package/reducers/notifications.js +2 -1
  52. package/reducers/router.js +13 -7
  53. package/ui/content/Accordion/index.d.ts +1 -1
  54. package/ui/content/Accordion/index.js +2 -2
  55. package/ui/content/Alert/Alert.d.ts +1 -1
  56. package/ui/content/Badge/Badge.d.ts +1 -1
  57. package/ui/content/Calendar/Calendar.js +2 -2
  58. package/ui/content/CalendarSystem/CalendarSystem.d.ts +2 -2
  59. package/ui/content/CalendarSystem/CalendarSystem.js +2 -2
  60. package/ui/content/CalendarSystem/hooks/useCalendarControls.js +5 -3
  61. package/ui/content/CalendarSystem/hooks/useCalendarSystem.js +11 -11
  62. package/ui/content/CalendarSystem/hooks/useCalendarSystemEventGroupModals.d.ts +1 -1
  63. package/ui/content/CalendarSystem/hooks/useCalendarSystemEventGroupModals.js +2 -2
  64. package/ui/content/CalendarSystem/hooks/useCalendarSystemModals.js +6 -4
  65. package/ui/content/CalendarSystem/hooks/useDisplayDate.js +1 -1
  66. package/ui/content/CalendarSystem/hooks/useEventsFromDate.js +1 -1
  67. package/ui/content/CalendarSystem/utils/utils.js +6 -4
  68. package/ui/content/Card/Card.d.ts +1 -1
  69. package/ui/content/Chat/Chat.d.ts +1 -1
  70. package/ui/content/Chat/Chat.js +1 -1
  71. package/ui/content/Chat/hooks/useChat.js +5 -5
  72. package/ui/content/Chat/utils/addNewMessageIntoGroupedMessages.js +1 -1
  73. package/ui/content/Chat/utils/calculateMessageTimeAgo.js +6 -2
  74. package/ui/content/Chat/utils/getMessagesGroupedByDate.d.ts +1 -1
  75. package/ui/content/Chat/utils/getMessagesGroupedByDate.js +1 -1
  76. package/ui/content/Chat/utils/index.d.ts +1 -1
  77. package/ui/content/Chat/utils/index.js +3 -3
  78. package/ui/content/CopyToClipboard/CopyToClipboard.js +1 -1
  79. package/ui/content/Dashboard/Dashboard.js +1 -1
  80. package/ui/content/Detail/Detail.js +5 -3
  81. package/ui/content/DropDown/DropDown.js +1 -1
  82. package/ui/content/Kanban/Kanban.d.ts +3 -3
  83. package/ui/content/Kanban/Kanban.js +4 -4
  84. package/ui/content/Kanban/enums/KanbanPrioritiesEnum.d.ts +1 -1
  85. package/ui/content/Kanban/enums/KanbanPrioritiesEnum.js +6 -2
  86. package/ui/content/Kanban/enums/index.d.ts +1 -1
  87. package/ui/content/Kanban/enums/index.js +2 -2
  88. package/ui/content/Kanban/hooks/useKanban.js +2 -2
  89. package/ui/content/Kanban/reducers/kanban.js +1 -0
  90. package/ui/content/Slider/Slider.d.ts +1 -1
  91. package/ui/content/Slider/Slider.js +0 -1
  92. package/ui/content/index.d.ts +7 -7
  93. package/ui/content/index.js +15 -15
  94. package/ui/crud/Crud/Crud.js +4 -4
  95. package/ui/crud/Crud/CrudContent.d.ts +2 -2
  96. package/ui/crud/Crud/CrudContent.js +11 -5
  97. package/ui/crud/Crud/CrudModal.js +1 -1
  98. package/ui/crud/Crud/utils.js +5 -3
  99. package/ui/crud/index.d.ts +1 -1
  100. package/ui/form/AutoCompleteField/AutoCompleteField.js +2 -2
  101. package/ui/form/BlankField/BlankField.js +1 -1
  102. package/ui/form/Button/Button.d.ts +2 -2
  103. package/ui/form/Button/Button.js +4 -2
  104. package/ui/form/Button/index.js +1 -0
  105. package/ui/form/CheckboxField/CheckboxField.js +5 -3
  106. package/ui/form/CheckboxListField/CheckboxListField.d.ts +1 -1
  107. package/ui/form/CheckboxListField/CheckboxListField.js +1 -1
  108. package/ui/form/CheckboxTreeField/CheckboxTreeField.d.ts +3 -3
  109. package/ui/form/CheckboxTreeField/CheckboxTreeField.js +3 -3
  110. package/ui/form/DateField/DateField.d.ts +2 -2
  111. package/ui/form/DateField/DateField.js +7 -7
  112. package/ui/form/DateField/useDateInputState.js +1 -1
  113. package/ui/form/DateField/useDateRange.js +3 -3
  114. package/ui/form/DateField/useDateTime.js +1 -1
  115. package/ui/form/DateRangeField/DateRangeField.d.ts +2 -2
  116. package/ui/form/DateRangeField/DateRangeField.js +15 -13
  117. package/ui/form/DateTimeField/DateTimeField.d.ts +1 -1
  118. package/ui/form/DateTimeField/DateTimeField.js +9 -9
  119. package/ui/form/DateTimeField/utils.js +12 -3
  120. package/ui/form/DateTimeRangeField/DateTimeRangeField.d.ts +1 -1
  121. package/ui/form/DateTimeRangeField/DateTimeRangeField.js +15 -13
  122. package/ui/form/DropDownField/DropDownField.d.ts +3 -3
  123. package/ui/form/DropDownField/DropDownField.js +5 -5
  124. package/ui/form/EmailField/EmailField.d.ts +1 -1
  125. package/ui/form/EmailField/EmailField.js +2 -2
  126. package/ui/form/Field/Field.js +3 -3
  127. package/ui/form/Field/fieldWrapper.js +6 -6
  128. package/ui/form/FieldLayout/FieldLayout.js +1 -1
  129. package/ui/form/FieldList/FieldList.js +15 -11
  130. package/ui/form/FieldSet/FieldSet.js +5 -3
  131. package/ui/form/FileField/FileField.d.ts +1 -1
  132. package/ui/form/FileField/FileField.js +2 -2
  133. package/ui/form/Form/Form.d.ts +2 -2
  134. package/ui/form/Form/Form.js +28 -25
  135. package/ui/form/HtmlField/HtmlField.js +2 -2
  136. package/ui/form/ImageField/ImageField.d.ts +2 -2
  137. package/ui/form/ImageField/ImageField.js +4 -4
  138. package/ui/form/InputField/InputField.d.ts +2 -2
  139. package/ui/form/InputField/InputField.js +11 -11
  140. package/ui/form/NavField/NavField.d.ts +2 -2
  141. package/ui/form/NavField/NavField.js +3 -3
  142. package/ui/form/NumberField/NumberField.d.ts +2 -2
  143. package/ui/form/NumberField/NumberField.js +5 -4
  144. package/ui/form/NumberField/hooks/useInputTypeNumber.js +2 -2
  145. package/ui/form/PasswordField/PasswordField.d.ts +1 -1
  146. package/ui/form/PasswordField/PasswordField.js +3 -1
  147. package/ui/form/RadioField/RadioField.d.ts +4 -1
  148. package/ui/form/RadioField/RadioField.js +0 -5
  149. package/ui/form/RadioListField/RadioListField.d.ts +5 -1
  150. package/ui/form/RadioListField/RadioListField.js +0 -4
  151. package/ui/form/RateField/RateField.js +2 -2
  152. package/ui/form/SliderField/SliderField.d.ts +1 -1
  153. package/ui/form/SliderField/SliderField.js +2 -2
  154. package/ui/form/SwitcherField/SwitcherField.d.ts +11 -1
  155. package/ui/form/TextField/TextField.js +1 -1
  156. package/ui/form/TimeField/TimeField.js +8 -8
  157. package/ui/form/TimeField/utils.js +9 -2
  158. package/ui/form/TimeRangeField/TimeRangeField.js +11 -11
  159. package/ui/form/WizardForm/WizardForm.d.ts +1 -1
  160. package/ui/form/WizardForm/WizardForm.js +4 -4
  161. package/ui/form/WizardForm/utils.d.ts +1 -1
  162. package/ui/form/WizardForm/utils.js +3 -3
  163. package/ui/form/index.d.ts +2 -2
  164. package/ui/form/index.js +4 -4
  165. package/ui/form/validate.js +5 -5
  166. package/ui/format/EnumFormatter/EnumFormatter.js +3 -1
  167. package/ui/format/Format/Format.js +1 -1
  168. package/ui/layout/Header/Header.d.ts +3 -3
  169. package/ui/layout/Loader/Loader.d.ts +1 -1
  170. package/ui/layout/Notifications/Notifications.d.ts +1 -1
  171. package/ui/layout/Notifications/Notifications.js +3 -3
  172. package/ui/layout/ProgressBar/ProgressBar.js +1 -1
  173. package/ui/layout/Sidebar/Sidebar.d.ts +1 -1
  174. package/ui/layout/Tooltip/Tooltip.js +1 -1
  175. package/ui/layout/index.d.ts +1 -1
  176. package/ui/layout/index.js +2 -2
  177. package/ui/list/CheckboxColumn/CheckboxColumn.js +1 -1
  178. package/ui/list/Empty/Empty.js +6 -2
  179. package/ui/list/Grid/Grid.d.ts +1 -1
  180. package/ui/list/Grid/Grid.js +6 -4
  181. package/ui/list/InfiniteScroll/InfiniteScroll.js +5 -3
  182. package/ui/list/LayoutNames/LayoutNames.d.ts +2 -2
  183. package/ui/list/LayoutNames/LayoutNames.js +5 -3
  184. package/ui/list/Pagination/Pagination.js +4 -2
  185. package/ui/list/PaginationSize/PaginationSize.d.ts +1 -1
  186. package/ui/list/PaginationSize/PaginationSize.js +5 -3
  187. package/ui/list/SearchForm/SearchForm.js +1 -1
  188. package/ui/list/Steps/Steps.js +1 -1
  189. package/ui/list/TreeTable/TreeTable.d.ts +1 -1
  190. package/ui/list/TreeTable/TreeTable.js +9 -7
  191. package/ui/modal/ModalPortal/ModalPortal.js +2 -2
  192. package/ui/modal/TwoFactorModal/TwoFactorModal.js +3 -1
  193. package/ui/nav/ButtonGroup/ButtonGroup.d.ts +1 -1
  194. package/ui/nav/Controls/Controls.d.ts +1 -1
  195. package/ui/nav/Nav/Nav.js +2 -2
  196. package/ui/nav/Router/Router.js +10 -8
  197. package/ui/nav/Router/helpers.js +1 -1
  198. package/ui/nav/index.d.ts +3 -3
  199. package/ui/nav/index.js +6 -6
  200. package/ui/typography/Text/Text.d.ts +1 -1
  201. package/ui/typography/Title/Title.d.ts +1 -1
  202. package/utils/calculateComponentAbsolutePosition.js +9 -3
  203. package/utils/calendar.js +2 -1
  204. package/utils/data.js +27 -17
  205. package/utils/form.js +10 -8
package/en.json CHANGED
@@ -1044,10 +1044,22 @@
1044
1044
  "\nКомпонент `Kanban` позволяет создать доску для управления задачами.\nКоличество столбцов задается с помощью пропа `columns`.\nЗадачи на доске можно создавать, редактировать и перемещать с визуальным отображением.\n\nДля работы этого компонента необходимо установить в проекте зависимости `react-beautiful-dnd`\nи передать в пропсы `droppableComponent`, `draggableComponent` и `dndContext`\nкомпоненты `Droppable`, `Draggable` и `DragDropContext` соответственно.\n\nДля корректной работы функционала создания задач,\nнеобходимо установить в проекте зависимости `@ckeditor/ckeditor5-react v3.0.2` и `@steroidsjs/ckeditor5 v27.0.2-rc.2`,\nзатем импортировать `CKEditor` из `@ckeditor/ckeditor5-react` и `ClassicEditor` из `@steroidsjs/ckeditor5/packages/ckeditor5-build-classic`.\nИмпортированные компоненты нужно передать в проп `createTaskEditorConfig`,\nв поле `htmlComponent` передать `CKEditor`, а в `editorConstructor` передать `ClassicEditor`.\n": "The `Kanban` component allows you to create a board for task management.\nThe number of columns is set using the `columns` prop.\nTasks on the board can be created, edited, and moved with visual feedback.\n\nFor this component to work, you must install the `react-beautiful-dnd` dependencies in your project\nand pass the `Droppable`, `Draggable`, and `DragDropContext` components to the `droppableComponent`, `draggableComponent`, and `dndContext` props, respectively.\n\nFor the task creation functionality to work correctly,\nyou need to install the `@ckeditor/ckeditor5-react v3.0.2` and `@steroidsjs/ckeditor5 v27.0.2-rc.2` dependencies in your project,\nthen import `CKEditor` from `@ckeditor/ckeditor5-react` and `ClassicEditor` from `@steroidsjs/ckeditor5/packages/ckeditor5-build-classic`.\nPass the imported components to the `createTaskEditorConfig` prop,\nproviding `CKEditor` to the `htmlComponent` field and `ClassicEditor` to `editorConstructor`.",
1045
1045
  "\nКомпонент поля ввода текста с маской.\n": "A text input field component with a mask.",
1046
1046
  "\nКомпонент Tooltip предоставляет всплывающую подсказку для дочерних элементов.\nВнутри компонента, то есть между тегами Tooltip можно использовать только html теги, например div, span и тд\n": "The Tooltip component provides a popup hint for child elements.\nInside the component, that is, between the Tooltip tags, you can only use HTML tags, e.g., div, span, etc.",
1047
- "Логическое значение, указывающее, есть ли еще элементы в списке с бесконечным скроллом": "",
1048
- "Позволяет использовать cookie на всех поддоменах (по умолчанию, false)": "",
1049
- "Задержка в мс": "",
1050
- "Дополнительное содержание сообщения.": "",
1051
- "Задержка применения введённого значения": "",
1052
- "Флаг, который указывает, что высота поля должна быть равна высоте контента": ""
1047
+ "\nСписок с радиокнопками. Используется в формах для выбора одного значения.\n": "\nRadio button list. Used in forms to select a single value.\n",
1048
+ "\nКомпонент SwitcherField представляет собой переключатель (switch/toggle),\nкоторый позволяет пользователю включать или выключать значение (boolean).\nОбычно используется для управления настройками, параметрами или состояниями\n«вкл / выкл».\n": "\nThe SwitcherField component is a switch/toggle that allows the user to enable or disable a value (boolean).\nIt is typically used to control settings, parameters, or 'on/off' states.\n",
1049
+ "Логическое значение, указывающее, есть ли еще элементы в списке с бесконечным скроллом": "Boolean value indicating whether there are more items in the infinite scroll list",
1050
+ "Кастомный домен для куки": "Custom cookie domain",
1051
+ "Флаг, который указывает, что высота поля должна быть равна высоте контента": "Flag indicating that the field height should be equal to the content height",
1052
+ "Автоматически устанавливает куку для всех поддоменов текущего домена, но только если параметр domain не указан явно": "Automatically sets the cookie for all subdomains of the current domain, but only if the domain parameter is not explicitly specified",
1053
+ "Позволяет использовать cookie на всех поддоменах (по умолчанию, false)": "Allows cookies to be used on all subdomains (by default, false)",
1054
+ "Задержка в мс": "Delay in ms",
1055
+ "Дополнительное содержание сообщения": "Additional message content",
1056
+ "Задержка применения введённого значения": "Delay in applying the entered value",
1057
+ "Применяется для SSR. Если fetch критический — SSR вернет страницу со статус кодом ошибки.": "Used for SSR. If the fetch is critical, SSR will return the page with an error status code.",
1058
+ "Дополнительное содержание сообщения.": "Additional message content.",
1059
+ "Метки на ползунке. В объекте {key: 'value'} key определяет положение, а value определяет, что будет отображаться.\nЕсли вы хотите задать стиль определенной точки метки, значением должен быть объект,\nсодержащий свойства style и label.": "Labels on the slider. In the object {key: 'value'}, the key determines the position, and the value determines what will be displayed.\nIf you want to set a style for a specific label point, the value must be an object\ncontaining the style and label properties.",
1060
+ "Применяется для ssr. Если fetch критический — ssr вернет страницу со статус кодом ошибки.": "",
1061
+ "Название цвета для Alert и Notification": "",
1062
+ "Название цвета для Badge": "",
1063
+ "Название цвета для Button": "",
1064
+ "Название цвета для Text, Title": ""
1053
1065
  }
package/hooks/index.d.ts CHANGED
@@ -12,17 +12,17 @@ import useForm from './useForm';
12
12
  import useInitial from './useInitial';
13
13
  import useLayout from './useLayout';
14
14
  import useList from './useList';
15
+ import useListField from './useListField';
15
16
  import useModel from './useModel';
17
+ import useSaveCursorPosition from './useSaveCursorPosition';
16
18
  import useScreen from './useScreen';
17
19
  import useSelector from './useSelector';
18
20
  import useSsr from './useSsr';
19
- import useUniqueId from './useUniqueId';
20
21
  import useTheme from './useTheme';
21
22
  import useTree from './useTree';
23
+ import useUniqueId from './useUniqueId';
24
+ import useCalendarControls from '../ui/content/CalendarSystem/hooks/useCalendarControls';
25
+ import useDisplayDate from '../ui/content/CalendarSystem/hooks/useDisplayDate';
22
26
  import useMonthGrid from '../ui/content/CalendarSystem/hooks/useMonthGrid';
23
27
  import useWeekGrid from '../ui/content/CalendarSystem/hooks/useWeekGrid';
24
- import useDisplayDate from '../ui/content/CalendarSystem/hooks/useDisplayDate';
25
- import useCalendarControls from '../ui/content/CalendarSystem/hooks/useCalendarControls';
26
- import useSaveCursorPosition from './useSaveCursorPosition';
27
- import useListField from './useListField';
28
28
  export { useAbsolutePositioning, useAddressBar, useApplication, useBem, useComponents, useDataProvider, useDataSelect, useDispatch, useFetch, useFile, useForm, useInitial, useLayout, useList, useModel, useScreen, useSelector, useSsr, useUniqueId, useTheme, useTree, useMonthGrid, useWeekGrid, useDisplayDate, useCalendarControls, useSaveCursorPosition, useListField, };
package/hooks/index.js CHANGED
@@ -32,29 +32,29 @@ var useLayout_1 = __importDefault(require("./useLayout"));
32
32
  exports.useLayout = useLayout_1["default"];
33
33
  var useList_1 = __importDefault(require("./useList"));
34
34
  exports.useList = useList_1["default"];
35
+ var useListField_1 = __importDefault(require("./useListField"));
36
+ exports.useListField = useListField_1["default"];
35
37
  var useModel_1 = __importDefault(require("./useModel"));
36
38
  exports.useModel = useModel_1["default"];
39
+ var useSaveCursorPosition_1 = __importDefault(require("./useSaveCursorPosition"));
40
+ exports.useSaveCursorPosition = useSaveCursorPosition_1["default"];
37
41
  var useScreen_1 = __importDefault(require("./useScreen"));
38
42
  exports.useScreen = useScreen_1["default"];
39
43
  var useSelector_1 = __importDefault(require("./useSelector"));
40
44
  exports.useSelector = useSelector_1["default"];
41
45
  var useSsr_1 = __importDefault(require("./useSsr"));
42
46
  exports.useSsr = useSsr_1["default"];
43
- var useUniqueId_1 = __importDefault(require("./useUniqueId"));
44
- exports.useUniqueId = useUniqueId_1["default"];
45
47
  var useTheme_1 = __importDefault(require("./useTheme"));
46
48
  exports.useTheme = useTheme_1["default"];
47
49
  var useTree_1 = __importDefault(require("./useTree"));
48
50
  exports.useTree = useTree_1["default"];
51
+ var useUniqueId_1 = __importDefault(require("./useUniqueId"));
52
+ exports.useUniqueId = useUniqueId_1["default"];
53
+ var useCalendarControls_1 = __importDefault(require("../ui/content/CalendarSystem/hooks/useCalendarControls"));
54
+ exports.useCalendarControls = useCalendarControls_1["default"];
55
+ var useDisplayDate_1 = __importDefault(require("../ui/content/CalendarSystem/hooks/useDisplayDate"));
56
+ exports.useDisplayDate = useDisplayDate_1["default"];
49
57
  var useMonthGrid_1 = __importDefault(require("../ui/content/CalendarSystem/hooks/useMonthGrid"));
50
58
  exports.useMonthGrid = useMonthGrid_1["default"];
51
59
  var useWeekGrid_1 = __importDefault(require("../ui/content/CalendarSystem/hooks/useWeekGrid"));
52
60
  exports.useWeekGrid = useWeekGrid_1["default"];
53
- var useDisplayDate_1 = __importDefault(require("../ui/content/CalendarSystem/hooks/useDisplayDate"));
54
- exports.useDisplayDate = useDisplayDate_1["default"];
55
- var useCalendarControls_1 = __importDefault(require("../ui/content/CalendarSystem/hooks/useCalendarControls"));
56
- exports.useCalendarControls = useCalendarControls_1["default"];
57
- var useSaveCursorPosition_1 = __importDefault(require("./useSaveCursorPosition"));
58
- exports.useSaveCursorPosition = useSaveCursorPosition_1["default"];
59
- var useListField_1 = __importDefault(require("./useListField"));
60
- exports.useListField = useListField_1["default"];
@@ -27,16 +27,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
27
27
  };
28
28
  exports.__esModule = true;
29
29
  exports.queryReplace = exports.queryRestore = exports.defaultToStringConverter = exports.defaultFromStringConverter = void 0;
30
- var get_1 = __importDefault(require("lodash-es/get"));
31
- var isEmpty_1 = __importDefault(require("lodash-es/isEmpty"));
32
- var queryString = __importStar(require("qs"));
33
30
  var connected_react_router_1 = require("connected-react-router");
34
- var toInteger_1 = __importDefault(require("lodash-es/toInteger"));
31
+ var get_1 = __importDefault(require("lodash-es/get"));
35
32
  var has_1 = __importDefault(require("lodash-es/has"));
33
+ var isEmpty_1 = __importDefault(require("lodash-es/isEmpty"));
36
34
  var isEqual_1 = __importDefault(require("lodash-es/isEqual"));
35
+ var toInteger_1 = __importDefault(require("lodash-es/toInteger"));
36
+ var queryString = __importStar(require("qs"));
37
37
  var react_1 = require("react");
38
- var useSelector_1 = __importDefault(require("../hooks/useSelector"));
39
38
  var useDispatch_1 = __importDefault(require("../hooks/useDispatch"));
39
+ var useSelector_1 = __importDefault(require("../hooks/useSelector"));
40
40
  var ARRAY_VALUE_SEPARATOR = '_';
41
41
  var defaultFromStringConverter = function (value, type, item) {
42
42
  type = type || '';
@@ -53,8 +53,8 @@ var defaultFromStringConverter = function (value, type, item) {
53
53
  return value || String(value) === '0' ? (0, toInteger_1["default"])(value) : null;
54
54
  case 'boolean':
55
55
  return ['1', 't', 'y'].includes(String(value).substr(0, 1)) || null;
56
- default:
57
56
  case 'string':
57
+ default:
58
58
  return value ? String(value) : null;
59
59
  }
60
60
  };
@@ -71,9 +71,9 @@ var defaultToStringConverter = function (value, type, item) {
71
71
  switch (type) {
72
72
  case 'boolean':
73
73
  return value ? '1' : null;
74
- default:
75
74
  case 'string':
76
75
  case 'number':
76
+ default:
77
77
  return value ? String(value) : null;
78
78
  }
79
79
  };
@@ -85,7 +85,9 @@ var queryRestore = function (model, location, useHash) {
85
85
  var attributes = (model === null || model === void 0 ? void 0 : model.attributes) || Object.keys(values);
86
86
  attributes.forEach(function (item) {
87
87
  if (typeof item === 'string') {
88
- item = { attribute: item };
88
+ item = {
89
+ attribute: item
90
+ };
89
91
  }
90
92
  var defaultValue = (0, has_1["default"])(item, 'defaultValue') ? item.defaultValue : null;
91
93
  var converter = item.fromStringConverter || exports.defaultFromStringConverter;
@@ -102,7 +104,9 @@ var queryReplace = function (model, location, values, useHash) {
102
104
  var attributes = (model === null || model === void 0 ? void 0 : model.attributes) || Object.keys(values);
103
105
  attributes.forEach(function (item) {
104
106
  if (typeof item === 'string') {
105
- item = { attribute: item };
107
+ item = {
108
+ attribute: item
109
+ };
106
110
  }
107
111
  var defaultValue = (0, has_1["default"])(item, 'defaultValue') ? item.defaultValue : null;
108
112
  if ((values === null || values === void 0 ? void 0 : values[item.attribute]) !== defaultValue) {
@@ -1,20 +1,20 @@
1
1
  /// <reference types="react" />
2
+ import ClientStorageComponent, { IClientStorageComponentConfig } from '../components/ClientStorageComponent';
3
+ import HtmlComponent from '../components/HtmlComponent';
2
4
  import { IHttpComponentConfig } from '../components/HttpComponent';
3
- import { IWebSocketComponentConfig } from '../components/WebSocketComponent';
4
- import { ILocaleComponentConfig } from '../components/LocaleComponent';
5
5
  import { IJwtHttpComponentConfig } from '../components/JwtHttpComponent';
6
+ import { ILocaleComponentConfig } from '../components/LocaleComponent';
7
+ import MetaComponent from '../components/MetaComponent';
8
+ import MetricsComponent from '../components/MetricsComponent';
6
9
  import { IResourceComponentConfig } from '../components/ResourceComponent';
7
- import { IThemeProviderProps } from '../providers/ThemeProvider';
8
- import ClientStorageComponent, { IClientStorageComponentConfig } from '../components/ClientStorageComponent';
9
- import HtmlComponent from '../components/HtmlComponent';
10
10
  import StoreComponent from '../components/StoreComponent';
11
11
  import UiComponent from '../components/UiComponent';
12
- import MetaComponent from '../components/MetaComponent';
12
+ import { IWebSocketComponentConfig } from '../components/WebSocketComponent';
13
+ import { IFetchConfig } from '../hooks/useFetch';
13
14
  import { IComponents } from '../providers/ComponentsProvider';
14
- import { IRouteItem, IRouterProps } from '../ui/nav/Router/Router';
15
- import MetricsComponent from '../components/MetricsComponent';
16
15
  import { IScreenProviderProps } from '../providers/ScreenProvider';
17
- import { IFetchConfig } from '../hooks/useFetch';
16
+ import { IThemeProviderProps } from '../providers/ThemeProvider';
17
+ import { IRouteItem, IRouterProps } from '../ui/nav/Router/Router';
18
18
  export interface IComponentConfig {
19
19
  className?: Record<string, any>;
20
20
  [key: string]: any;
@@ -49,28 +49,28 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
49
49
  };
50
50
  exports.__esModule = true;
51
51
  exports.defaultComponents = void 0;
52
- var React = __importStar(require("react"));
53
- var react_redux_1 = require("react-redux");
54
- var merge_1 = __importDefault(require("lodash-es/merge"));
55
- var react_1 = require("react");
56
- var relativeTime_1 = __importDefault(require("dayjs/plugin/relativeTime"));
57
- var localizedFormat_1 = __importDefault(require("dayjs/plugin/localizedFormat"));
58
- var localeData_1 = __importDefault(require("dayjs/plugin/localeData"));
59
- var customParseFormat_1 = __importDefault(require("dayjs/plugin/customParseFormat"));
60
52
  var dayjs_1 = __importDefault(require("dayjs"));
61
- var utc_1 = __importDefault(require("dayjs/plugin/utc"));
53
+ var customParseFormat_1 = __importDefault(require("dayjs/plugin/customParseFormat"));
62
54
  var isToday_1 = __importDefault(require("dayjs/plugin/isToday"));
63
- var ThemeProvider_1 = __importDefault(require("../providers/ThemeProvider"));
55
+ var localeData_1 = __importDefault(require("dayjs/plugin/localeData"));
56
+ var localizedFormat_1 = __importDefault(require("dayjs/plugin/localizedFormat"));
57
+ var relativeTime_1 = __importDefault(require("dayjs/plugin/relativeTime"));
58
+ var utc_1 = __importDefault(require("dayjs/plugin/utc"));
59
+ var merge_1 = __importDefault(require("lodash-es/merge"));
60
+ var React = __importStar(require("react"));
61
+ var react_1 = require("react");
62
+ var react_redux_1 = require("react-redux");
63
+ var useComponents_1 = __importDefault(require("./useComponents"));
64
64
  var ClientStorageComponent_1 = __importDefault(require("../components/ClientStorageComponent"));
65
65
  var HtmlComponent_1 = __importDefault(require("../components/HtmlComponent"));
66
+ var MetaComponent_1 = __importDefault(require("../components/MetaComponent"));
67
+ var MetricsComponent_1 = __importDefault(require("../components/MetricsComponent"));
66
68
  var StoreComponent_1 = __importDefault(require("../components/StoreComponent"));
67
69
  var UiComponent_1 = __importDefault(require("../components/UiComponent"));
68
- var MetaComponent_1 = __importDefault(require("../components/MetaComponent"));
69
70
  var ComponentsProvider_1 = __importDefault(require("../providers/ComponentsProvider"));
70
- var Router_1 = __importDefault(require("../ui/nav/Router/Router"));
71
- var MetricsComponent_1 = __importDefault(require("../components/MetricsComponent"));
72
71
  var ScreenProvider_1 = __importDefault(require("../providers/ScreenProvider"));
73
- var useComponents_1 = __importDefault(require("./useComponents"));
72
+ var ThemeProvider_1 = __importDefault(require("../providers/ThemeProvider"));
73
+ var Router_1 = __importDefault(require("../ui/nav/Router/Router"));
74
74
  exports.defaultComponents = {
75
75
  clientStorage: {
76
76
  className: ClientStorageComponent_1["default"]
@@ -118,7 +118,9 @@ function useApplication(config) {
118
118
  var componentsConfig_1 = (0, merge_1["default"])({}, exports.defaultComponents, config.components);
119
119
  Object.keys(componentsConfig_1).forEach(function (name) {
120
120
  if (typeof componentsConfig_1[name] === 'function') {
121
- componentsConfig_1[name] = { className: componentsConfig_1[name] };
121
+ componentsConfig_1[name] = {
122
+ className: componentsConfig_1[name]
123
+ };
122
124
  }
123
125
  var _a = componentsConfig_1[name], className = _a.className, componentConfig = __rest(_a, ["className"]);
124
126
  // Append reducers to store
@@ -59,18 +59,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
59
59
  return (mod && mod.__esModule) ? mod : { "default": mod };
60
60
  };
61
61
  exports.__esModule = true;
62
- var react_redux_1 = require("react-redux");
63
- var isString_1 = __importDefault(require("lodash-es/isString"));
64
- var isFunction_1 = __importDefault(require("lodash-es/isFunction"));
65
62
  var isEqual_1 = __importDefault(require("lodash-es/isEqual"));
63
+ var isFunction_1 = __importDefault(require("lodash-es/isFunction"));
64
+ var isString_1 = __importDefault(require("lodash-es/isString"));
66
65
  var uniqBy_1 = __importDefault(require("lodash-es/uniqBy"));
67
66
  var react_1 = require("react");
67
+ var react_redux_1 = require("react-redux");
68
68
  var react_use_1 = require("react-use");
69
69
  var fields_1 = require("../actions/fields");
70
- var data_1 = require("../utils/data");
71
- var index_1 = require("./index");
72
70
  var fields_2 = require("../reducers/fields");
71
+ var data_1 = require("../utils/data");
73
72
  var text_1 = require("../utils/text");
73
+ var index_1 = require("./index");
74
74
  var defaultProps = {
75
75
  autoComplete: {
76
76
  enable: false,
@@ -117,7 +117,9 @@ function useDataProvider(config) {
117
117
  }
118
118
  }, [prevInitialItems, initialItems]);
119
119
  // Normalize autoComplete
120
- var autoComplete = (0, react_1.useMemo)(function () { return (__assign(__assign({}, defaultProps.autoComplete), (typeof config.autoComplete === 'boolean') ? { enable: config.autoComplete } : config.autoComplete)); }, [config.autoComplete]);
120
+ var autoComplete = (0, react_1.useMemo)(function () { return (__assign(__assign({}, defaultProps.autoComplete), (typeof config.autoComplete === 'boolean') ? {
121
+ enable: config.autoComplete
122
+ } : config.autoComplete)); }, [config.autoComplete]);
121
123
  var dataProvider = (0, react_1.useMemo)(function () { return (__assign({ action: '', actionMethod: 'get', params: null, onSearch: null }, config.dataProvider)); }, [config.dataProvider]);
122
124
  // Fetch data
123
125
  var delayTimerRef = (0, react_1.useRef)(null);
@@ -135,7 +137,11 @@ function useDataProvider(config) {
135
137
  searchHandler = dataProvider.onSearch || (function (method, params) { return components.http
136
138
  .send(dataProvider.actionMethod, method, params)
137
139
  .then(function (response) { return response.data; }); });
138
- result = searchHandler(dataProvider.action, __assign(__assign(__assign({ query: config.query }, (isAuto ? { ids: config.initialSelectedIds } : null)), (((_a = config.initialSelectedIds) === null || _a === void 0 ? void 0 : _a.length) > 0 ? { withIds: config.initialSelectedIds } : null)), config.dataProvider.params));
140
+ result = searchHandler(dataProvider.action, __assign(__assign(__assign({ query: config.query }, (isAuto ? {
141
+ ids: config.initialSelectedIds
142
+ } : null)), (((_a = config.initialSelectedIds) === null || _a === void 0 ? void 0 : _a.length) > 0 ? {
143
+ withIds: config.initialSelectedIds
144
+ } : null)), config.dataProvider.params));
139
145
  if (!(result && (0, isFunction_1["default"])(result.then))) return [3 /*break*/, 2];
140
146
  setIsLoading(true);
141
147
  return [4 /*yield*/, result];
@@ -13,12 +13,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  };
14
14
  exports.__esModule = true;
15
15
  exports.getFlattenedItems = void 0;
16
- var isEqual_1 = __importDefault(require("lodash-es/isEqual"));
17
- var isEmpty_1 = __importDefault(require("lodash-es/isEmpty"));
18
- var isArray_1 = __importDefault(require("lodash-es/isArray"));
19
- var isNil_1 = __importDefault(require("lodash-es/isNil"));
20
16
  var difference_1 = __importDefault(require("lodash-es/difference"));
21
17
  var intersection_1 = __importDefault(require("lodash-es/intersection"));
18
+ var isArray_1 = __importDefault(require("lodash-es/isArray"));
19
+ var isEmpty_1 = __importDefault(require("lodash-es/isEmpty"));
20
+ var isEqual_1 = __importDefault(require("lodash-es/isEqual"));
21
+ var isNil_1 = __importDefault(require("lodash-es/isNil"));
22
22
  var pullAll_1 = __importDefault(require("lodash-es/pullAll"));
23
23
  var react_1 = require("react");
24
24
  var react_use_1 = require("react-use");
@@ -3,6 +3,7 @@ import { IComponents } from '../providers/ComponentsProvider';
3
3
  declare global {
4
4
  interface Window {
5
5
  APP_PRELOADED_DATA: any;
6
+ APP_PRELOADED_ERRORS: any;
6
7
  }
7
8
  }
8
9
  export interface IFetchConfig {
@@ -10,16 +11,20 @@ export interface IFetchConfig {
10
11
  url?: string;
11
12
  method?: 'get' | 'post' | string;
12
13
  params?: Record<string, unknown>;
14
+ /**
15
+ * Применяется для ssr. Если fetch критический — ssr вернет страницу со статус кодом ошибки.
16
+ * @default false
17
+ */
18
+ isCritical?: boolean;
13
19
  onFetch?: (config: IFetchConfig, components: IComponents, addCancelToken: (token: any) => any) => any;
14
20
  }
15
21
  export interface IFetchResult<T> {
16
- data?: {
17
- providerData?: {
18
- type: string;
19
- value: string;
20
- };
21
- [key: string]: unknown;
22
- } | T;
22
+ data?: T | undefined | null | {
23
+ statusCode: number;
24
+ error?: string;
25
+ message?: string;
26
+ errors?: Record<string, unknown>;
27
+ };
23
28
  isLoading: boolean;
24
29
  fetch: (newParams?: Record<string, unknown>) => void;
25
30
  axiosError: AxiosError | null;
package/hooks/useFetch.js CHANGED
@@ -51,10 +51,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
51
51
  };
52
52
  exports.__esModule = true;
53
53
  exports.fetchData = exports.defaultFetchHandler = exports.getConfigId = exports.normalizeConfig = void 0;
54
+ var axios_1 = __importDefault(require("axios"));
55
+ var trim_1 = __importDefault(require("lodash-es/trim"));
54
56
  var react_1 = require("react");
55
57
  var react_use_1 = require("react-use");
56
- var trim_1 = __importDefault(require("lodash-es/trim"));
57
- var axios_1 = __importDefault(require("axios"));
58
58
  var index_1 = require("./index");
59
59
  var normalizeConfig = function (config) { return (config
60
60
  ? __assign({ id: null, url: '', method: 'get', params: {}, options: null, onFetch: null }, config) : null); };
@@ -105,11 +105,13 @@ function useFetch(rawConfig) {
105
105
  var configId = (0, exports.getConfigId)(config);
106
106
  var ssrValueContext = (0, index_1.useSsr)();
107
107
  var preloadedData = process.env.IS_SSR ? ssrValueContext.preloadedData : window.APP_PRELOADED_DATA;
108
+ var preloadedErrors = process.env.IS_SSR ? ssrValueContext.preloadedErrors : window.APP_PRELOADED_ERRORS;
108
109
  var preloadedDataByConfigId = (preloadedData && configId) ? preloadedData[configId] : null;
110
+ var preloadedErrorByConfigId = (preloadedErrors && configId) ? preloadedErrors[configId] : null;
109
111
  // State for data and loading flag
110
112
  var _b = (0, react_1.useState)(preloadedDataByConfigId || null), data = _b[0], setData = _b[1];
111
- var _c = (0, react_1.useState)(null), axiosError = _c[0], setAxiosError = _c[1];
112
- var _d = (0, react_1.useState)(!!config && !data), isLoading = _d[0], setIsLoading = _d[1];
113
+ var _c = (0, react_1.useState)(preloadedErrorByConfigId || null), axiosError = _c[0], setAxiosError = _c[1];
114
+ var _d = (0, react_1.useState)(!!config && !data && !axiosError), isLoading = _d[0], setIsLoading = _d[1];
113
115
  // Cancel tokens
114
116
  var cancelTokens = (0, react_1.useRef)([]);
115
117
  var addCancelToken = function (token) { return cancelTokens.current.push(token); };
@@ -152,7 +154,7 @@ function useFetch(rawConfig) {
152
154
  });
153
155
  }, [components, config]);
154
156
  (0, react_use_1.useEffectOnce)(function () {
155
- if (!data) {
157
+ if (!data && !axiosError) {
156
158
  fetch();
157
159
  }
158
160
  });
package/hooks/useFile.js CHANGED
@@ -15,15 +15,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
15
15
  };
16
16
  exports.__esModule = true;
17
17
  exports.generateBackendUrl = exports.imagesMimeTypes = void 0;
18
- var react_1 = require("react");
19
- var react_use_1 = require("react-use");
18
+ var buildURL_1 = __importDefault(require("axios/lib/helpers/buildURL"));
20
19
  var fileup_core_1 = __importDefault(require("fileup-core"));
21
20
  var File_1 = __importDefault(require("fileup-core/lib/models/File"));
22
21
  var QueueCollection_1 = __importDefault(require("fileup-core/lib/models/QueueCollection"));
22
+ var difference_1 = __importDefault(require("lodash-es/difference"));
23
23
  var get_1 = __importDefault(require("lodash-es/get"));
24
24
  var isEqual_1 = __importDefault(require("lodash-es/isEqual"));
25
- var difference_1 = __importDefault(require("lodash-es/difference"));
26
- var buildURL_1 = __importDefault(require("axios/lib/helpers/buildURL"));
25
+ var react_1 = require("react");
26
+ var react_use_1 = require("react-use");
27
27
  var useInitial_1 = __importDefault(require("./useInitial"));
28
28
  var index_1 = require("./index");
29
29
  exports.imagesMimeTypes = [
@@ -55,10 +55,13 @@ function generateAcceptString(props) {
55
55
  }
56
56
  function useFile(props) {
57
57
  var http = (0, index_1.useComponents)().http;
58
- http.getAccessToken(); // TODO Run promise..
58
+ // TODO Run promise..
59
+ http.getAccessToken();
59
60
  var uploader = (0, useInitial_1["default"])(function () {
60
61
  var _a;
61
- return new fileup_core_1["default"](__assign(__assign({ backendUrl: generateBackendUrl(props), uploaderConfig: __assign(__assign({}, props.uploaderConfig), { headers: __assign(__assign({}, (_a = props.uploaderConfig) === null || _a === void 0 ? void 0 : _a.headers), { Authorization: 'Bearer ' + http._accessToken }) }) }, props.uploader), { dropArea: (props === null || props === void 0 ? void 0 : props.hasDropArea)
62
+ return new fileup_core_1["default"](__assign(__assign({ backendUrl: generateBackendUrl(props), uploaderConfig: __assign(__assign({}, props.uploaderConfig), { headers: __assign(__assign({}, (_a = props.uploaderConfig) === null || _a === void 0 ? void 0 : _a.headers), {
63
+ // TODO how to get access token wuthout promise?
64
+ Authorization: 'Bearer ' + http._accessToken }) }) }, props.uploader), { dropArea: (props === null || props === void 0 ? void 0 : props.hasDropArea)
62
65
  ? {
63
66
  className: props.uploader.dropArea.className,
64
67
  container: props.dropRef.current,
@@ -93,7 +96,9 @@ function useFile(props) {
93
96
  .map(function (item) {
94
97
  var path = item.title || item.label || item.uid || item.id;
95
98
  var resultHttpMessage = __assign(__assign({}, item), { id: item.id || item.uid, images: item.thumbnailUrl
96
- ? [{ url: item.thumbnailUrl }]
99
+ ? [{
100
+ url: item.thumbnailUrl
101
+ }]
97
102
  : null });
98
103
  var file = uploader.queue.getByUid(item.uid);
99
104
  if (file) {
@@ -5,23 +5,23 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  var _a;
6
6
  exports.__esModule = true;
7
7
  exports.runInitAction = exports.HTTP_STATUS_CODES = exports.STATUS_OK = exports.STATUS_ACCESS_DENIED = exports.STATUS_HTTP_ERROR = exports.STATUS_RENDER_ERROR = exports.STATUS_NOT_FOUND = exports.STATUS_LOADING = void 0;
8
- var react_1 = require("react");
8
+ var intersection_1 = __importDefault(require("lodash-es/intersection"));
9
9
  var isFunction_1 = __importDefault(require("lodash-es/isFunction"));
10
10
  var isObject_1 = __importDefault(require("lodash-es/isObject"));
11
- var upperFirst_1 = __importDefault(require("lodash-es/upperFirst"));
12
11
  var merge_1 = __importDefault(require("lodash-es/merge"));
13
- var intersection_1 = __importDefault(require("lodash-es/intersection"));
12
+ var upperFirst_1 = __importDefault(require("lodash-es/upperFirst"));
13
+ var react_1 = require("react");
14
14
  var react_use_1 = require("react-use");
15
- var Router_1 = require("../ui/nav/Router/Router");
16
- var useSsr_1 = __importDefault(require("./useSsr"));
17
15
  var useComponents_1 = __importDefault(require("./useComponents"));
18
- var router_1 = require("../reducers/router");
19
- var auth_1 = require("../reducers/auth");
20
- var useSelector_1 = __importDefault(require("./useSelector"));
21
- var auth_2 = require("../actions/auth");
22
16
  var useDispatch_1 = __importDefault(require("./useDispatch"));
17
+ var useSelector_1 = __importDefault(require("./useSelector"));
18
+ var useSsr_1 = __importDefault(require("./useSsr"));
19
+ var auth_1 = require("../actions/auth");
23
20
  var fields_1 = require("../actions/fields");
24
- var router_2 = require("../actions/router");
21
+ var router_1 = require("../actions/router");
22
+ var auth_2 = require("../reducers/auth");
23
+ var router_2 = require("../reducers/router");
24
+ var Router_1 = require("../ui/nav/Router/Router");
25
25
  exports.STATUS_LOADING = 'loading';
26
26
  exports.STATUS_NOT_FOUND = 'not_found';
27
27
  exports.STATUS_RENDER_ERROR = 'render_error';
@@ -72,24 +72,25 @@ var runInitAction = function (initAction, components, dispatch) { return (initAc
72
72
  }
73
73
  dispatch([
74
74
  // Meta models & enums
75
+ // TODO skip models
75
76
  Boolean(resultMeta) && (0, fields_1.setMeta)(resultMeta),
76
77
  // User auth
77
- (0, auth_2.setData)(result),
78
+ (0, auth_1.setData)(result),
78
79
  // User auth
79
- (0, auth_2.setUser)(resultUser),
80
+ (0, auth_1.setUser)(resultUser),
80
81
  ].filter(Boolean));
81
82
  })); };
82
83
  exports.runInitAction = runInitAction;
83
84
  function useLayout(initAction) {
84
85
  if (initAction === void 0) { initAction = null; }
85
86
  var _a = (0, useSelector_1["default"])(function (state) {
86
- var routesMap = (0, router_1.getRoutesMap)(state);
87
+ var routesMap = (0, router_2.getRoutesMap)(state);
87
88
  return {
88
- route: (0, router_1.getRoute)(state),
89
- user: (0, auth_1.getUser)(state),
90
- data: (0, auth_1.getData)(state),
91
- isInitialized: (0, auth_1.isInitialized)(state),
92
- initializeCounter: (0, auth_1.getInitializeCounter)(state),
89
+ route: (0, router_2.getRoute)(state),
90
+ user: (0, auth_2.getUser)(state),
91
+ data: (0, auth_2.getData)(state),
92
+ isInitialized: (0, auth_2.isInitialized)(state),
93
+ initializeCounter: (0, auth_2.getInitializeCounter)(state),
93
94
  redirectPageId: state.auth.redirectPageId,
94
95
  loginRouteId: routesMap && Object.keys(routesMap).find(function (name) { return routesMap[name].role === Router_1.ROUTER_ROLE_LOGIN; })
95
96
  };
@@ -100,10 +101,10 @@ function useLayout(initAction) {
100
101
  (0, react_use_1.useMount)(function () {
101
102
  // Callback for load initial page data (return promise)
102
103
  if ((0, isFunction_1["default"])(initAction)) {
103
- dispatch((0, auth_2.init)(true));
104
+ dispatch((0, auth_1.init)(true));
104
105
  }
105
106
  else {
106
- dispatch((0, auth_2.setUser)(null));
107
+ dispatch((0, auth_1.setUser)(null));
107
108
  }
108
109
  });
109
110
  var initializeCounterPrev = (0, react_use_1.usePrevious)(initializeCounter);
@@ -115,7 +116,7 @@ function useLayout(initAction) {
115
116
  (0, exports.runInitAction)(initAction, components, dispatch)
116
117
  .then(function () {
117
118
  if (redirectPageId) {
118
- dispatch((0, router_2.goToRoute)(redirectPageId));
119
+ dispatch((0, router_1.goToRoute)(redirectPageId));
119
120
  }
120
121
  })["catch"](function (e) {
121
122
  setError(e);
@@ -136,11 +137,12 @@ function useLayout(initAction) {
136
137
  var pageRoles = (route === null || route === void 0 ? void 0 : route.roles) || [];
137
138
  var userRoles = [].concat((user === null || user === void 0 ? void 0 : user.role) || []).concat((user === null || user === void 0 ? void 0 : user.roles) || []);
138
139
  if (userRoles.length === 0) {
139
- userRoles.push(null); // Guest
140
+ // Guest
141
+ userRoles.push(null);
140
142
  }
141
143
  if ((0, intersection_1["default"])(pageRoles, userRoles).length === 0) {
142
144
  if (loginRouteId && route.id !== loginRouteId) {
143
- dispatch((0, router_2.goToRoute)(loginRouteId));
145
+ dispatch((0, router_1.goToRoute)(loginRouteId));
144
146
  }
145
147
  else {
146
148
  status = exports.STATUS_ACCESS_DENIED;
@@ -1,12 +1,12 @@
1
1
  import { IInfiniteScrollProps } from '@steroidsjs/core/ui/list/InfiniteScroll/InfiniteScroll';
2
- import { IAddressBarConfig } from '../hooks/useAddressBar';
3
2
  import { IList } from '../actions/list';
3
+ import { Model } from '../components/MetaComponent';
4
+ import { IAddressBarConfig } from '../hooks/useAddressBar';
5
+ import { IFormProps } from '../ui/form/Form/Form';
6
+ import { IEmptyProps } from '../ui/list/Empty/Empty';
4
7
  import { ILayoutNamesProps } from '../ui/list/LayoutNames/LayoutNames';
5
8
  import { IPaginationProps } from '../ui/list/Pagination/Pagination';
6
9
  import { IPaginationSizeProps } from '../ui/list/PaginationSize/PaginationSize';
7
- import { IEmptyProps } from '../ui/list/Empty/Empty';
8
- import { IFormProps } from '../ui/form/Form/Form';
9
- import { Model } from '../components/MetaComponent';
10
10
  export type ListControlPosition = 'top' | 'bottom' | 'both' | string;
11
11
  export interface ISortConfig {
12
12
  /**