@steroidsjs/core 3.0.0-beta.98 → 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 +15226 -6277
- package/en.json +151 -84
- 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 +94 -17
- package/ui/content/CalendarSystem/CalendarSystem.js +66 -77
- 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.d.ts +2 -1
- package/ui/content/CalendarSystem/hooks/useCalendarSystemEventGroupModals.js +13 -5
- 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 +109 -0
- package/ui/content/Chat/Chat.js +52 -0
- package/ui/content/Chat/constants/timeTemplatesAndUnits.d.ts +8 -0
- package/ui/content/Chat/constants/timeTemplatesAndUnits.js +11 -0
- package/ui/content/Chat/hooks/useChat.d.ts +12 -0
- package/ui/content/Chat/hooks/useChat.js +58 -0
- package/ui/content/Chat/index.d.ts +2 -0
- package/ui/content/Chat/index.js +7 -0
- package/ui/content/Chat/utils/addNewMessageIntoGroupedMessages.d.ts +5 -0
- package/ui/content/Chat/utils/addNewMessageIntoGroupedMessages.js +61 -0
- package/ui/content/Chat/utils/calculateMessageTimeAgo.d.ts +1 -0
- package/ui/content/Chat/utils/calculateMessageTimeAgo.js +26 -0
- package/ui/content/Chat/utils/getMessagesGroupedByDate.d.ts +4 -0
- package/ui/content/Chat/utils/getMessagesGroupedByDate.js +56 -0
- package/ui/content/Chat/utils/index.d.ts +5 -0
- package/ui/content/Chat/utils/index.js +12 -0
- 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/content/index.d.ts +2 -1
- package/ui/content/index.js +3 -1
- 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
package/en.json
CHANGED
|
@@ -819,92 +819,159 @@
|
|
|
819
819
|
"Компонент для представления данных коллекции в виде иерархической структуры.": "A component for representing collection data in the form of a hierarchical structure.",
|
|
820
820
|
"Уникальный идентификатор,\nиспользуется для сохранения состояния открыта или закрыта ячейка": "Unique identifier \nused to save the open or closed state of a cell",
|
|
821
821
|
"Включает обработку вложенных данных из items": "Enables the processing of nested data from items",
|
|
822
|
-
"Callback вызываемый при нажатии на смену года или месяца в шапке Calendar": "",
|
|
823
|
-
"Пользовательский цвет для чекбокса": "",
|
|
824
|
-
"Кастомный домен": "",
|
|
825
|
-
"Куки для режима ssr": "",
|
|
826
|
-
"Ключ для хранения токена в куках": "",
|
|
827
|
-
"Url для http запросов": "",
|
|
822
|
+
"Callback вызываемый при нажатии на смену года или месяца в шапке Calendar": "Callback called when changing the year or month in the Calendar header",
|
|
823
|
+
"Пользовательский цвет для чекбокса": "Custom color for checkbox",
|
|
824
|
+
"Кастомный домен": "Custom domain",
|
|
825
|
+
"Куки для режима ssr": "Cookies for SSR mode",
|
|
826
|
+
"Ключ для хранения токена в куках": "Key for storing the token in cookies",
|
|
827
|
+
"Url для http запросов": "URL for HTTP requests",
|
|
828
|
+
"Срок хранения токена в хранилийе в днях": "Token storage duration in days",
|
|
829
|
+
"Имя хранилища для токена (local, session, или cookie)": "Token storage name (local, session, or cookie)",
|
|
830
|
+
"Ключ токена авторизации для локального хранилища": "Authorization token key for local storage",
|
|
831
|
+
"Запрос на обновление токена авторизации": "Authorization token refresh request",
|
|
832
|
+
"Хендлер для авторизации": "Authorization handler",
|
|
833
|
+
"Функция, которая вызывается на закрытие соединения": "Function called on connection closure",
|
|
834
|
+
"Функция, которая вызывается на отправку сообщения": "Function called on message sending",
|
|
835
|
+
"Функция, которая вызывается на открытие соединения": "Function called on connection opening",
|
|
836
|
+
"Массив streams": "Array of streams",
|
|
837
|
+
"url для websocket": "WebSocket URL",
|
|
838
|
+
"Колонки канбан доски": "Kanban board columns",
|
|
839
|
+
"Идентификатор канбан доски": "Kanban board identifier",
|
|
840
|
+
"Обработчик события окончания перетаскивания карточки или колонки": "Drag-and-drop card or column end event handler",
|
|
841
|
+
"Метод для добавления css-класса к элементу": "Method for adding a CSS class to an element",
|
|
842
|
+
"Утилита для создания css-классов по БЭМ": "Utility for creating CSS classes according to BEM",
|
|
843
|
+
"Метод для соединения нескольких classNames": "Method for combining multiple classNames",
|
|
844
|
+
"Метод для удаления css-класса у элемента": "Method for removing a CSS class from an element",
|
|
845
|
+
"Метод, который вызывается после запроса": "Method called after a request",
|
|
846
|
+
"Вызов метода delete": "Method call to delete",
|
|
847
|
+
"Вызов метода get": "Method call to get",
|
|
848
|
+
"Получение токена": "Token retrieval",
|
|
849
|
+
"Получение конфига для axios": "Get config for axios",
|
|
850
|
+
"Получение экземпляра axios": "Get axios instance",
|
|
851
|
+
"Получение url по методу": "Get URL by method",
|
|
852
|
+
"Метод, который можно вызвать при login": "Method callable on login",
|
|
853
|
+
"Метод, который можно вызвать при logout": "Method callable on logout",
|
|
854
|
+
"Вызов метода post": "Method call to post",
|
|
855
|
+
"Удаление токена": "Token deletion",
|
|
856
|
+
"Сбросить конфиг": "Reset configuration",
|
|
857
|
+
"Вызов http-метода": "HTTP method call",
|
|
858
|
+
"Изменение токена": "Token change",
|
|
859
|
+
"Изменение csrf токена": "CSRF token change",
|
|
860
|
+
"Получить модель": "Get model",
|
|
861
|
+
"Получить тип": "Get type",
|
|
862
|
+
"Форматирование модели модели": "Model formatting",
|
|
863
|
+
"Форматирование названия модели": "Model name formatting",
|
|
864
|
+
"Изменить модель": "Change model",
|
|
865
|
+
"Изменить тип": "Change type",
|
|
866
|
+
"Закрытие websocket соединения": "Close WebSocket connection",
|
|
867
|
+
"Открытие websocket соединения": "Open WebSocket connection",
|
|
868
|
+
"Подписка на streams": "Subscribe to streams",
|
|
869
|
+
"Подписка на stream": "Subscribe to a stream",
|
|
870
|
+
"Отписка от streams": "Unsubscribe from streams",
|
|
871
|
+
"Отписка от stream": "Unsubscribe from a stream",
|
|
872
|
+
"Отменить прослушивание метрик": "Cancel metric listening",
|
|
873
|
+
"Отписаться от метрик": "Unsubscribe from metrics",
|
|
874
|
+
"Провайдеры": "Providers",
|
|
875
|
+
"Редьюсеры": "Reducers",
|
|
876
|
+
"Хранилище": "Store",
|
|
877
|
+
"Вариация HttpComponent с функционалом обновления токена авторизации": "HttpComponent variation with authorization token refresh functionality",
|
|
878
|
+
"Компонент для локализации приложения. Поддерживает конфигурацию языка и временной зоны": "Component for application localization. Supports language and time zone configuration",
|
|
879
|
+
"Компонент для добавления метрик в приложение (например яндекс метрики)": "Component for adding metrics to the application (e.g., Yandex.Metrics)",
|
|
880
|
+
"Поменять счетчики": "Change counters",
|
|
881
|
+
"Инициализация компонента": "Component initialization",
|
|
882
|
+
"Старт": "Start",
|
|
883
|
+
"Добавление редьюсеров": "Add reducers",
|
|
884
|
+
"Конфигурация": "Configuration",
|
|
885
|
+
"Метод для dispatch": "Method for dispatch",
|
|
886
|
+
"Метод, который вызывается при ошибке": "Method called on error",
|
|
887
|
+
"Получение состояния": "Get state",
|
|
888
|
+
"Инициализация": "Initialization",
|
|
889
|
+
"Инициализация хранилища": "Storage initialization",
|
|
890
|
+
"Подписка": "Subscription",
|
|
891
|
+
"Компонент для создания websocket взаимодействия": "Component for creating WebSocket interaction",
|
|
892
|
+
"Получить значение из хранилища.": "Get value from storage",
|
|
893
|
+
"Удалить значение из хранилища.": "Remove value from storage",
|
|
894
|
+
"Установить значение в хранилище.": "Set value in storage",
|
|
895
|
+
"Включает обработку вложенных данных из items вида [{id: 1, name: 'John', items: [...]}]": "Enables processing of nested data from items like [{id: 1, name: 'John', items: [...]}]",
|
|
896
|
+
"\nКомпонент `FileField` представляет собой поле формы для загрузки файлов.\nОн использует хук `useFile` для управления состоянием файлов и выполнения операций с файлами, таких как выбор и удаление.\nКомпонент поддерживает различные варианты отображения файлов (список или стена) с помощью перечисления `FilesLayout`.\nНа backendUrl по дефолту файл отправляется в теле запроса в виде бинарного кода.\nЧтобы отправлять файл в виде form-data (например в таком виде принимает файл FileModule в библиотеке steroidsjs/nest),\nнужно передать в `FileField` пропс uploaderConfig, в котором нужно указать поле useFormData: true.\n": "The `FileField` component represents a form field for uploading files.\nIt uses the `useFile` hook to manage the state of files and perform file operations such as selection and deletion.\nThe component supports various file display options (list or wall) using the `FilesLayout` enum.\nBy default, files are sent as binary data in the request body to the backend URL.\nTo send a file as form-data (e.g., as accepted by the FileModule in the steroidsjs/nest library),\nyou need to pass the `uploaderConfig` prop to `FileField` and specify the `useFormData: true` field.\n",
|
|
897
|
+
"Массив исполнителей, которых можно назначить для выполнения задачи": "Array of performers that can be assigned to a task",
|
|
898
|
+
"Общий контекст обертка из библиотеки react-beautiful-dnd": "Common context wrapper from the react-beautiful-dnd library",
|
|
899
|
+
"Компонент обертка для регистрации элемента который можно переместить из библиотеки react-beautiful-dnd": "Wrapper component for registering a draggable item from the react-beautiful-dnd library",
|
|
900
|
+
"Компонент обертка для инициализации области куда можно переместить элемент из библиотеки react-beautiful-dnd": "Wrapper component for initializing the area where an item can be moved from the react-beautiful-dnd library",
|
|
901
|
+
"Идентификатор последней созданной задачи, нужен для определения последовательности id для новых задач": "Identifier of the last created task, needed to determine the sequence of IDs for new tasks",
|
|
902
|
+
"Обработчик события создания карточки": "Card creation event handler",
|
|
903
|
+
"Обработчик события окончания перетаскивания карточки или колонки\nВ result передается объект с информацией о событии": "Event handler for ending card or column dragging\nThe `result` parameter contains an object with event information",
|
|
904
|
+
"Обработчик события редактирования карточки": "Card editing event handler",
|
|
905
|
+
"Массив тегов для задач": "Array of tags for tasks",
|
|
906
|
+
"\nКомпонент в котором можно расположить различные элементы, например графики, таблицы на доске\n": "\nA component in which various elements can be placed, such as graphics, tables on a board\n",
|
|
907
|
+
"Заголовок для элемента": "Title for the element",
|
|
908
|
+
"Кастомная вьюшка для элемента": "Custom view for the element",
|
|
909
|
+
"Элементы дашборда": "Dashboard elements",
|
|
910
|
+
"Свойства для модального окна": "Properties for a modal window",
|
|
911
|
+
"Параметры для групп событий": "Event group parameters",
|
|
912
|
+
"Свойства для модального окна группы событий": "Properties for a modal window of event groups",
|
|
913
|
+
"Функция, которая вызовется при смене типа календаря": "Function called when the calendar type changes",
|
|
914
|
+
"Внутреннее описание события": "Internal event description",
|
|
915
|
+
"Идентификатор": "Identifier",
|
|
916
|
+
"События группы": "Event group",
|
|
917
|
+
"Название группы": "Group name",
|
|
918
|
+
"Идентификатор чата": "Chat identifier",
|
|
919
|
+
"Данные о текущем пользователе, нужны для отправки сообщений и определения сообщений пользователя": "Data about the current user, needed for sending messages and determining user messages",
|
|
920
|
+
"Коллекция сообщений": "Message collection",
|
|
921
|
+
"Event sending event handler": "Event sending event handler",
|
|
922
|
+
"\nКомплексный компонент календарь служит для планирования событий и их отображения в календаре.\n\nКомпонент умеет отображать события с помощью недельной сетки с шагом в 1 час,\nа также переключать отображение на сетку по месяцам с шагом 1 день.\nПрисутствует возможность добавлять в календарь события и создавать новые группы событий.\n\n": "The complex `Calendar` component is used for event planning and display in a calendar.\nThe component can display events using a weekly grid with a 1-hour interval\nand can switch to a monthly grid with a 1-day interval.\nIt also allows adding events to the calendar and creating new event groups.",
|
|
923
|
+
"Этот компонент позволяет создавать в проекте графики разных типов, используя библиотеки nivo, react-vis и другие.\n Под капотом для графиков могут использоваться различные библиотеки в зависимости от предпочтений и потребностей проекта.\n Для работы с nivo графиками, необходимо установить в проекте зависимости @nivo/core и соответствующий пакет графика, например @nivo/line.\n Компонент графика, независимо от выбранной библиотеки, нужно передать в пропс chartComponent.": "This component allows creating various types of charts in the project using libraries like nivo, react-vis, and others.\nDifferent chart libraries can be used under the hood depending on project preferences and needs. To work with nivo charts, you need to install dependencies like @nivo/core and the appropriate chart package, e.g., @nivo/line. Regardless of the chosen library, you need to pass the `chartComponent` prop for the chart component.",
|
|
924
|
+
"\nКомплексный компонент `Chat` предназначен для коммуникации пользователей с помощью текстовых сообщений.\n": "The complex `Chat` component is designed for user communication through text messages.\n",
|
|
925
|
+
"\nКомпонент `Kanban` позволяет создать доску для управления задачами.\nКоличество столбцов задается с помощью пропа `columns`.\nЗадачи на доске можно создавать, редактировать и перемещать с визуальным отображением.\n\nДля работы этого компонента необходимо установить в проекте зависимости `react-beautiful-dnd`\nи передать в пропсы `droppableComponent`, `draggableComponent` и `dndContext`\nкомпоненты `Droppable`, `Draggable` и `DragDropContext` соответственно.\n": "The `Kanban` component allows creating a board for task management. The number of columns is set using the `columns` prop.\nTasks on the board can be created, edited, and moved with visual representation.\nTo use this component, you need to install the `react-beautiful-dnd` dependencies in the project\nand pass the `Droppable`, `Draggable`, and `DragDropContext` components as `droppableComponent`, `draggableComponent`, and `dndContext` props, respectively.",
|
|
926
|
+
"\nПоле ввода почты. Этот компонент представляет собой поле ввода почты.\n\n": "Email input field. This component represents an email input field.",
|
|
927
|
+
"\nСоздает список из сгруппированных полей формы.\n": "Creates a list of grouped form fields.",
|
|
928
|
+
"\nКомпонент `Skeleton` представляет собой заглушку для отображения временных данных\nво время загрузки или ожидания загрузки реальных данных.\n": "The `Skeleton` component serves as a placeholder for displaying temporary data during loading or while waiting for real data.",
|
|
929
|
+
"\nКомпонент `ControlsColumn` предоставляет колонку с контролами.\n": "The `ControlsColumn` component provides a column with controls.",
|
|
930
|
+
"\nКомпонент для представления данных коллекции в виде иерархической структуры.\n": "A component for presenting collection data in the form of a hierarchical structure.",
|
|
931
|
+
"\nС помощью компонента `Link` вы можете легко настраивать цветовую схему элементов ссылок.\n": "With the `Link` component, you can easily customize the color scheme of link elements.",
|
|
932
|
+
"\nКомпонент навигации позволяет переключаться между группами связанного контента.\n\n": "The navigation component allows switching between groups of related content.",
|
|
933
|
+
"Кнопки\nМогут служить в качестве настраиваемых контроллов для создания функционала": "Buttons\nCan serve as customizable controls to create functionality",
|
|
934
|
+
"Фиксированная высота обертки в пикселях": "Fixed wrapper height in pixels",
|
|
935
|
+
"Чекбоксы\nМогут служить в качестве настраиваемых контроллов для создания функционала": "Checkboxes\nCan serve as customizable controls to create functionality",
|
|
936
|
+
"Заголовок графика": "Chart title",
|
|
828
937
|
"Срок хранения токена в хранилище в днях": "",
|
|
829
|
-
"
|
|
830
|
-
"
|
|
831
|
-
"
|
|
832
|
-
"
|
|
833
|
-
"
|
|
834
|
-
"Функция, которая вызывается на отправку сообщения": "",
|
|
835
|
-
"Функция, которая вызывается на открытие соединения": "",
|
|
836
|
-
"Массив streams": "",
|
|
837
|
-
"url для websocket": "",
|
|
838
|
-
"Колонки канбан доски": "",
|
|
839
|
-
"Идентификатор канбан доски": "",
|
|
840
|
-
"Обработчик события окончания перетаскивания карточки или колонки": "",
|
|
841
|
-
"Метод для добавления css-класса к элементу": "",
|
|
842
|
-
"Утилита для создания css-классов по БЭМ": "",
|
|
843
|
-
"Метод для соединения нескольких classNames": "",
|
|
844
|
-
"Метод для удаления css-класса у элемента": "",
|
|
845
|
-
"Метод, который вызывается после запроса": "",
|
|
846
|
-
"Вызов метода delete": "",
|
|
847
|
-
"Вызов метода get": "",
|
|
848
|
-
"Получение токена": "",
|
|
849
|
-
"Получение конфига для axios": "",
|
|
850
|
-
"Получение экземпляра axios": "",
|
|
851
|
-
"Получение url по методу": "",
|
|
938
|
+
"Свойства для модалного окна группы событий": "",
|
|
939
|
+
"Внутреннее описания события": "",
|
|
940
|
+
"Кнопки\nМогут служить в качестве настаиваемых контроллов для создания функционала": "",
|
|
941
|
+
"Чекбоксы\nМогут служить в качестве настаиваемых контроллов для создания функционала": "",
|
|
942
|
+
"Иконка, которая отобразится слева от заголовка": "",
|
|
852
943
|
"Метод, который можно вызвать при login": "",
|
|
853
944
|
"Метод, который можно вызвать при logout": "",
|
|
854
|
-
"Вызов метода post": "",
|
|
855
|
-
"Удаление токена": "",
|
|
856
|
-
"Сбросить конфиг": "",
|
|
857
|
-
"Вызов http-метода": "",
|
|
858
|
-
"Изменение токена": "",
|
|
859
|
-
"Изменение csrf токена": "",
|
|
860
|
-
"Получить модель": "",
|
|
861
|
-
"Получить тип": "",
|
|
862
|
-
"Форматирование модели модели": "",
|
|
863
|
-
"Форматирование названия модели": "",
|
|
864
|
-
"Изменить модель": "",
|
|
865
|
-
"Изменить тип": "",
|
|
866
|
-
"Закрытие websocket соединения": "",
|
|
867
|
-
"Открытие websocket соединения": "",
|
|
868
|
-
"Подписка на streams": "",
|
|
869
|
-
"Подписка на stream": "",
|
|
870
|
-
"Отписка от streams": "",
|
|
871
|
-
"Отписка от stream": "",
|
|
872
|
-
"Отменить прослушивание метрик": "",
|
|
873
|
-
"Отписаться от метрик": "",
|
|
874
|
-
"Провайдеры": "",
|
|
875
|
-
"Редьюсеры": "",
|
|
876
|
-
"Хранилище": "",
|
|
877
|
-
"Вариация HttpComponent с функционалом обновления токена авторизации": "",
|
|
878
|
-
"Компонент для локализации приложения. Поддерживает конфигурацию языка и временной зоны": "",
|
|
879
|
-
"Компонент для добавления метрик в приложение (например яндекс метрики)": "",
|
|
880
|
-
"Поменять счетчики": "",
|
|
881
|
-
"Инициализация компонента": "",
|
|
882
|
-
"Старт": "",
|
|
883
|
-
"Добавление редьюсеров": "",
|
|
884
|
-
"Конфигурация": "",
|
|
885
|
-
"Метод для dispatch": "",
|
|
886
|
-
"Метод, который вызывается при ошибке": "",
|
|
887
945
|
"Получение состояние": "",
|
|
888
|
-
"
|
|
889
|
-
"
|
|
890
|
-
"
|
|
891
|
-
"
|
|
892
|
-
"
|
|
893
|
-
"
|
|
894
|
-
"
|
|
895
|
-
"
|
|
896
|
-
"
|
|
897
|
-
"
|
|
898
|
-
"
|
|
899
|
-
"
|
|
900
|
-
"Компонент
|
|
901
|
-
"
|
|
902
|
-
"
|
|
903
|
-
"
|
|
904
|
-
"
|
|
905
|
-
"
|
|
906
|
-
"
|
|
907
|
-
"
|
|
908
|
-
"
|
|
909
|
-
"
|
|
946
|
+
"\nСписок с вложенными чекбоксами. Используется в формах для создания иерархической структуры и выбора нескольких значений.\n": "",
|
|
947
|
+
"\nСоздает список из сгруппированных полей формы.\nДля загрузки файлов с помощью `FileField` внутри строк `FieldList`, нужно использовать форму с флагом `useRedux`.\n": "",
|
|
948
|
+
" Текущая страница, используется для корректного отображения пагинации": "",
|
|
949
|
+
" Количество элементов на странице, используется для корректного отображения пагинации": "",
|
|
950
|
+
" Параметры роутинга": "",
|
|
951
|
+
"Расстояние вложенных элементов от родителя для каждого уровня": "",
|
|
952
|
+
"Первичный ключ для доступа к вложенным элементам": "",
|
|
953
|
+
"Устанавливать ли фокус и показывать календарь сразу после рендера страницы": "",
|
|
954
|
+
"Заголовок для колонки таблицы": "",
|
|
955
|
+
"Будет ли отображён item?": "",
|
|
956
|
+
"Устанавливать ли фокус и показывать панель времени сразу после рендера страницы": "",
|
|
957
|
+
"Флаг, определяющий раскрывать вложенные элементы по клику на весь элемент или только на иконку": "",
|
|
958
|
+
"\nКомпонент для создания пошаговой формы. Предоставляет управление и синхронизацию состояния формы,\nа также список шагов формы для удобной навигации.\nПоля для шагов можно передавать как в виде компонентов, так и в виде объекта с названием поля.\nПозволяет выполнять отправку данных формы на сервер с возможностью валидации и перехода к неверно заполненным полям.\n\n": "",
|
|
959
|
+
"При повторном нажатии на выбранный элемент из дерева, он продолжит отображаться как активный.": "",
|
|
960
|
+
"Дополнительные свойства, которые передаются во view компонента": "",
|
|
961
|
+
"Пропсы для инпута загрузки файлов": "",
|
|
962
|
+
"Переопределение view React компонента для кастомизации отображения элемента инпута": "",
|
|
963
|
+
"Кастомный placeholder для инпута": "",
|
|
964
|
+
"Если true, то location.pathname будет совпадать с теми путями, которые содержат слеш в конце.\nНапример, если указать путь '/catalog/', тогда совпадение будет с '/catalog/' и '/catalog/chapter', но не '/catalog'.": "",
|
|
965
|
+
"Кастомная иконка, заменяющая иконку раскрытия по умолчанию": "",
|
|
966
|
+
"Показать иконку c лева от элемента": "",
|
|
967
|
+
"Опции маски для полей": "",
|
|
968
|
+
"Дополнительные кнопки": "",
|
|
969
|
+
"Свойства для Form": "",
|
|
970
|
+
"Свойства для кнопки продолжить/отправить": "",
|
|
971
|
+
"Свойства для кнопки возврата": "",
|
|
972
|
+
"Показывать ли шаги": "",
|
|
973
|
+
"Ориентация списка шагов формы": "",
|
|
974
|
+
"Коллекция полей и аттрибутов для каждого шага формы. Можно передавать как компонент, так и объект с полями.\nГлавное, чтобы внутри шага использовался один из способов.": "",
|
|
975
|
+
"Свойства для Steps": "",
|
|
976
|
+
"Флаг, который позволяет использовать вложенные роуты c указанием вложенного пути": ""
|
|
910
977
|
}
|
package/hooks/index.d.ts
CHANGED
|
@@ -18,9 +18,10 @@ import useSelector from './useSelector';
|
|
|
18
18
|
import useSsr from './useSsr';
|
|
19
19
|
import useUniqueId from './useUniqueId';
|
|
20
20
|
import useTheme from './useTheme';
|
|
21
|
-
import
|
|
22
|
-
import
|
|
21
|
+
import useTree from './useTree';
|
|
22
|
+
import useMonthGrid from '../ui/content/CalendarSystem/hooks/useMonthGrid';
|
|
23
|
+
import useWeekGrid from '../ui/content/CalendarSystem/hooks/useWeekGrid';
|
|
23
24
|
import useDisplayDate from '../ui/content/CalendarSystem/hooks/useDisplayDate';
|
|
24
25
|
import useCalendarControls from '../ui/content/CalendarSystem/hooks/useCalendarControls';
|
|
25
26
|
import useSaveCursorPosition from './useSaveCursorPosition';
|
|
26
|
-
export { useAbsolutePositioning, useAddressBar, useApplication, useBem, useComponents, useDataProvider, useDataSelect, useDispatch, useFetch, useFile, useForm, useInitial, useLayout, useList, useModel, useScreen, useSelector, useSsr, useUniqueId, useTheme,
|
|
27
|
+
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, };
|
package/hooks/index.js
CHANGED
|
@@ -3,7 +3,7 @@ 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.useSaveCursorPosition = exports.useCalendarControls = exports.useDisplayDate = exports.
|
|
6
|
+
exports.useSaveCursorPosition = exports.useCalendarControls = exports.useDisplayDate = exports.useWeekGrid = exports.useMonthGrid = exports.useTree = exports.useTheme = exports.useUniqueId = exports.useSsr = exports.useSelector = exports.useScreen = exports.useModel = exports.useList = exports.useLayout = exports.useInitial = exports.useForm = exports.useFile = exports.useFetch = exports.useDispatch = exports.useDataSelect = exports.useDataProvider = exports.useComponents = exports.useBem = exports.useApplication = exports.useAddressBar = exports.useAbsolutePositioning = void 0;
|
|
7
7
|
var useAbsolutePositioning_1 = __importDefault(require("./useAbsolutePositioning"));
|
|
8
8
|
exports.useAbsolutePositioning = useAbsolutePositioning_1["default"];
|
|
9
9
|
var useAddressBar_1 = __importDefault(require("./useAddressBar"));
|
|
@@ -44,10 +44,12 @@ var useUniqueId_1 = __importDefault(require("./useUniqueId"));
|
|
|
44
44
|
exports.useUniqueId = useUniqueId_1["default"];
|
|
45
45
|
var useTheme_1 = __importDefault(require("./useTheme"));
|
|
46
46
|
exports.useTheme = useTheme_1["default"];
|
|
47
|
-
var
|
|
48
|
-
exports.
|
|
49
|
-
var
|
|
50
|
-
exports.
|
|
47
|
+
var useTree_1 = __importDefault(require("./useTree"));
|
|
48
|
+
exports.useTree = useTree_1["default"];
|
|
49
|
+
var useMonthGrid_1 = __importDefault(require("../ui/content/CalendarSystem/hooks/useMonthGrid"));
|
|
50
|
+
exports.useMonthGrid = useMonthGrid_1["default"];
|
|
51
|
+
var useWeekGrid_1 = __importDefault(require("../ui/content/CalendarSystem/hooks/useWeekGrid"));
|
|
52
|
+
exports.useWeekGrid = useWeekGrid_1["default"];
|
|
51
53
|
var useDisplayDate_1 = __importDefault(require("../ui/content/CalendarSystem/hooks/useDisplayDate"));
|
|
52
54
|
exports.useDisplayDate = useDisplayDate_1["default"];
|
|
53
55
|
var useCalendarControls_1 = __importDefault(require("../ui/content/CalendarSystem/hooks/useCalendarControls"));
|
|
@@ -62,7 +62,6 @@ function useAbsolutePositioning(props) {
|
|
|
62
62
|
if (timerRef.current) {
|
|
63
63
|
clearTimeout(timerRef.current);
|
|
64
64
|
}
|
|
65
|
-
// TODO add time value to props
|
|
66
65
|
timerRef.current = setTimeout(function () { return setIsComponentExist(false); }, props.componentDestroyDelay);
|
|
67
66
|
}, [props.componentDestroyDelay]);
|
|
68
67
|
// Trigger on visible
|
package/hooks/useAddressBar.js
CHANGED
|
@@ -97,7 +97,6 @@ var queryReplace = function (model, location, values, useHash) {
|
|
|
97
97
|
});
|
|
98
98
|
var query = query_string_1["default"].stringify(result);
|
|
99
99
|
if (useHash) {
|
|
100
|
-
// TODO May be window.location?
|
|
101
100
|
query = '#' + query;
|
|
102
101
|
if (location.hash !== query) {
|
|
103
102
|
location.hash = query;
|
package/hooks/useApplication.js
CHANGED
|
@@ -98,6 +98,7 @@ exports.defaultComponents = {
|
|
|
98
98
|
}
|
|
99
99
|
};
|
|
100
100
|
function useApplication(config) {
|
|
101
|
+
var _a;
|
|
101
102
|
if (config === void 0) { config = {}; }
|
|
102
103
|
var useGlobal = config.useGlobal !== false;
|
|
103
104
|
//Extending dayjs / day.js with modules that used in steroids
|
|
@@ -134,6 +135,9 @@ function useApplication(config) {
|
|
|
134
135
|
if (config.onInit) {
|
|
135
136
|
config.onInit(components);
|
|
136
137
|
}
|
|
138
|
+
if ((_a = components === null || components === void 0 ? void 0 : components.locale) === null || _a === void 0 ? void 0 : _a.language) {
|
|
139
|
+
dayjs_1["default"].locale(components.locale.language);
|
|
140
|
+
}
|
|
137
141
|
}
|
|
138
142
|
// Application wrapper
|
|
139
143
|
var renderApplication = (0, react_1.useCallback)(function (children) {
|
|
@@ -154,6 +158,9 @@ function useApplication(config) {
|
|
|
154
158
|
}
|
|
155
159
|
return (React.createElement(react_redux_1.Provider, { store: components.store.store }, content));
|
|
156
160
|
}, [components, config, useGlobal]);
|
|
157
|
-
return {
|
|
161
|
+
return {
|
|
162
|
+
renderApplication: renderApplication,
|
|
163
|
+
components: components
|
|
164
|
+
};
|
|
158
165
|
}
|
|
159
166
|
exports["default"] = useApplication;
|
|
@@ -52,7 +52,17 @@ export interface IDataProvider {
|
|
|
52
52
|
export interface IDataProviderConfig {
|
|
53
53
|
/**
|
|
54
54
|
* Коллекция элементов
|
|
55
|
-
* @example
|
|
55
|
+
* @example
|
|
56
|
+
* [
|
|
57
|
+
* {
|
|
58
|
+
* id: 1,
|
|
59
|
+
* label: 'Krasnoyarsk'
|
|
60
|
+
* },
|
|
61
|
+
* {
|
|
62
|
+
* id: 2,
|
|
63
|
+
* label: 'Moscow'
|
|
64
|
+
* }
|
|
65
|
+
* ]
|
|
56
66
|
*/
|
|
57
67
|
items?: DataProviderItems;
|
|
58
68
|
/**
|
|
@@ -67,7 +77,12 @@ export interface IDataProviderConfig {
|
|
|
67
77
|
query?: string;
|
|
68
78
|
/**
|
|
69
79
|
* Настройки поиска
|
|
70
|
-
* @example
|
|
80
|
+
* @example
|
|
81
|
+
* {
|
|
82
|
+
* enable: true,
|
|
83
|
+
* minLength: 2,
|
|
84
|
+
* delay: 100
|
|
85
|
+
* }
|
|
71
86
|
*/
|
|
72
87
|
autoComplete?: boolean | IAutoCompleteConfig;
|
|
73
88
|
/**
|
package/hooks/useDataSelect.js
CHANGED
|
@@ -16,6 +16,9 @@ exports.getFlattenedItems = void 0;
|
|
|
16
16
|
var isEqual_1 = __importDefault(require("lodash-es/isEqual"));
|
|
17
17
|
var isArray_1 = __importDefault(require("lodash-es/isArray"));
|
|
18
18
|
var isNil_1 = __importDefault(require("lodash-es/isNil"));
|
|
19
|
+
var difference_1 = __importDefault(require("lodash-es/difference"));
|
|
20
|
+
var intersection_1 = __importDefault(require("lodash-es/intersection"));
|
|
21
|
+
var pullAll_1 = __importDefault(require("lodash-es/pullAll"));
|
|
19
22
|
var react_1 = require("react");
|
|
20
23
|
var react_use_1 = require("react-use");
|
|
21
24
|
var defaultProps = {
|
|
@@ -77,11 +80,25 @@ function useDataSelect(config) {
|
|
|
77
80
|
if (!config.multiple && ids.length > 1) {
|
|
78
81
|
ids = [ids[0]];
|
|
79
82
|
}
|
|
80
|
-
|
|
81
|
-
|
|
83
|
+
// If all elements of selectedIds are equal to ids, remove all elements
|
|
84
|
+
if ((0, isEqual_1["default"])(selectedIds, ids)) {
|
|
85
|
+
setSelectedIdsInternal([]);
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
// Check if all elements from ids are contained in selectedIds
|
|
89
|
+
var intersection = (0, intersection_1["default"])(selectedIds, ids);
|
|
90
|
+
// If all elements are contained, remove them from sourceArray
|
|
91
|
+
if ((0, isEqual_1["default"])(intersection, ids)) {
|
|
92
|
+
var prevSelectedIds = __spreadArray([], selectedIds, true);
|
|
93
|
+
(0, pullAll_1["default"])(prevSelectedIds, ids);
|
|
94
|
+
setSelectedIdsInternal((prevSelectedIds || []).sort());
|
|
82
95
|
return;
|
|
83
96
|
}
|
|
84
|
-
|
|
97
|
+
// If not all elements are contained, add new ids
|
|
98
|
+
if (!(0, isEqual_1["default"])(intersection, ids)) {
|
|
99
|
+
var difference = (0, difference_1["default"])(ids, selectedIds);
|
|
100
|
+
setSelectedIdsInternal(__spreadArray(__spreadArray([], selectedIds, true), difference, true).sort());
|
|
101
|
+
}
|
|
85
102
|
}
|
|
86
103
|
else {
|
|
87
104
|
var id_1 = ids;
|
|
@@ -108,7 +125,7 @@ function useDataSelect(config) {
|
|
|
108
125
|
setIsOpened(false);
|
|
109
126
|
}
|
|
110
127
|
}
|
|
111
|
-
}, [config.multiple, selectedIds
|
|
128
|
+
}, [config.multiple, selectedIds]);
|
|
112
129
|
var setSelectedAll = (0, react_1.useCallback)(function () {
|
|
113
130
|
var itemsIds = flattenedItems.map(function (item) { return item.id; });
|
|
114
131
|
setSelectedIds(itemsIds);
|
package/hooks/useFetch.js
CHANGED
|
@@ -160,6 +160,11 @@ function useFetch(rawConfig) {
|
|
|
160
160
|
(0, react_use_1.useUpdateEffect)(function () {
|
|
161
161
|
fetch();
|
|
162
162
|
}, [fetch]);
|
|
163
|
-
return {
|
|
163
|
+
return {
|
|
164
|
+
data: data,
|
|
165
|
+
isLoading: isLoading,
|
|
166
|
+
fetch: fetch,
|
|
167
|
+
axiosError: axiosError
|
|
168
|
+
};
|
|
164
169
|
}
|
|
165
170
|
exports["default"] = useFetch;
|
package/hooks/useFile.d.ts
CHANGED
package/hooks/useFile.js
CHANGED
|
@@ -14,6 +14,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
14
14
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
15
|
};
|
|
16
16
|
exports.__esModule = true;
|
|
17
|
+
exports.generateBackendUrl = void 0;
|
|
17
18
|
var react_1 = require("react");
|
|
18
19
|
var react_use_1 = require("react-use");
|
|
19
20
|
var fileup_core_1 = __importDefault(require("fileup-core"));
|
|
@@ -42,6 +43,7 @@ function generateBackendUrl(props) {
|
|
|
42
43
|
imagesExactSize: props.imagesExactSize
|
|
43
44
|
});
|
|
44
45
|
}
|
|
46
|
+
exports.generateBackendUrl = generateBackendUrl;
|
|
45
47
|
function useFile(props) {
|
|
46
48
|
var http = (0, index_1.useComponents)().http;
|
|
47
49
|
http.getAccessToken(); // TODO Run promise..
|
package/hooks/useList.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { ITreeTableItem } from '../ui/list/TreeTable/TreeTable';
|
|
2
1
|
import { IAddressBarConfig } from '../hooks/useAddressBar';
|
|
3
2
|
import { IList } from '../actions/list';
|
|
4
3
|
import { ILayoutNamesProps } from '../ui/list/LayoutNames/LayoutNames';
|
|
@@ -49,27 +48,53 @@ export interface IListConfig {
|
|
|
49
48
|
actionMethod?: HttpMethod;
|
|
50
49
|
/**
|
|
51
50
|
* Подключение пагинации
|
|
52
|
-
* @example
|
|
51
|
+
* @example
|
|
52
|
+
* {
|
|
53
|
+
* loadMore: true
|
|
54
|
+
* }
|
|
53
55
|
*/
|
|
54
56
|
pagination?: boolean | IPaginationProps;
|
|
55
57
|
/**
|
|
56
58
|
* Переключение количества элементов в списке
|
|
57
|
-
* @example
|
|
59
|
+
* @example
|
|
60
|
+
* {
|
|
61
|
+
* sizes: [3, 6, 9],
|
|
62
|
+
* defaultValue: 3
|
|
63
|
+
* }
|
|
58
64
|
*/
|
|
59
65
|
paginationSize?: boolean | IPaginationSizeProps;
|
|
60
66
|
/**
|
|
61
67
|
* Подключение сортировки
|
|
62
|
-
* @example
|
|
68
|
+
* @example
|
|
69
|
+
* {
|
|
70
|
+
* enable: true,
|
|
71
|
+
* defaultSort: 'startDate'
|
|
72
|
+
* }
|
|
63
73
|
*/
|
|
64
74
|
sort?: boolean | ISortConfig;
|
|
65
75
|
/**
|
|
66
76
|
* Варианты расположения элементов коллекции
|
|
67
|
-
* @example
|
|
77
|
+
* @example
|
|
78
|
+
* {
|
|
79
|
+
* items: [
|
|
80
|
+
* {
|
|
81
|
+
* id: 'list',
|
|
82
|
+
* label: 'List'
|
|
83
|
+
* },
|
|
84
|
+
* {
|
|
85
|
+
* id: 'grid',
|
|
86
|
+
* label: 'Grid'
|
|
87
|
+
* }
|
|
88
|
+
* ]
|
|
89
|
+
* }
|
|
68
90
|
*/
|
|
69
91
|
layout?: boolean | ILayoutNamesProps;
|
|
70
92
|
/**
|
|
71
93
|
* Заглушка в случае отсутствия элементов
|
|
72
|
-
* @example
|
|
94
|
+
* @example
|
|
95
|
+
* {
|
|
96
|
+
* text: 'Записи не найдены'
|
|
97
|
+
* }
|
|
73
98
|
*/
|
|
74
99
|
empty?: boolean | string | IEmptyProps;
|
|
75
100
|
/**
|
|
@@ -79,7 +104,15 @@ export interface IListConfig {
|
|
|
79
104
|
isLoading?: boolean;
|
|
80
105
|
/**
|
|
81
106
|
* Форма для поиска элементов
|
|
82
|
-
* @example
|
|
107
|
+
* @example
|
|
108
|
+
* {
|
|
109
|
+
* fields: ['title'],
|
|
110
|
+
* model: {
|
|
111
|
+
* attributes: [
|
|
112
|
+
* 'title:string:Название'
|
|
113
|
+
* ]
|
|
114
|
+
* }
|
|
115
|
+
* }
|
|
83
116
|
*/
|
|
84
117
|
searchForm?: Omit<IFormProps, 'formId'> & {
|
|
85
118
|
formId?: string;
|
|
@@ -124,7 +157,10 @@ export interface IListConfig {
|
|
|
124
157
|
scope?: string[];
|
|
125
158
|
/**
|
|
126
159
|
* Дополнительные параметры, значения которых нужно передавать в запросе для получения данных
|
|
127
|
-
* @example
|
|
160
|
+
* @example
|
|
161
|
+
* {
|
|
162
|
+
* tagName: 'MarketReviews'
|
|
163
|
+
* }
|
|
128
164
|
*/
|
|
129
165
|
query?: Record<string, unknown>;
|
|
130
166
|
/**
|
|
@@ -133,7 +169,15 @@ export interface IListConfig {
|
|
|
133
169
|
model?: string;
|
|
134
170
|
/**
|
|
135
171
|
* Модель для синхронизации значений формы с адресной строкой
|
|
136
|
-
* @example
|
|
172
|
+
* @example
|
|
173
|
+
* {
|
|
174
|
+
* attributes: [
|
|
175
|
+
* {
|
|
176
|
+
* attribute: 'isMilesAvailable',
|
|
177
|
+
* type: boolean
|
|
178
|
+
* }
|
|
179
|
+
* ]
|
|
180
|
+
* }
|
|
137
181
|
*/
|
|
138
182
|
searchModel?: string;
|
|
139
183
|
/**
|
|
@@ -149,10 +193,6 @@ export interface IListConfig {
|
|
|
149
193
|
* Количество элементов всего в списке (для отрисовки пагинации), заданное вручную
|
|
150
194
|
*/
|
|
151
195
|
initialTotal?: number;
|
|
152
|
-
/**
|
|
153
|
-
* Включает обработку вложенных данных из items
|
|
154
|
-
*/
|
|
155
|
-
hasTreeItems?: boolean;
|
|
156
196
|
}
|
|
157
197
|
export interface IListOutput {
|
|
158
198
|
list: IList;
|
|
@@ -211,7 +251,6 @@ export declare const createInitialValues: ({ paginationProps, paginationSizeProp
|
|
|
211
251
|
initialQuery: any;
|
|
212
252
|
configQuery: any;
|
|
213
253
|
}) => any;
|
|
214
|
-
export declare const prepareItemsToTree: (sourceItems: ITreeTableItem[], openedTreeItems: Record<string, boolean>, currentPage: number | null, itemsOnPage: number | null, onTreeItemClick: (uniqueId: string, item: Record<string, any>) => void, parentId?: string, currentLevel?: number) => any[];
|
|
215
254
|
/**
|
|
216
255
|
* useList
|
|
217
256
|
* Добавляет массу возможностей для взаимодействия с коллекциями. Коллекции можно получать как с бекенда,
|