+
+
{headerGroups.map((headerGroup: any, index: number) => (
@@ -220,66 +229,6 @@ export const Table = (props: TableProps) => {
- {props.serverSidePaginationEnabled && (
-
- {
- props.prevPageClick();
- }}
- >
-
-
-
- {props.pageNo + 1}
-
- {
- props.nextPageClick();
- }}
- >
-
-
-
- )}
- {!props.serverSidePaginationEnabled && (
-
- {
- const pageNo = currentPageIndex > 0 ? currentPageIndex - 1 : 0;
- props.updatePageNo(pageNo + 1);
- }}
- >
-
-
- {pageOptions.map((pageNumber: number, index: number) => {
- return (
- {
- props.updatePageNo(pageNumber + 1);
- }}
- className="page-item"
- >
- {index + 1}
-
- );
- })}
- {
- const pageNo =
- currentPageIndex < pageCount - 1 ? currentPageIndex + 1 : 0;
- props.updatePageNo(pageNo + 1);
- }}
- >
-
-
-
- )}
);
};
diff --git a/app/client/src/components/designSystems/appsmith/TableHeader.tsx b/app/client/src/components/designSystems/appsmith/TableHeader.tsx
new file mode 100644
index 0000000000..729e27952b
--- /dev/null
+++ b/app/client/src/components/designSystems/appsmith/TableHeader.tsx
@@ -0,0 +1,90 @@
+import React from "react";
+import {
+ PaginationWrapper,
+ TableHeaderWrapper,
+ PaginationItemWrapper,
+} from "./TableStyledWrappers";
+import { Icon } from "@blueprintjs/core";
+
+interface TableHeaderProps {
+ updatePageNo: Function;
+ nextPageClick: () => void;
+ prevPageClick: () => void;
+ pageNo: number;
+ pageCount: number;
+ currentPageIndex: number;
+ pageOptions: number[];
+ serverSidePaginationEnabled: boolean;
+}
+
+const TableHeader = (props: TableHeaderProps) => {
+ return (
+
+ {props.serverSidePaginationEnabled && (
+
+ {
+ props.prevPageClick();
+ }}
+ >
+
+
+
+ {props.pageNo + 1}
+
+ {
+ props.nextPageClick();
+ }}
+ >
+
+
+
+ )}
+ {!props.serverSidePaginationEnabled && (
+
+ {
+ const pageNo =
+ props.currentPageIndex > 0 ? props.currentPageIndex - 1 : 0;
+ props.updatePageNo(pageNo + 1);
+ }}
+ >
+
+
+ {props.pageOptions.map((pageNumber: number, index: number) => {
+ return (
+ {
+ props.updatePageNo(pageNumber + 1);
+ }}
+ className="page-item"
+ >
+ {index + 1}
+
+ );
+ })}
+ {
+ const pageNo =
+ props.currentPageIndex < props.pageCount - 1
+ ? props.currentPageIndex + 1
+ : 0;
+ props.updatePageNo(pageNo + 1);
+ }}
+ >
+
+
+
+ )}
+
+ );
+};
+
+export default TableHeader;
diff --git a/app/client/src/components/designSystems/appsmith/TableStyledWrappers.tsx b/app/client/src/components/designSystems/appsmith/TableStyledWrappers.tsx
index 5e00de266f..7c669bdb44 100644
--- a/app/client/src/components/designSystems/appsmith/TableStyledWrappers.tsx
+++ b/app/client/src/components/designSystems/appsmith/TableStyledWrappers.tsx
@@ -255,3 +255,10 @@ export const CellWrapper = styled.div<{ isHidden: boolean }>`
}
}
`;
+
+export const TableHeaderWrapper = styled.div`
+ display: flex;
+ align-items: center;
+ width: 100%;
+ border-bottom: 1px solid ${Colors.GEYSER_LIGHT};
+`;
diff --git a/app/client/src/widgets/TableWidget.tsx b/app/client/src/widgets/TableWidget.tsx
index fee45055f9..29ab24207f 100644
--- a/app/client/src/widgets/TableWidget.tsx
+++ b/app/client/src/widgets/TableWidget.tsx
@@ -109,57 +109,56 @@ class TableWidget extends BaseWidget
{
// /*
return (
}>
-
- {
- super.updateWidgetMetaProperty("pageNo", pageNo);
- }}
- updateHiddenColumns={(hiddenColumns?: string[]) => {
- super.updateWidgetProperty("hiddenColumns", hiddenColumns);
- }}
- updateColumnType={(columnTypeMap: {
- [key: string]: { type: string; format: string };
- }) => {
- super.updateWidgetProperty("columnTypeMap", columnTypeMap);
- }}
- updateColumnName={(columnNameMap: { [key: string]: string }) => {
- super.updateWidgetProperty("columnNameMap", columnNameMap);
- }}
- handleResizeColumn={(columnSizeMap: { [key: string]: number }) => {
- super.updateWidgetProperty("columnSizeMap", columnSizeMap);
- }}
- handleReorderColumn={(columnOrder: string[]) => {
- super.updateWidgetProperty("columnOrder", columnOrder);
- }}
- columnSizeMap={this.props.columnSizeMap}
- resetSelectedRowIndex={this.resetSelectedRowIndex}
- disableDrag={(disable: boolean) => {
- this.disableDrag(disable);
- }}
- />
-
+ {
+ super.updateWidgetMetaProperty("pageNo", pageNo);
+ }}
+ updateHiddenColumns={(hiddenColumns?: string[]) => {
+ super.updateWidgetProperty("hiddenColumns", hiddenColumns);
+ }}
+ updateColumnType={(columnTypeMap: {
+ [key: string]: { type: string; format: string };
+ }) => {
+ super.updateWidgetProperty("columnTypeMap", columnTypeMap);
+ }}
+ updateColumnName={(columnNameMap: { [key: string]: string }) => {
+ super.updateWidgetProperty("columnNameMap", columnNameMap);
+ }}
+ handleResizeColumn={(columnSizeMap: { [key: string]: number }) => {
+ super.updateWidgetProperty("columnSizeMap", columnSizeMap);
+ }}
+ handleReorderColumn={(columnOrder: string[]) => {
+ super.updateWidgetProperty("columnOrder", columnOrder);
+ }}
+ columnSizeMap={this.props.columnSizeMap}
+ resetSelectedRowIndex={this.resetSelectedRowIndex}
+ disableDrag={(disable: boolean) => {
+ this.disableDrag(disable);
+ }}
+ />
);
// */