@apia/table 4.0.18 → 4.0.20
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/dist/index.d.ts +10 -1
- package/dist/index.js +40 -8
- package/dist/index.js.map +1 -1
- package/package.json +7 -7
package/dist/index.d.ts
CHANGED
|
@@ -153,6 +153,7 @@ type TResponsiveTableRowState = {
|
|
|
153
153
|
type TResponsiveTableColumn = TResponsiveTableWithRendererElement & {
|
|
154
154
|
/** Con esta propiedad se puede pasar parámetros opcionales */
|
|
155
155
|
additionalData?: Record<string, unknown>;
|
|
156
|
+
autoAdjustWidth?: boolean;
|
|
156
157
|
/**
|
|
157
158
|
* Determina si la columna admite ordenamiento.
|
|
158
159
|
*/
|
|
@@ -696,6 +697,14 @@ declare class Controller2 {
|
|
|
696
697
|
}
|
|
697
698
|
declare function makeController2(tableName: string): [Controller2, FC<TKeyHandlerProps>];
|
|
698
699
|
|
|
700
|
+
/**
|
|
701
|
+
* Este contexto es necesario para resolver el problema de que no se muestra
|
|
702
|
+
* la etiqueta correcta cuando la tabla está cargando.
|
|
703
|
+
*/
|
|
704
|
+
declare const TableLoadingContext: React.Context<{
|
|
705
|
+
current: boolean;
|
|
706
|
+
}>;
|
|
707
|
+
|
|
699
708
|
declare const RangeFilter: ({ filter, tableName, className, }: {
|
|
700
709
|
filter: TApiaFilter;
|
|
701
710
|
tableName?: string;
|
|
@@ -789,5 +798,5 @@ declare const TableRenderer: React__default.MemoExoticComponent<({ variant }: {
|
|
|
789
798
|
variant?: string;
|
|
790
799
|
}) => React__default.JSX.Element>;
|
|
791
800
|
|
|
792
|
-
export { AccordionCell, AccordionDocNameCellRenderer, AccordionElement, AccordionHTMLCellRenderer, AccordionRenderer, Additional, AdditionalColumnDefaultRenderer, Controller2, DefaultCellRenderer, DefaultRowRenderer, DocNameCellRenderer, HTMLCellRenderer, type IAccordionElement, IsLoadingRenderer, NoEllipsisCellRenderer, NoRegistersRenderer, Pagination, PriorityAccordionRenderer, PriorityRenderer, RangeFilter, Responsive, ResponsiveTable, ResponsiveTableContext, RowStatesRenderer, Sort, StatusAccordionRenderer, StatusRenderer, type TAccordionCellRenderer, type TAccordionCellRendererProps, type TColoredElement, type TDocNameCellRenderer, type TDocNameCellRendererProps, type TResponsiveTableCell, type TResponsiveTableCellRenderer, type TResponsiveTableCellRendererProps, type TResponsiveTableColumn, type TResponsiveTableContext, type TResponsiveTableContextProps, type TResponsiveTableRow, type TResponsiveTableRowRenderer, type TResponsiveTableRowRendererProps, type TResponsiveTableRowState, type TResponsiveTableRowsSelectionEvent, type TResponsiveTableSortChangeEvent, type TResponsiveTableSortValue, type TResponsiveTableStoreProps, type TResponsiveTableWithRendererElement, TableContextReproducer, TableRenderer, defaultLabels, getPriorityHandler, getResponsiveTableContext, getStatusRendererClassName, makeAccordionAsyncRenderer, makeAsyncRenderer, makeController2, responsiveTableActions, responsiveTableStore, useResponsiveTable, useResponsiveTableContext };
|
|
801
|
+
export { AccordionCell, AccordionDocNameCellRenderer, AccordionElement, AccordionHTMLCellRenderer, AccordionRenderer, Additional, AdditionalColumnDefaultRenderer, Controller2, DefaultCellRenderer, DefaultRowRenderer, DocNameCellRenderer, HTMLCellRenderer, type IAccordionElement, IsLoadingRenderer, NoEllipsisCellRenderer, NoRegistersRenderer, Pagination, PriorityAccordionRenderer, PriorityRenderer, RangeFilter, Responsive, ResponsiveTable, ResponsiveTableContext, RowStatesRenderer, Sort, StatusAccordionRenderer, StatusRenderer, type TAccordionCellRenderer, type TAccordionCellRendererProps, type TColoredElement, type TDocNameCellRenderer, type TDocNameCellRendererProps, type TResponsiveTableCell, type TResponsiveTableCellRenderer, type TResponsiveTableCellRendererProps, type TResponsiveTableColumn, type TResponsiveTableContext, type TResponsiveTableContextProps, type TResponsiveTableRow, type TResponsiveTableRowRenderer, type TResponsiveTableRowRendererProps, type TResponsiveTableRowState, type TResponsiveTableRowsSelectionEvent, type TResponsiveTableSortChangeEvent, type TResponsiveTableSortValue, type TResponsiveTableStoreProps, type TResponsiveTableWithRendererElement, TableContextReproducer, TableLoadingContext, TableRenderer, defaultLabels, getPriorityHandler, getResponsiveTableContext, getStatusRendererClassName, makeAccordionAsyncRenderer, makeAsyncRenderer, makeController2, responsiveTableActions, responsiveTableStore, useResponsiveTable, useResponsiveTableContext };
|
|
793
802
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from '@apia/theme/jsx-runtime';
|
|
2
|
-
import React, { useMemo, useRef, useState, memo, useEffect, useCallback, createRef, forwardRef } from 'react';
|
|
2
|
+
import React, { useMemo, useRef, useState, createContext, useContext, memo, useEffect, useCallback, createRef, forwardRef } from 'react';
|
|
3
3
|
import { Box, getVariant, Input, Select, useBreakpointIndex, Label, Link, Spinner } from '@apia/theme';
|
|
4
4
|
import { useMount, useUpdateEffect, useUnmount, useThrottleFn } from 'ahooks';
|
|
5
5
|
import uniqueId from 'lodash-es/uniqueId';
|
|
@@ -1264,6 +1264,32 @@ const NoMemoHeaderCell = ({
|
|
|
1264
1264
|
...domProps,
|
|
1265
1265
|
role: "rowheader",
|
|
1266
1266
|
className: `${isFilterRequired && window.SHOW_REQUIRED_POSITION ? "requiredFilterColumn" : ""}`,
|
|
1267
|
+
ref: (el) => {
|
|
1268
|
+
if (!column?.autoAdjustWidth)
|
|
1269
|
+
return;
|
|
1270
|
+
if (el instanceof HTMLElement && !el.dataset.resized && storedWidth === void 0) {
|
|
1271
|
+
const clone = el.cloneNode(true);
|
|
1272
|
+
const child = clone.querySelector(
|
|
1273
|
+
".headButton__label"
|
|
1274
|
+
);
|
|
1275
|
+
child.style.opacity = "0";
|
|
1276
|
+
document.body.append(child);
|
|
1277
|
+
child.style.position = "fixed";
|
|
1278
|
+
child.style.maxWidth = "0";
|
|
1279
|
+
child.style.minWidth = "0";
|
|
1280
|
+
child.style.width = "0";
|
|
1281
|
+
child.style.overflow = "auto";
|
|
1282
|
+
child.style.textWrap = "nowrap";
|
|
1283
|
+
window.requestAnimationFrame(() => {
|
|
1284
|
+
const idealWidth = child.scrollWidth;
|
|
1285
|
+
const currentWidth = el.querySelector(".headButton__label").getBoundingClientRect().width;
|
|
1286
|
+
const elWidth = el.getBoundingClientRect().width;
|
|
1287
|
+
const diff = idealWidth - currentWidth;
|
|
1288
|
+
setWidth(elWidth + diff + 5);
|
|
1289
|
+
el.dataset.resized = "true";
|
|
1290
|
+
});
|
|
1291
|
+
}
|
|
1292
|
+
},
|
|
1267
1293
|
children: /* @__PURE__ */ jsxs(Box, { as: "span", className: "headButton__container", children: [
|
|
1268
1294
|
/* @__PURE__ */ jsx(
|
|
1269
1295
|
Box,
|
|
@@ -2125,9 +2151,14 @@ const NoMemoRow = ({ rowIndex }) => {
|
|
|
2125
2151
|
};
|
|
2126
2152
|
const Row = React.memo(NoMemoRow);
|
|
2127
2153
|
|
|
2154
|
+
const TableLoadingContext = createContext({
|
|
2155
|
+
current: true
|
|
2156
|
+
});
|
|
2157
|
+
|
|
2128
2158
|
const NoRegistersRenderer = () => {
|
|
2129
2159
|
const { labels } = useResponsiveTableContext();
|
|
2130
|
-
|
|
2160
|
+
const { current } = useContext(TableLoadingContext);
|
|
2161
|
+
return /* @__PURE__ */ jsx(Box, { className: "no__registers", children: current ? labels.noRegisters : "" });
|
|
2131
2162
|
};
|
|
2132
2163
|
|
|
2133
2164
|
const NoMemoTableRenderer = ({ variant }) => {
|
|
@@ -3598,10 +3629,11 @@ const NoMemoAccordionHTMLCellRenderer = React.forwardRef(
|
|
|
3598
3629
|
column,
|
|
3599
3630
|
row,
|
|
3600
3631
|
...props
|
|
3601
|
-
}, currentRef) => (
|
|
3602
|
-
|
|
3603
|
-
|
|
3604
|
-
|
|
3632
|
+
}, currentRef) => /* @__PURE__ */ jsxs(Box, { children: [
|
|
3633
|
+
column.label.trim() !== "" && /* @__PURE__ */ jsxs(Box, { as: "strong", children: [
|
|
3634
|
+
column.label,
|
|
3635
|
+
": "
|
|
3636
|
+
] }),
|
|
3605
3637
|
/* @__PURE__ */ jsx(
|
|
3606
3638
|
Box,
|
|
3607
3639
|
{
|
|
@@ -3618,7 +3650,7 @@ const NoMemoAccordionHTMLCellRenderer = React.forwardRef(
|
|
|
3618
3650
|
as: "span"
|
|
3619
3651
|
}
|
|
3620
3652
|
)
|
|
3621
|
-
)
|
|
3653
|
+
] })
|
|
3622
3654
|
);
|
|
3623
3655
|
NoMemoAccordionHTMLCellRenderer.displayName = "AccordionHTMLCellRenderer";
|
|
3624
3656
|
const AccordionHTMLCellRenderer = NoMemoAccordionHTMLCellRenderer;
|
|
@@ -3879,5 +3911,5 @@ const NoMemoStatusAccordionRenderer = React.forwardRef(({ cell, column }, curren
|
|
|
3879
3911
|
NoMemoStatusAccordionRenderer.displayName = "StatusAccordionRenderer";
|
|
3880
3912
|
const StatusAccordionRenderer = NoMemoStatusAccordionRenderer;
|
|
3881
3913
|
|
|
3882
|
-
export { AccordionCell, AccordionDocNameCellRenderer, AccordionElement, AccordionHTMLCellRenderer, AccordionRenderer, Additional, AdditionalColumnDefaultRenderer, Controller2, DefaultCellRenderer, DefaultRowRenderer, DocNameCellRenderer, HTMLCellRenderer, IsLoadingRenderer, NoEllipsisCellRenderer, NoRegistersRenderer, Pagination, PriorityAccordionRenderer, PriorityRenderer, RangeFilter, Responsive, ResponsiveTable, ResponsiveTableContext, RowStatesRenderer, Sort, StatusAccordionRenderer, StatusRenderer, TableContextReproducer, TableRenderer, defaultLabels, getPriorityHandler, getResponsiveTableContext, getStatusRendererClassName, makeAccordionAsyncRenderer, makeAsyncRenderer, makeController2, responsiveTableActions, responsiveTableStore, useResponsiveTable, useResponsiveTableContext };
|
|
3914
|
+
export { AccordionCell, AccordionDocNameCellRenderer, AccordionElement, AccordionHTMLCellRenderer, AccordionRenderer, Additional, AdditionalColumnDefaultRenderer, Controller2, DefaultCellRenderer, DefaultRowRenderer, DocNameCellRenderer, HTMLCellRenderer, IsLoadingRenderer, NoEllipsisCellRenderer, NoRegistersRenderer, Pagination, PriorityAccordionRenderer, PriorityRenderer, RangeFilter, Responsive, ResponsiveTable, ResponsiveTableContext, RowStatesRenderer, Sort, StatusAccordionRenderer, StatusRenderer, TableContextReproducer, TableLoadingContext, TableRenderer, defaultLabels, getPriorityHandler, getResponsiveTableContext, getStatusRendererClassName, makeAccordionAsyncRenderer, makeAsyncRenderer, makeController2, responsiveTableActions, responsiveTableStore, useResponsiveTable, useResponsiveTableContext };
|
|
3883
3915
|
//# sourceMappingURL=index.js.map
|