@megha-ui/react 1.2.688 → 1.2.689
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/components/grid/index.js +15 -12
- package/package.json +1 -1
|
@@ -34,7 +34,7 @@ import Card from "../card";
|
|
|
34
34
|
import { TbAntennaBarsOff, TbCalculator, TbCalculatorFilled, TbCalculatorOff, } from "react-icons/tb";
|
|
35
35
|
import { TbCopy, TbCopyOff } from "react-icons/tb";
|
|
36
36
|
import { formatValue } from "../../services/commonService";
|
|
37
|
-
const Grid = ({ columns, wrapperClass, updateGridColumns, data, height, sortable = true, paginate, rowsPerPageOptions = [10, 20, 50, 100], defaultRowsPerPage = 100, defaultColumnsPerView =
|
|
37
|
+
const Grid = ({ columns, wrapperClass, updateGridColumns, data, height, sortable = true, paginate, rowsPerPageOptions = [10, 20, 50, 100], defaultRowsPerPage = 100, defaultColumnsPerView = 200, widthMode = "custom", bulkSelect = false, cellBorder = false, rowHeight = 38, onRowClick, rowCount = false, rowBorder = true, showMenu = false, search = false, defaultSearchOperation = "contains", gridBorder = false, isLoading = false, rowTopBorder, rowBottomBorder, rowLeftBorder, rowRightBorder, headerBackground = "var(--row-header-bg)", headerTopBorder = "none", headerBottomBorder = "none", SettingIcon, ExportIcon, ignoredExportItems = ["action", "actions"], borderColor = "#dbdfe9", updateColumns, showHideAvailable = false, columnSearchOutside = false, multiSorting = false, exportAvailable = false, exportableFileName = "", groupBy, updateGroupBy, rowKey = "id", hlBorderColor = "black", selectedRow, selectedRowStyle = {
|
|
38
38
|
borderLeft: "0.5rem solid #d9d9d9",
|
|
39
39
|
}, defaultSort, noKeyEvents = true, customOperation, hasCustomOperation, globalSearch, headerDropdownIndex, draggable = false, resizable = false, updateGridData, widthUnits, checkboxWrapper, ignoreHugContent = false, isSummarise = false, isHideDups = false, isMultipleChips = false, fullScreenAvailable = true, defaultGroupOpen, alternateRowColor = true, activeCalculateColor = "#2377BA", calculatetextColor = "#fff", actionsKey = "actions", saveAsNewView = false, handleSaveAsView, saveAsViewIcon, filterData, chipColor = "#ccc", withAscii = false, propSummariseKeys, SummariseIcon, summarizeColor = "black", isExpandable = false, expandedRow, extraRow, selectedCheckBox, setSelectedCheckbox, ignoreRowSelect, setOpenedRows, openedRows, getLoadingState, globalSearchOpen = false, updateFixedFilterValues = (fixedFilterValues) => {
|
|
40
40
|
console.log("Update fixed filter values not implemented", fixedFilterValues);
|
|
@@ -90,7 +90,6 @@ withCard = false, cardClassName, cardHeader, title, headerLeft, headerRight, sub
|
|
|
90
90
|
return gridColumns.filter((col) => col.fixedFilter && col.fixedFilter !== "");
|
|
91
91
|
}, [gridColumns]);
|
|
92
92
|
const [fixedFilterValues, setFixedFilterValues] = useState({});
|
|
93
|
-
const [columnsPerView, setColumnsPerView] = useState(5);
|
|
94
93
|
useEffect(() => {
|
|
95
94
|
setSummariseAvailable(isSummarise);
|
|
96
95
|
}, [isSummarise]);
|
|
@@ -710,7 +709,6 @@ withCard = false, cardClassName, cardHeader, title, headerLeft, headerRight, sub
|
|
|
710
709
|
const gridWidth = entrieGridRef.current
|
|
711
710
|
? entrieGridRef.current.getBoundingClientRect().width
|
|
712
711
|
: 0;
|
|
713
|
-
console.log("Grid Width:", gridWidth);
|
|
714
712
|
if (gridGroupBy === "" &&
|
|
715
713
|
entrieGridRef.current &&
|
|
716
714
|
widthMode === "custom" &&
|
|
@@ -826,19 +824,24 @@ withCard = false, cardClassName, cardHeader, title, headerLeft, headerRight, sub
|
|
|
826
824
|
return (element.scrollHeight - element.scrollTop - element.clientHeight <
|
|
827
825
|
threshold);
|
|
828
826
|
};
|
|
827
|
+
const isScrollAlmostAtLeft = (element, threshold = 100) => {
|
|
828
|
+
return (element.scrollWidth - element.scrollLeft - element.clientWidth < threshold);
|
|
829
|
+
};
|
|
829
830
|
const onScroll = (e) => {
|
|
830
831
|
const isPaginate = gridGroupBy === "" && paginate;
|
|
831
832
|
if (headerRef.current) {
|
|
832
833
|
headerRef.current.scrollLeft = e.currentTarget.scrollLeft;
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
834
|
+
if (isScrollAlmostAtLeft(e.currentTarget)) {
|
|
835
|
+
let atmostIndex = -1;
|
|
836
|
+
if (gridColumns.length > 0) {
|
|
837
|
+
atmostIndex = gridColumns.length - 1;
|
|
838
|
+
}
|
|
839
|
+
if (atmostIndex >= endHoriIndex + defaultColumnsPerView) {
|
|
840
|
+
setEndHoriIndex((prev) => prev + defaultColumnsPerView);
|
|
841
|
+
}
|
|
842
|
+
else {
|
|
843
|
+
setEndHoriIndex(atmostIndex);
|
|
844
|
+
}
|
|
842
845
|
}
|
|
843
846
|
}
|
|
844
847
|
if (e.currentTarget &&
|
package/package.json
CHANGED