@m4l/components 9.3.19-BE101025-beta.2 → 9.3.19-BE241025-beta.1
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/@types/types.d.ts +1 -1
- package/components/AccountPopover/AccountPopover.js +12 -13
- package/components/AccountPopover/subcomponents/MenuPopover/MenuPopover.d.ts +1 -1
- package/components/AccountPopover/subcomponents/MenuPopover/MenuPopover.js +7 -4
- package/components/AccountPopover/subcomponents/MenuPopover/types.d.ts +1 -1
- package/components/Chip/Chip.js +9 -7
- package/components/Chip/ChipStyles.js +4 -31
- package/components/Chip/helpers.d.ts +10 -0
- package/components/Chip/helpers.js +34 -0
- package/components/Chip/types.d.ts +6 -0
- package/components/DataGrid/DataGrid.js +9 -4
- package/components/DataGrid/Datagrid.styles.js +270 -0
- package/components/DataGrid/constants.js +2 -2
- package/components/DataGrid/contexts/DataGridContext/index.js +322 -112
- package/components/DataGrid/contexts/DataGridContext/types.d.ts +63 -4
- package/components/DataGrid/dictionary.d.ts +5 -0
- package/components/DataGrid/dictionary.js +6 -1
- package/components/DataGrid/formatters/ColumnSetCheckFormatter/formatter.js +2 -2
- package/components/DataGrid/hooks/useModalCardDetail.d.ts +6 -0
- package/components/DataGrid/hooks/useModalCardDetail.js +74 -0
- package/components/DataGrid/hooks/useProcessedColumns.d.ts +50 -0
- package/components/DataGrid/hooks/useProcessedColumns.js +44 -0
- package/components/DataGrid/icons.d.ts +7 -0
- package/components/DataGrid/icons.js +5 -1
- package/components/DataGrid/index.d.ts +1 -1
- package/components/DataGrid/slots/DataGridEnum.d.ts +22 -1
- package/components/DataGrid/slots/DataGridEnum.js +21 -0
- package/components/DataGrid/slots/DataGridSlot.d.ts +24 -0
- package/components/DataGrid/slots/DataGridSlot.js +123 -21
- package/components/DataGrid/subcomponents/Cards/hooks/useCardContent.d.ts +9 -0
- package/components/DataGrid/subcomponents/Cards/hooks/useCardContent.js +91 -0
- package/components/DataGrid/subcomponents/Cards/index.d.ts +5 -0
- package/components/DataGrid/subcomponents/Cards/index.js +40 -0
- package/components/DataGrid/subcomponents/Cards/subcomponents/CardDetails/index.d.ts +8 -0
- package/components/DataGrid/subcomponents/Cards/subcomponents/CardDetails/index.js +79 -0
- package/components/DataGrid/subcomponents/Cards/subcomponents/CardHeader/index.d.ts +7 -0
- package/components/DataGrid/subcomponents/Cards/subcomponents/CardHeader/index.js +98 -0
- package/components/DataGrid/subcomponents/Cards/subcomponents/CardRow/index.d.ts +6 -0
- package/components/DataGrid/subcomponents/Cards/subcomponents/CardRow/index.js +71 -0
- package/components/DataGrid/subcomponents/Cards/subcomponents/IntersectCard/index.d.ts +20 -0
- package/components/DataGrid/subcomponents/Cards/subcomponents/IntersectCard/index.js +46 -0
- package/components/DataGrid/subcomponents/Cards/subcomponents/LazyLoadCard/index.d.ts +17 -0
- package/components/DataGrid/subcomponents/Cards/subcomponents/LazyLoadCard/index.js +34 -0
- package/components/DataGrid/subcomponents/Cards/types.d.ts +118 -0
- package/components/DataGrid/subcomponents/CheckboxCellAdapter/index.d.ts +7 -0
- package/components/DataGrid/subcomponents/CheckboxCellAdapter/index.js +43 -0
- package/components/DataGrid/subcomponents/CheckboxCellAdapter/types.d.ts +7 -0
- package/components/DataGrid/subcomponents/ControlNavigate/ControlNavigate.js +1 -1
- package/components/DataGrid/subcomponents/HeaderActions/index.js +5 -3
- package/components/DataGrid/subcomponents/HeaderActions/subcomponents/RowsCount/index.js +1 -1
- package/components/DataGrid/subcomponents/HeaderActions/subcomponents/Settings/index.js +11 -2
- package/components/DataGrid/subcomponents/HeaderActions/subcomponents/Settings/subcomponents/ColumnsConfig/index.js +1 -1
- package/components/DataGrid/subcomponents/HeaderActions/subcomponents/Settings/subcomponents/ColumnsConfigCards/index.d.ts +2 -0
- package/components/DataGrid/subcomponents/HeaderActions/subcomponents/Settings/subcomponents/ColumnsConfigCards/index.js +304 -0
- package/components/DataGrid/subcomponents/HeaderActions/subcomponents/Settings/subcomponents/ColumnsConfigCards/types.d.ts +31 -0
- package/components/DataGrid/subcomponents/HeaderActions/subcomponents/ViewMode/index.d.ts +4 -0
- package/components/DataGrid/subcomponents/HeaderActions/subcomponents/ViewMode/index.js +125 -0
- package/components/DataGrid/subcomponents/HeaderActions/subcomponents/hooks/useModalSettings/index.js +3 -3
- package/components/DataGrid/subcomponents/HeaderActions/subcomponents/hooks/useModalSettingsCards/index.d.ts +7 -0
- package/components/DataGrid/subcomponents/HeaderActions/subcomponents/hooks/useModalSettingsCards/index.js +74 -0
- package/components/DataGrid/subcomponents/HeaderActions/subcomponents/hooks/useModalSettingsCards/types.d.ts +4 -0
- package/components/DataGrid/subcomponents/RenderContent/index.d.ts +5 -0
- package/components/DataGrid/subcomponents/RenderContent/index.js +11 -0
- package/components/DataGrid/subcomponents/Table/hooks/useHeaderMenuActions.js +2 -2
- package/components/DataGrid/subcomponents/Table/hooks/useSortColumnsRows.js +1 -1
- package/components/DataGrid/subcomponents/Table/index.js +1 -1
- package/components/DataGrid/subcomponents/Table/subcomponents/ActionsColumn.js +1 -1
- package/components/DataGrid/subcomponents/Table/subcomponents/DraggableHeaderRenderer.js +1 -1
- package/components/DataGrid/subcomponents/Table/subcomponents/HeaderRenderClick/HeaderRenderClick.js +1 -1
- package/components/DataGrid/subcomponents/editors/TextEditor/index.js +1 -1
- package/components/DataGrid/tests/components/CardDetails.test.d.ts +1 -0
- package/components/DataGrid/tests/components/CardHeader.test.d.ts +1 -0
- package/components/DataGrid/tests/components/CardRow.test.d.ts +1 -0
- package/components/DataGrid/tests/components/Cards.test.d.ts +1 -0
- package/components/DataGrid/tests/components/CheckboxCellAdapter.test.d.ts +1 -0
- package/components/DataGrid/tests/components/ColumnsConfigCards.test.d.ts +1 -0
- package/components/DataGrid/tests/components/IntersectCard.test.d.ts +1 -0
- package/components/DataGrid/tests/components/ViewMode.test.d.ts +1 -0
- package/components/DataGrid/tests/helpers/types.d.ts +1 -0
- package/components/DataGrid/tests/helpers/useCardsViewConfig.d.ts +24 -0
- package/components/DataGrid/tests/helpers/useCustomCardExample.d.ts +7 -0
- package/components/DataGrid/tests/hooks/useCardContent.test.d.ts +1 -0
- package/components/DataGrid/tests/hooks/useModalDetail.test.d.ts +1 -0
- package/components/DataGrid/tests/hooks/useModalSettingsCards.test.d.ts +1 -0
- package/components/DataGrid/tests/hooks/useProcessedColumns.test.d.ts +1 -0
- package/components/DataGrid/types.d.ts +87 -5
- package/components/DragResizeWindowRND/DragResizeWindowRND.js +14 -10
- package/components/DragResizeWindowRND/helpers/expandingParentContainer.d.ts +1 -1
- package/components/DragResizeWindowRND/helpers/expandingParentContainer.js +24 -19
- package/components/DragResizeWindowRND/helpers/getInitialSize.d.ts +3 -3
- package/components/DragResizeWindowRND/helpers/getInitialSize.js +18 -15
- package/components/DragResizeWindowRND/helpers/shrinkingParentContainer.d.ts +1 -1
- package/components/DragResizeWindowRND/helpers/shrinkingParentContainer.js +17 -9
- package/components/DragResizeWindowRND/hooks/useRNDDimensionEffects.js +4 -1
- package/components/DragResizeWindowRND/index.d.ts +1 -0
- package/components/DragResizeWindowRND/types.d.ts +12 -2
- package/components/DynamicFilter/DynamicFilter.js +2 -1
- package/components/DynamicFilter/helpers/formatToInitialFilters.js +3 -3
- package/components/DynamicFilter/helpers/frontEndHelpers.d.ts +2 -2
- package/components/DynamicFilter/helpers/frontEndHelpers.js +31 -9
- package/components/DynamicFilter/subcomponents/DynamicFilterBase/DynamicFilterBase.d.ts +2 -1
- package/components/DynamicFilter/subcomponents/DynamicFilterBase/DynamicFilterBase.js +4 -2
- package/components/DynamicFilter/subcomponents/DynamicFilterBase/types.d.ts +3 -0
- package/components/DynamicFilter/subcomponents/FieldTypes/BooleanFilter/helpers.js +11 -3
- package/components/DynamicFilter/subcomponents/FieldTypes/DateTimeFilter/helpers.js +16 -4
- package/components/DynamicFilter/subcomponents/FieldTypes/NumberFilter/helpers.js +11 -8
- package/components/DynamicFilter/subcomponents/FieldTypes/SelectAsyncFilter/helpers.js +21 -8
- package/components/DynamicFilter/subcomponents/FieldTypes/SelectFilter/helpers.js +18 -8
- package/components/DynamicFilter/subcomponents/FieldTypes/StringFilter/helpers.js +5 -3
- package/components/DynamicFilter/subcomponents/PopoverFilter/PopoverFilter.js +1 -1
- package/components/DynamicFilter/types.d.ts +4 -0
- package/components/DynamicSort/DynamicSort.js +2 -1
- package/components/DynamicSort/subcomponents/DynamicSortBase/DynamicSortBase.d.ts +2 -1
- package/components/DynamicSort/subcomponents/DynamicSortBase/DynamicSortBase.js +4 -2
- package/components/DynamicSort/subcomponents/DynamicSortBase/types.d.ts +3 -0
- package/components/DynamicSort/subcomponents/PopoverSort/PopoverSort.js +1 -1
- package/components/DynamicSort/types.d.ts +4 -0
- package/components/EditLabel/hooks/useEditLabel.d.ts +1 -0
- package/components/GridLayout/subcomponents/GridItem/index.js +2 -2
- package/components/Image/Image.js +4 -1
- package/components/LanguagePopover/LanguagePopover.js +2 -0
- package/components/MFIsolationApp/MFIsolationApp.js +1 -4
- package/components/MFIsolationApp/subcomponents/AppBarSettings/AppBarSettings.js +1 -1
- package/components/MFIsolationAppStorybook/MFIsolationAppStorybook.js +4 -20
- package/components/MFIsolationAppStorybook/types.d.ts +0 -4
- package/components/MFLoader/MFLoader.js +8 -3
- package/components/MFLoader/styles.js +1 -1
- package/components/MFLoader/types.d.ts +10 -0
- package/components/MenuActions/MenuActions.js +105 -55
- package/components/ObjectLogs/hooks/useDetailFormatter.js +1 -1
- package/components/WindowBase/WindowBase.js +3 -3
- package/components/WindowBase/WindowBase.styles.js +36 -31
- package/components/WindowBase/constants.d.ts +1 -1
- package/components/WindowBase/constants.js +2 -2
- package/components/WindowBase/index.d.ts +1 -0
- package/components/WindowBase/subcomponents/Component/index.js +2 -2
- package/components/WindowBase/subcomponents/Component/types.d.ts +2 -0
- package/components/WindowBase/subcomponents/Header/HeaderWindowBase.js +7 -7
- package/components/WindowBase/subcomponents/Header/types.d.ts +1 -1
- package/components/WindowBase/subcomponents/MicroFrontend/types.d.ts +4 -0
- package/components/WindowBase/types.d.ts +3 -3
- package/components/WindowConfirm/WindowConfirm.js +1 -1
- package/components/areas/components/AreasViewer/AreasViewer.styles.js +1 -1
- package/components/areas/components/AreasViewer/subcomponents/Area/subcomponents/Window/Window.js +6 -2
- package/components/areas/components/AreasViewer/subcomponents/Area/subcomponents/Window/hooks/useWindow.d.ts +1 -0
- package/components/areas/components/AreasViewer/subcomponents/Area/subcomponents/Window/hooks/useWindow.js +21 -3
- package/components/areas/index.d.ts +1 -1
- package/components/areas/types.d.ts +1 -1
- package/components/formatters/DistanceToNowFormatter/DistanceToNowFormatter.js +3 -34
- package/components/formatters/DistanceToNowFormatter/dictionary.d.ts +8 -0
- package/components/formatters/DistanceToNowFormatter/hooks/useDistanceToNowFormatter.d.ts +13 -0
- package/components/formatters/DistanceToNowFormatter/hooks/useDistanceToNowFormatter.js +65 -0
- package/components/formatters/DistanceToNowFormatter/index.d.ts +1 -0
- package/components/formatters/DistanceToNowFormatter/types.d.ts +4 -1
- package/components/hook-form/RHFAutocomplete/RHFAutocomplete.d.ts +1 -1
- package/components/hook-form/RHFAutocomplete/RHFAutocomplete.js +8 -4
- package/components/hook-form/RHFAutocomplete/constants.d.ts +1 -0
- package/components/hook-form/RHFAutocomplete/constants.js +5 -1
- package/components/hook-form/RHFAutocomplete/types.d.ts +2 -2
- package/components/hook-form/RHFAutocompleteAsync/RHFAutocompleteAsync.js +6 -4
- package/components/hook-form/RHFAutocompleteAsync/slots/RHFAutocompleteSlotsAsync.d.ts +1 -1
- package/components/hook-form/RHFAutocompleteAsync/types.d.ts +4 -0
- package/components/mui_extended/Autocomplete/Autocomplete.d.ts +4 -8
- package/components/mui_extended/Autocomplete/Autocomplete.js +11 -11
- package/components/mui_extended/Autocomplete/Autocomplete.styles.js +7 -3
- package/components/mui_extended/Autocomplete/RenderAdornment/RenderAdornment.d.ts +6 -0
- package/components/mui_extended/Autocomplete/RenderAdornment/RenderAdornment.js +45 -0
- package/components/mui_extended/Autocomplete/hooks/useEndAdornments.js +2 -1
- package/components/mui_extended/Autocomplete/hooks/useStartAdornments.d.ts +4 -12
- package/components/mui_extended/Autocomplete/hooks/useStartAdornments.js +72 -23
- package/components/mui_extended/Autocomplete/hooks/useValuesAndHandlers.d.ts +0 -2
- package/components/mui_extended/Autocomplete/hooks/useValuesAndHandlers.js +0 -13
- package/components/mui_extended/Autocomplete/renderOptions/index.d.ts +4 -17
- package/components/mui_extended/Autocomplete/renderOptions/index.js +42 -5
- package/components/mui_extended/Autocomplete/renderOptions/types.d.ts +7 -0
- package/components/mui_extended/Autocomplete/types.d.ts +10 -3
- package/components/mui_extended/Button/ButtonStyles.js +15 -5
- package/components/mui_extended/ToggleIconButton/ToggleIconButton.js +6 -2
- package/components/mui_extended/ToggleIconButton/ToggleIconButton.styles.js +9 -0
- package/components/mui_extended/ToggleIconButton/types.d.ts +1 -0
- package/components/mui_extended/index.d.ts +1 -1
- package/components/popups/components/PopupsProvider/hooks/usePopups.d.ts +2 -2
- package/components/popups/components/PopupsProvider/hooks/usePopups.js +0 -1
- package/components/popups/components/PopupsViewer/PopupsViewer.js +4 -3
- package/components/popups/components/PopupsViewer/subcomponents/Popup/Popup.js +5 -2
- package/components/popups/components/PopupsViewer/subcomponents/Popup/types.d.ts +5 -0
- package/components/popups/components/PopupsViewer/types.d.ts +3 -0
- package/contexts/AppearanceComponentContext/AppearanceComponentContext.js +4 -1
- package/hooks/index.d.ts +1 -0
- package/hooks/useDataGridPersistence/helpers.d.ts +2 -2
- package/hooks/useDataGridPersistence/useDataGridPersistence.d.ts +2 -2
- package/hooks/useDataGridPersistence/useDataGridPersistence.js +5 -0
- package/hooks/useSizeContainer/index.d.ts +2 -1
- package/hooks/useSizeContainer/index.js +22 -13
- package/hooks/useSizeContainer/types.d.ts +6 -0
- package/hooks/useStateRef/index.d.ts +1 -1
- package/hooks/useStateRef/index.js +6 -6
- package/index.js +53 -46
- package/package.json +3 -4
- package/utils/deepShallow.d.ts +17 -0
- package/utils/deepShallow.js +76 -0
- package/utils/formatDistanceToNow/formatDistanteToNow.d.ts +2 -2
- package/utils/formatDistanceToNow/formatDistanteToNow.js +18 -2
- package/utils/formatDistanceToNow/types.d.ts +13 -0
- package/utils/index.d.ts +1 -0
- package/components/MFIsolationAppStorybook/icons.js +0 -6
- package/components/MFIsolationAppStorybook/subcomponents/AppBarSettings/AppBarSettings.d.ts +0 -4
- package/components/MFIsolationAppStorybook/subcomponents/AppBarSettings/AppBarSettings.js +0 -21
- package/components/MFIsolationAppStorybook/subcomponents/AppBarSettings/index.d.ts +0 -1
- package/components/MFIsolationAppStorybook/subcomponents/AppBarSettings/index.js +0 -1
package/components/DataGrid/subcomponents/Table/subcomponents/HeaderRenderClick/HeaderRenderClick.js
CHANGED
|
@@ -2,7 +2,7 @@ import { jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { useState, useMemo, useEffect, useCallback } from "react";
|
|
3
3
|
import { useModuleDictionary } from "@m4l/core";
|
|
4
4
|
import { M as MenuItem } from "../../../../../mui_extended/MenuItem/MenuItem.js";
|
|
5
|
-
import { M as MenuListStyled,
|
|
5
|
+
import { M as MenuListStyled, K as HeaderRenderClickStyled } from "../../../../slots/DataGridSlot.js";
|
|
6
6
|
import { M as MenuDivider } from "../../../../../mui_extended/MenuDivider/MenuDivider.js";
|
|
7
7
|
import { P as Popover } from "../../../../../mui_extended/Popover/Popover.js";
|
|
8
8
|
import { D as DICTIONARY } from "../../../../dictionary.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
2
|
+
import { O as InputTextEditorStyled } from "../../../slots/DataGridSlot.js";
|
|
3
3
|
function autoFocusAndSelect(input) {
|
|
4
4
|
input?.focus();
|
|
5
5
|
input?.select();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -25,6 +25,7 @@ export interface SeedProps {
|
|
|
25
25
|
withEditors?: boolean;
|
|
26
26
|
aligns?: Record<string, ColumnAlign>;
|
|
27
27
|
names?: Record<string, string>;
|
|
28
|
+
visibleColumns?: string[];
|
|
28
29
|
}
|
|
29
30
|
export type GetColumnsProps = Omit<SeedProps, 'quantity'>;
|
|
30
31
|
export type ColumnType = 'string' | 'number' | 'boolean' | 'date' | 'custom';
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { CardsViewConfig } from '../../types';
|
|
2
|
+
interface UseCardsViewConfigProps {
|
|
3
|
+
/**
|
|
4
|
+
* Si es true, retorna cardsViewConfig con columnsConfig básica
|
|
5
|
+
*/
|
|
6
|
+
withBasicConfig?: boolean;
|
|
7
|
+
/**
|
|
8
|
+
* Si es true, retorna cardsViewConfig con customRender
|
|
9
|
+
*/
|
|
10
|
+
withCustomRender?: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Si es true, retorna cardsViewConfig solo con enabled=true (para demostrar error)
|
|
13
|
+
*/
|
|
14
|
+
withEnabledOnly?: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Si es true, retorna cardsViewConfig con columnKey inválido (para demostrar error)
|
|
17
|
+
*/
|
|
18
|
+
withInvalidColumnKey?: boolean;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Hook helper que genera configuraciones de cardsViewConfig para testing
|
|
22
|
+
*/
|
|
23
|
+
export declare const useCardsViewConfigHelper: <TRow = any>(props?: UseCardsViewConfigProps) => CardsViewConfig<TRow> | undefined;
|
|
24
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -5,7 +5,7 @@ import { MenuAction } from '../MenuActions/types';
|
|
|
5
5
|
import { ActionsSlots, ColumnIconFormatterSlots, ColumnsConfigSlots, ControlNavigateSlots, DataGridSlots, RowsCountSlots, TableSlots, TextEditorSlots } from './slots/DataGridEnum';
|
|
6
6
|
import { OverridesStyleRules } from '@mui/material/styles/overrides';
|
|
7
7
|
import { DATAGRID_PREFIX_NAME } from './constants';
|
|
8
|
-
import {
|
|
8
|
+
import { IGridConfigExtended, ViewMode } from './contexts/DataGridContext/types';
|
|
9
9
|
import { Sizes } from '@m4l/styles';
|
|
10
10
|
import { PagerProps } from '../Pager';
|
|
11
11
|
import { SettingsProps } from './subcomponents/HeaderActions/subcomponents/Settings/types';
|
|
@@ -61,10 +61,10 @@ export interface ColumnConfig {
|
|
|
61
61
|
position?: number;
|
|
62
62
|
frozen?: Maybe<boolean>;
|
|
63
63
|
}
|
|
64
|
-
type KeyUserColumns = keyof
|
|
64
|
+
type KeyUserColumns = keyof IGridConfigExtended;
|
|
65
65
|
export interface ChangeUserColumn<T extends KeyUserColumns = KeyUserColumns> {
|
|
66
66
|
reason: T;
|
|
67
|
-
userConfig:
|
|
67
|
+
userConfig: IGridConfigExtended[T];
|
|
68
68
|
}
|
|
69
69
|
export type OnChangeUserColumns = (props: ChangeUserColumn) => void;
|
|
70
70
|
export type SortApplied = {
|
|
@@ -139,7 +139,7 @@ export interface GridProps<TRow, TSummaryRow, TKey extends RowKey = RowKey> exte
|
|
|
139
139
|
/**
|
|
140
140
|
* Propiedad opcional que recibe la configuración de las columnas
|
|
141
141
|
*/
|
|
142
|
-
defaultUserColumns?:
|
|
142
|
+
defaultUserColumns?: IGridConfigExtended;
|
|
143
143
|
/**
|
|
144
144
|
* Propiedad que recibe la función que se ejecuta cuando se cambian
|
|
145
145
|
* las configuraciones de las columnas.
|
|
@@ -150,6 +150,15 @@ export interface GridProps<TRow, TSummaryRow, TKey extends RowKey = RowKey> exte
|
|
|
150
150
|
* @default 'medium'
|
|
151
151
|
*/
|
|
152
152
|
size?: Extract<Sizes, 'small' | 'medium'>;
|
|
153
|
+
/**
|
|
154
|
+
* Modo por defecto de visualización
|
|
155
|
+
*/
|
|
156
|
+
defaultViewMode?: ViewMode;
|
|
157
|
+
/**
|
|
158
|
+
* Configuración de la vista de "cards"
|
|
159
|
+
* Incluye habilitación, configuración de columnas y renderizado personalizado
|
|
160
|
+
*/
|
|
161
|
+
cardsViewConfig?: CardsViewConfig<TRow>;
|
|
153
162
|
}
|
|
154
163
|
export declare const DATAGRID_TEST_ID = "m4ldatagrid";
|
|
155
164
|
export declare const PREFIX_TEST_ATTRIBUTE = "data-testid";
|
|
@@ -170,6 +179,79 @@ export interface ActionsProps {
|
|
|
170
179
|
leftActions?: React.ReactNode;
|
|
171
180
|
rightActions?: React.ReactNode;
|
|
172
181
|
}
|
|
173
|
-
|
|
182
|
+
/**
|
|
183
|
+
* Props para el hook useModalDetail
|
|
184
|
+
*/
|
|
185
|
+
export interface UseModalDetailProps<TRow> {
|
|
186
|
+
row: TRow;
|
|
187
|
+
columns: readonly Column<TRow, any>[];
|
|
188
|
+
viewMode: ViewMode;
|
|
189
|
+
onRowsChange?: Maybe<(rows: TRow[], data: RowsChangeData<TRow, any>) => void>;
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Configuración de una columna específica en vista "cards"
|
|
193
|
+
*/
|
|
194
|
+
export interface CardColumnConfig {
|
|
195
|
+
/**
|
|
196
|
+
* Key de la columna (debe coincidir con la key de la columna)
|
|
197
|
+
*/
|
|
198
|
+
columnKey: string;
|
|
199
|
+
/**
|
|
200
|
+
* Si se debe mostrar el título/label de esta columna en la card (Solo si no existe una config previa)
|
|
201
|
+
*/
|
|
202
|
+
showTitle: boolean;
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Cards con columnsConfig
|
|
206
|
+
*/
|
|
207
|
+
export interface CardsViewConfigWithColumns {
|
|
208
|
+
columnsConfig: CardColumnConfig[];
|
|
209
|
+
customRender?: never;
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Cards con customRender
|
|
213
|
+
*/
|
|
214
|
+
export interface CardsViewConfigWithCustomRender<TRow> {
|
|
215
|
+
columnsConfig?: never;
|
|
216
|
+
customRender: {
|
|
217
|
+
renderContent: (row: TRow) => React.ReactNode;
|
|
218
|
+
minHeight: number;
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Configuración para la vista de "cards"
|
|
223
|
+
*
|
|
224
|
+
* IMPORTANTE:
|
|
225
|
+
* Es OBLIGATORIO configurar al menos 1 columna cuando customRender=undefined
|
|
226
|
+
* Se ignora completamente si customRender está definido
|
|
227
|
+
* @throws Error si customRender=undefined y array está vacío
|
|
228
|
+
*/
|
|
229
|
+
export type CardsViewConfig<TRow> = CardsViewConfigWithColumns | CardsViewConfigWithCustomRender<TRow>;
|
|
230
|
+
/**
|
|
231
|
+
* Opciones para el procesamiento de columnas
|
|
232
|
+
*/
|
|
233
|
+
export interface ProcessedColumnsOptions {
|
|
234
|
+
/**
|
|
235
|
+
* Si es true, aplica el filtro de visibilidad configurado por el usuario.
|
|
236
|
+
* Si es false, muestra TODAS las columnas.
|
|
237
|
+
* @default true
|
|
238
|
+
*/
|
|
239
|
+
applyVisibilityFilter?: boolean;
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Props para el hook useCardContent
|
|
243
|
+
*/
|
|
244
|
+
export interface CardContentProps<TRow> {
|
|
245
|
+
row: TRow;
|
|
246
|
+
columns: readonly Column<TRow, any>[];
|
|
247
|
+
originalColumns: readonly Column<TRow, any>[];
|
|
248
|
+
onRowsChange?: Maybe<(rows: TRow[], data: RowsChangeData<TRow, any>) => void>;
|
|
249
|
+
}
|
|
250
|
+
export type DataGridOwnerState<TRow, TSummaryRow, TKey extends RowKey = RowKey> = Pick<DataGridProps<TRow, TSummaryRow, TKey>, 'visibleCustomHeader'> & {
|
|
251
|
+
viewMode?: ViewMode;
|
|
252
|
+
isActive?: boolean;
|
|
253
|
+
hasActions?: boolean;
|
|
254
|
+
hasCheckedRows?: boolean;
|
|
255
|
+
};
|
|
174
256
|
export type DataGridSlotsType = DataGridSlots | TextEditorSlots | ActionsSlots | RowsCountSlots | ColumnsConfigSlots | TableSlots | ControlNavigateSlots | ColumnIconFormatterSlots;
|
|
175
257
|
export type DataGridStyles = OverridesStyleRules<DataGridSlotsType, typeof DATAGRID_PREFIX_NAME, Theme>;
|
|
@@ -44,7 +44,7 @@ const DragResizeWindowRND = forwardRef((props, ref) => {
|
|
|
44
44
|
...others
|
|
45
45
|
} = props;
|
|
46
46
|
const [currentState, setCurrentState] = useState(
|
|
47
|
-
() => getInitialSize(containerSize, defaultPosition, containerElement, allowHeightResizeContainer, allowWidthResizeContainer)
|
|
47
|
+
() => getInitialSize(containerSize, bounds, defaultPosition, containerElement, allowHeightResizeContainer, allowWidthResizeContainer)
|
|
48
48
|
);
|
|
49
49
|
const minConstraints = useMemo(() => [minWidth, minHeight], [minWidth, minHeight]);
|
|
50
50
|
const stateRef = useRef({
|
|
@@ -56,7 +56,9 @@ const DragResizeWindowRND = forwardRef((props, ref) => {
|
|
|
56
56
|
y: currentState.y,
|
|
57
57
|
width: currentState.width,
|
|
58
58
|
height: currentState.height,
|
|
59
|
-
minConstraints
|
|
59
|
+
minConstraints,
|
|
60
|
+
magnetizeRight: currentState.magnetizeRight,
|
|
61
|
+
magnetizeBottom: currentState.magnetizeBottom
|
|
60
62
|
});
|
|
61
63
|
if (containerSize && (stateRef.current.containerSize?.containerWidth !== containerSize.containerWidth || stateRef.current.containerSize?.containerHeight !== containerSize.containerHeight)) {
|
|
62
64
|
stateRef.current.containerSize = { ...containerSize };
|
|
@@ -165,6 +167,7 @@ const DragResizeWindowRND = forwardRef((props, ref) => {
|
|
|
165
167
|
if (!containerElement) {
|
|
166
168
|
return null;
|
|
167
169
|
}
|
|
170
|
+
const marginResize = `5px`;
|
|
168
171
|
return /* @__PURE__ */ jsx(
|
|
169
172
|
RndStyled,
|
|
170
173
|
{
|
|
@@ -186,15 +189,16 @@ const DragResizeWindowRND = forwardRef((props, ref) => {
|
|
|
186
189
|
className: classNameFinal,
|
|
187
190
|
enableUserSelectHack: true,
|
|
188
191
|
resizeHandleStyles: {
|
|
192
|
+
zIndex: 1,
|
|
189
193
|
//Se debe mover lo handler de resize para queden dentro de la ventana, o genería un scroll innecesario.
|
|
190
|
-
bottom: { bottom: "0px" },
|
|
191
|
-
right: { right: "0px" },
|
|
192
|
-
top: { top: "0px" },
|
|
193
|
-
left: { left: "0px" },
|
|
194
|
-
bottomRight: { bottom: "0px", right: "0px",
|
|
195
|
-
bottomLeft: { bottom: "0px", left: "0px",
|
|
196
|
-
topRight: { top: "0px", right: "0px",
|
|
197
|
-
topLeft: { top: "0px", left: "0px",
|
|
194
|
+
bottom: { bottom: "0px", zIndex: 1, height: marginResize },
|
|
195
|
+
right: { right: "0px", zIndex: 1, width: marginResize },
|
|
196
|
+
top: { top: "0px", zIndex: 1, height: marginResize },
|
|
197
|
+
left: { left: "0px", zIndex: 1, width: marginResize },
|
|
198
|
+
bottomRight: { bottom: "0px", right: "0px", zIndex: 1 },
|
|
199
|
+
bottomLeft: { bottom: "0px", left: "0px", zIndex: 1 },
|
|
200
|
+
topRight: { top: "0px", right: "0px", zIndex: 1 },
|
|
201
|
+
topLeft: { top: "0px", left: "0px", zIndex: 1 }
|
|
198
202
|
},
|
|
199
203
|
resizeHandleClasses: {
|
|
200
204
|
left: "resize-handle-left",
|
|
@@ -9,4 +9,4 @@ import { CurrentState, DraggableWindowBounds } from '../types';
|
|
|
9
9
|
* se borran los flags que indican que hay que recuperar el ancho y alto, o el left y top.
|
|
10
10
|
* (shrinkLeftTopAt, overflowDimensionAt)
|
|
11
11
|
*/
|
|
12
|
-
export declare const expandingParentContainer: (newState: CurrentState, containerDimension: number, dimension: "Width" | "Height", bounds?: DraggableWindowBounds) => void;
|
|
12
|
+
export declare const expandingParentContainer: (newState: CurrentState, containerDimension: number, dimension: "Width" | "Height", value: number, bounds?: DraggableWindowBounds) => void;
|
|
@@ -1,29 +1,34 @@
|
|
|
1
|
-
const expandingParentContainer = (newState, containerDimension, dimension, bounds) => {
|
|
1
|
+
const expandingParentContainer = (newState, containerDimension, dimension, value, bounds) => {
|
|
2
2
|
const lDimension = dimension === "Width" ? "width" : "height";
|
|
3
3
|
const leftTop = dimension === "Width" ? "x" : "y";
|
|
4
4
|
const shrinkLeftTopAt = dimension === "Width" ? "shrinkLeftAt" : "shrinkTopAt";
|
|
5
5
|
const overflowDimensionAt = dimension === "Width" ? "overflowWidthAt" : "overflowHeightAt";
|
|
6
|
-
const boundsLefTop = dimension === "Width" ? 0 : 0;
|
|
7
|
-
const initialPosition = dimension === "Width" ? 0 : 0;
|
|
6
|
+
const boundsLefTop = dimension === "Width" ? bounds?.left || 0 : bounds?.top || 0;
|
|
7
|
+
const initialPosition = dimension === "Width" ? bounds?.right || 0 : bounds?.bottom || 0;
|
|
8
8
|
const maxDimensionElement = containerDimension - boundsLefTop + initialPosition;
|
|
9
|
-
const
|
|
10
|
-
if (
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
9
|
+
const magnetize = dimension === "Width" ? newState.magnetizeRight : newState.magnetizeBottom;
|
|
10
|
+
if (!magnetize) {
|
|
11
|
+
const valOverflowDimensionAt = newState[overflowDimensionAt];
|
|
12
|
+
if (valOverflowDimensionAt) {
|
|
13
|
+
if (valOverflowDimensionAt > maxDimensionElement) {
|
|
14
|
+
newState[lDimension] = maxDimensionElement;
|
|
15
|
+
} else {
|
|
16
|
+
newState[lDimension] = valOverflowDimensionAt;
|
|
17
|
+
newState[overflowDimensionAt] = void 0;
|
|
18
|
+
}
|
|
16
19
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
20
|
+
const valShrinkLeftTopAt = newState[shrinkLeftTopAt];
|
|
21
|
+
if (valShrinkLeftTopAt && !newState[overflowDimensionAt]) {
|
|
22
|
+
const dimensionAvailable = containerDimension - boundsLefTop - newState[lDimension] + initialPosition;
|
|
23
|
+
if (valShrinkLeftTopAt <= dimensionAvailable) {
|
|
24
|
+
newState[leftTop] = valShrinkLeftTopAt;
|
|
25
|
+
newState[shrinkLeftTopAt] = void 0;
|
|
26
|
+
} else {
|
|
27
|
+
newState[leftTop] = dimensionAvailable;
|
|
28
|
+
}
|
|
26
29
|
}
|
|
30
|
+
} else {
|
|
31
|
+
newState[leftTop] = newState[leftTop] + value;
|
|
27
32
|
}
|
|
28
33
|
};
|
|
29
34
|
export {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ContainerSize } from '../../../utils/types';
|
|
2
|
-
import { CurrentState,
|
|
2
|
+
import { CurrentState, DraggableWindowBounds, RNDDefaultPosition } from '../types';
|
|
3
3
|
/**
|
|
4
4
|
* Calculates the initial size and position of an element based on the provided container size
|
|
5
5
|
* and default position values.
|
|
@@ -9,7 +9,7 @@ import { CurrentState, DefaultPosition } from '../types';
|
|
|
9
9
|
* are provided instead of `top` and `left`, the function calculates the starting position based
|
|
10
10
|
* on the container dimensions, ensuring that the element is correctly positioned.
|
|
11
11
|
* @param {ContainerSize | undefined} containerSize - Object containing `containerHeight` and `containerWidth`. Defaults to 200 for both if not provided.
|
|
12
|
-
* @param {
|
|
12
|
+
* @param {RNDDefaultPosition} defaultPosition - Object defining the default vertical and horizontal positions (`top`, `bottom`, `height`, `left`, `right`, `width`).
|
|
13
13
|
* @returns {CurrentState} - The initial size and position of the element with `top`, `left`, `width`, and `height` properties.
|
|
14
14
|
*/
|
|
15
|
-
export declare const getInitialSize: (containerSize: ContainerSize | undefined, defaultPosition:
|
|
15
|
+
export declare const getInitialSize: (containerSize: ContainerSize | undefined, bounds: DraggableWindowBounds | undefined, defaultPosition: RNDDefaultPosition, containerElement: HTMLElement | undefined, allowHeightResizeContainer: boolean, allowWidthResizeContainer: boolean) => CurrentState;
|
|
@@ -1,11 +1,18 @@
|
|
|
1
|
-
const getInitialSize = (containerSize, defaultPosition, containerElement, allowHeightResizeContainer, allowWidthResizeContainer) => {
|
|
1
|
+
const getInitialSize = (containerSize, bounds, defaultPosition, containerElement, allowHeightResizeContainer, allowWidthResizeContainer) => {
|
|
2
2
|
let top;
|
|
3
3
|
let bottom;
|
|
4
4
|
let height;
|
|
5
5
|
let left;
|
|
6
6
|
let right;
|
|
7
7
|
let width;
|
|
8
|
-
|
|
8
|
+
let magnetizeBottom = false;
|
|
9
|
+
let magnetizeRight = false;
|
|
10
|
+
if ("magnetize" in defaultPosition.vertical) {
|
|
11
|
+
magnetizeBottom = defaultPosition.vertical.magnetize || false;
|
|
12
|
+
}
|
|
13
|
+
if ("magnetize" in defaultPosition.horizontal) {
|
|
14
|
+
magnetizeRight = defaultPosition.horizontal.magnetize || false;
|
|
15
|
+
}
|
|
9
16
|
const containerHeight = containerSize?.containerHeight || 200;
|
|
10
17
|
const containerWidth = containerSize?.containerWidth || 200;
|
|
11
18
|
const scrollTop = containerElement?.scrollTop || 0;
|
|
@@ -49,25 +56,21 @@ const getInitialSize = (containerSize, defaultPosition, containerElement, allowH
|
|
|
49
56
|
y: Math.round(top ?? (bottom !== void 0 ? containerHeight + bottom - (height || 0) : 0)),
|
|
50
57
|
height: Math.round(height ?? containerHeight - (top || 0) - (bottom || 0)),
|
|
51
58
|
x: Math.round(left ?? (right !== void 0 ? containerWidth + right - (width || 0) : 0)),
|
|
52
|
-
width: Math.round(width ?? containerWidth - (left || 0) - (right || 0))
|
|
59
|
+
width: Math.round(width ?? containerWidth - (left || 0) - (right || 0)),
|
|
60
|
+
magnetizeBottom,
|
|
61
|
+
magnetizeRight
|
|
53
62
|
};
|
|
54
63
|
if (!allowHeightResizeContainer) {
|
|
55
|
-
const boundTop =
|
|
56
|
-
const boundBottom =
|
|
64
|
+
const boundTop = bounds?.top || 0;
|
|
65
|
+
const boundBottom = bounds?.bottom || 0;
|
|
57
66
|
initialSize.y = Math.max(initialSize.y, boundTop);
|
|
58
|
-
initialSize.height = Math.min(initialSize.height, containerHeight -
|
|
59
|
-
if (initialSize.y > boundBottom) {
|
|
60
|
-
initialSize.y = boundBottom;
|
|
61
|
-
}
|
|
67
|
+
initialSize.height = Math.min(initialSize.height, containerHeight - boundTop + boundBottom);
|
|
62
68
|
}
|
|
63
69
|
if (!allowWidthResizeContainer) {
|
|
64
|
-
const boundLeft =
|
|
65
|
-
const boundRight =
|
|
70
|
+
const boundLeft = bounds?.left || 0;
|
|
71
|
+
const boundRight = bounds?.right || 0;
|
|
66
72
|
initialSize.x = Math.max(initialSize.x, boundLeft);
|
|
67
|
-
initialSize.width = Math.min(initialSize.width, containerWidth -
|
|
68
|
-
if (initialSize.x > boundRight) {
|
|
69
|
-
initialSize.x = boundRight;
|
|
70
|
-
}
|
|
73
|
+
initialSize.width = Math.min(initialSize.width, containerWidth - boundLeft + boundRight);
|
|
71
74
|
}
|
|
72
75
|
return initialSize;
|
|
73
76
|
};
|
|
@@ -3,4 +3,4 @@ import { CurrentState, DraggableWindowBounds } from '../types';
|
|
|
3
3
|
* "shrinkingParentContainer": Encargada de manejar la contracción de la ventana padre
|
|
4
4
|
* 1. Si el ancho o alto de la ventana cuando se va compactando toca
|
|
5
5
|
*/
|
|
6
|
-
export declare const shrinkingParentContainer: (newState: CurrentState, cState: CurrentState, containerDimension: number, divRoot: HTMLElement, dimension: "Width" | "Height", allowResizeContainer: boolean | undefined, minWindowWidth: number, minWindowHeight: number, bounds?: DraggableWindowBounds) => void;
|
|
6
|
+
export declare const shrinkingParentContainer: (newState: CurrentState, cState: CurrentState, containerDimension: number, divRoot: HTMLElement, dimension: "Width" | "Height", allowResizeContainer: boolean | undefined, minWindowWidth: number, minWindowHeight: number, value: number, bounds?: DraggableWindowBounds) => void;
|
|
@@ -1,21 +1,26 @@
|
|
|
1
|
-
const shrinkingParentContainer = (newState, cState, containerDimension, divRoot, dimension, allowResizeContainer = false, minWindowWidth, minWindowHeight, bounds) => {
|
|
1
|
+
const shrinkingParentContainer = (newState, cState, containerDimension, divRoot, dimension, allowResizeContainer = false, minWindowWidth, minWindowHeight, value, bounds) => {
|
|
2
2
|
const lDimension = dimension === "Width" ? "width" : "height";
|
|
3
|
-
const
|
|
3
|
+
const leftTop = dimension === "Width" ? "x" : "y";
|
|
4
4
|
const shrinkLeftTopAt = dimension === "Width" ? "shrinkLeftAt" : "shrinkTopAt";
|
|
5
5
|
const overflowDimensionAt = dimension === "Width" ? "overflowWidthAt" : "overflowHeightAt";
|
|
6
6
|
const boundsLefTop = dimension === "Width" ? bounds?.left || 0 : bounds?.top || 0;
|
|
7
7
|
const boundsRightBottom = dimension === "Width" ? bounds?.right || 0 : bounds?.bottom || 0;
|
|
8
8
|
const minWindowDimension = dimension === "Width" ? minWindowWidth : minWindowHeight;
|
|
9
9
|
const minDimension = containerDimension - boundsLefTop + boundsRightBottom > minWindowDimension ? containerDimension - boundsLefTop + boundsRightBottom : minWindowDimension;
|
|
10
|
-
|
|
10
|
+
const magnetize = dimension === "Width" ? newState.magnetizeRight : newState.magnetizeBottom;
|
|
11
|
+
let maxDimensionElement = containerDimension - cState[leftTop] + boundsRightBottom;
|
|
11
12
|
if (divRoot[`client${dimension}`] > maxDimensionElement && !allowResizeContainer) {
|
|
12
13
|
const shrunkenPixels = divRoot[`client${dimension}`] - maxDimensionElement;
|
|
13
|
-
if (shrunkenPixels < cState[
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
if (shrunkenPixels < cState[leftTop] - boundsLefTop) {
|
|
15
|
+
if (!magnetize) {
|
|
16
|
+
newState[leftTop] = newState[leftTop] - shrunkenPixels;
|
|
17
|
+
newState[shrinkLeftTopAt] = newState[shrinkLeftTopAt] || cState[leftTop];
|
|
18
|
+
} else {
|
|
19
|
+
newState[leftTop] = newState[leftTop] + value;
|
|
20
|
+
}
|
|
21
|
+
} else if (shrunkenPixels > cState[leftTop] - boundsLefTop) {
|
|
22
|
+
newState[leftTop] = boundsLefTop;
|
|
23
|
+
newState[shrinkLeftTopAt] = newState[shrinkLeftTopAt] || cState[leftTop];
|
|
19
24
|
maxDimensionElement = containerDimension - boundsLefTop + boundsRightBottom;
|
|
20
25
|
if (divRoot[`client${dimension}`] > maxDimensionElement) {
|
|
21
26
|
newState[lDimension] = maxDimensionElement;
|
|
@@ -26,6 +31,9 @@ const shrinkingParentContainer = (newState, cState, containerDimension, divRoot,
|
|
|
26
31
|
}
|
|
27
32
|
}
|
|
28
33
|
} else {
|
|
34
|
+
if (magnetize) {
|
|
35
|
+
newState[leftTop] = newState[leftTop] + value;
|
|
36
|
+
}
|
|
29
37
|
return;
|
|
30
38
|
}
|
|
31
39
|
};
|
|
@@ -47,7 +47,9 @@ const useRNDDimensionEffects = (props) => {
|
|
|
47
47
|
expandingParentContainer(
|
|
48
48
|
newState,
|
|
49
49
|
containerSizeValue,
|
|
50
|
-
dimension
|
|
50
|
+
dimension,
|
|
51
|
+
containerSizeValue - previousContainerSizeValue,
|
|
52
|
+
bounds
|
|
51
53
|
);
|
|
52
54
|
} else if (containerSizeValue < previousContainerSizeValue) {
|
|
53
55
|
shrinkingParentContainer(
|
|
@@ -59,6 +61,7 @@ const useRNDDimensionEffects = (props) => {
|
|
|
59
61
|
allowResizeContainer,
|
|
60
62
|
minWindowWidth,
|
|
61
63
|
minWindowHeight,
|
|
64
|
+
containerSizeValue - previousContainerSizeValue,
|
|
62
65
|
bounds
|
|
63
66
|
);
|
|
64
67
|
}
|
|
@@ -78,6 +78,14 @@ export interface CurrentState extends Position {
|
|
|
78
78
|
* "minConstraints" Indica los límites mínimos de la ventana
|
|
79
79
|
*/
|
|
80
80
|
minConstraints?: [number, number];
|
|
81
|
+
/**
|
|
82
|
+
* "magnetizeBottom" Indica si se debe magnetizar la ventana a la top ante un resize, conserve el mismo top
|
|
83
|
+
*/
|
|
84
|
+
magnetizeBottom?: boolean;
|
|
85
|
+
/**
|
|
86
|
+
* "magnetizeRight" Indica si se debe magnetizar la ventana a la derecha ante un resize, conserve el mismo rigth
|
|
87
|
+
*/
|
|
88
|
+
magnetizeRight?: boolean;
|
|
81
89
|
}
|
|
82
90
|
/**
|
|
83
91
|
* Representa una posición parcial, solo incluye las propiedades left y top.
|
|
@@ -122,7 +130,7 @@ export type DraggableWindowRefProps = {
|
|
|
122
130
|
/**
|
|
123
131
|
* Tipo que representa las posiciones predeterminadas (vertical y horizontal) de la ventana.
|
|
124
132
|
*/
|
|
125
|
-
export interface
|
|
133
|
+
export interface RNDDefaultPosition {
|
|
126
134
|
vertical: {
|
|
127
135
|
top: number;
|
|
128
136
|
bottom: number;
|
|
@@ -134,6 +142,7 @@ export interface DefaultPosition {
|
|
|
134
142
|
} | {
|
|
135
143
|
bottom: number;
|
|
136
144
|
height: number;
|
|
145
|
+
magnetize?: boolean;
|
|
137
146
|
} | {
|
|
138
147
|
percent: number;
|
|
139
148
|
};
|
|
@@ -146,6 +155,7 @@ export interface DefaultPosition {
|
|
|
146
155
|
} | {
|
|
147
156
|
right: number;
|
|
148
157
|
width: number;
|
|
158
|
+
magnetize?: boolean;
|
|
149
159
|
} | {
|
|
150
160
|
percent: number;
|
|
151
161
|
} | {
|
|
@@ -177,7 +187,7 @@ export interface DragResizeWindowPropsRND extends Partial<Omit<RndProps, 'handle
|
|
|
177
187
|
* defaultPosition permite definir la posición inicial de la ventana
|
|
178
188
|
* TODO: Debe también recibir anchorEl y anchorPosition y calcular la posición en base a este
|
|
179
189
|
*/
|
|
180
|
-
defaultPosition?:
|
|
190
|
+
defaultPosition?: RNDDefaultPosition;
|
|
181
191
|
/**
|
|
182
192
|
* "bounds" permite definir los limites de movimiento de la ventana
|
|
183
193
|
*/
|
|
@@ -4,11 +4,12 @@ import { forwardRef } from "react";
|
|
|
4
4
|
import { D as DynamicFilterProvider } from "./store/DynamicFilterContext.js";
|
|
5
5
|
import { D as DynamicFilterBase } from "./subcomponents/DynamicFilterBase/DynamicFilterBase.js";
|
|
6
6
|
const DynamicFilter = forwardRef((props, ref) => {
|
|
7
|
+
const { className, ...others } = props;
|
|
7
8
|
const hasPresentFlags = useFlagsPresent([CommonFlags.FLAG_DICTIONARY_LOADED]);
|
|
8
9
|
if (!hasPresentFlags) {
|
|
9
10
|
return null;
|
|
10
11
|
}
|
|
11
|
-
return /* @__PURE__ */ jsx(DynamicFilterProvider, { ...
|
|
12
|
+
return /* @__PURE__ */ jsx(DynamicFilterProvider, { ...others, ref, children: /* @__PURE__ */ jsx(DynamicFilterBase, { className }) });
|
|
12
13
|
});
|
|
13
14
|
export {
|
|
14
15
|
DynamicFilter as D
|
|
@@ -30,9 +30,9 @@ function formatToInitialFilters(appliedFilters) {
|
|
|
30
30
|
return {
|
|
31
31
|
name: af.field.name,
|
|
32
32
|
operator: af.operator,
|
|
33
|
-
...operand1 ? { operand1 } : {},
|
|
34
|
-
...operand2 ? { operand2 } : {},
|
|
35
|
-
...operandArray ? { operandArray } : {}
|
|
33
|
+
...operand1 !== void 0 ? { operand1 } : {},
|
|
34
|
+
...operand2 !== void 0 ? { operand2 } : {},
|
|
35
|
+
...operandArray !== void 0 ? { operandArray } : {}
|
|
36
36
|
};
|
|
37
37
|
});
|
|
38
38
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { RawFilterFieldApply } from '../types';
|
|
1
|
+
import { FilterField, RawFilterFieldApply } from '../types';
|
|
2
2
|
type ObjectData = Record<any, any>;
|
|
3
3
|
/**
|
|
4
4
|
* Función que verifica si el objectData cumple con todos los filtros de DynamicFilter
|
|
5
5
|
* Para usar en el frontEnd, y no atraves de la API
|
|
6
6
|
*/
|
|
7
|
-
export declare const getIsIfInDynamicFilter: (objectData: ObjectData, groupedFields: Record<string, RawFilterFieldApply[]>) => boolean;
|
|
7
|
+
export declare const getIsIfInDynamicFilter: (filterFields: Array<FilterField>, objectData: ObjectData, groupedFields: Record<string, RawFilterFieldApply[]>) => boolean;
|
|
8
8
|
/**
|
|
9
9
|
* getFilterGroupFieldsByName agrupa los campos por nombre, para procesarlos en una OR
|
|
10
10
|
*/
|