Merge branch 'release-frozen' into release
This commit is contained in:
commit
a42e89a8a2
|
|
@ -11,10 +11,7 @@ describe("Test Create Api and Bind to Table widget", function() {
|
||||||
|
|
||||||
it("Test_Add Paginate with Table Page No and Execute the Api", function() {
|
it("Test_Add Paginate with Table Page No and Execute the Api", function() {
|
||||||
/**Create an Api1 of Paginate with Table Page No */
|
/**Create an Api1 of Paginate with Table Page No */
|
||||||
cy.createAndFillApi(
|
cy.createAndFillApi(this.data.paginationUrl, this.data.paginationParam);
|
||||||
this.data.paginationUrl,
|
|
||||||
"users?page={{Table1.pageNo}}&pageSize={{Table1.defaultPageSize||10}}",
|
|
||||||
);
|
|
||||||
cy.RunAPI();
|
cy.RunAPI();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -89,46 +86,5 @@ describe("Test Create Api and Bind to Table widget", function() {
|
||||||
cy.ValidatePaginationInputData();
|
cy.ValidatePaginationInputData();
|
||||||
cy.get(publishPage.backToEditor).click({ force: true });
|
cy.get(publishPage.backToEditor).click({ force: true });
|
||||||
cy.ValidatePaginateResponseUrlData(apiPage.apiPaginationNextTest);
|
cy.ValidatePaginateResponseUrlData(apiPage.apiPaginationNextTest);
|
||||||
cy.wait(5000);
|
|
||||||
});
|
|
||||||
|
|
||||||
it("Table-Text, Validate Server Side Pagination of Paginate with Table Default Page Size and Total Record Count", function() {
|
|
||||||
cy.SearchEntityandOpen("Table1");
|
|
||||||
cy.callApi("Api1");
|
|
||||||
cy.wait(300);
|
|
||||||
cy.testJsontext("tabledata", "{{Api1.data.users}}");
|
|
||||||
cy.CheckWidgetProperties(commonlocators.serverSidePaginationCheckbox);
|
|
||||||
cy.wait(300);
|
|
||||||
//Add on page size change action
|
|
||||||
cy.get(commonlocators.tablePageSizeChangeAction).click({
|
|
||||||
force: true,
|
|
||||||
});
|
|
||||||
cy.wait(300);
|
|
||||||
cy.get(commonlocators.chooseAction)
|
|
||||||
.children()
|
|
||||||
.contains("Call An API")
|
|
||||||
.click();
|
|
||||||
cy.wait(300);
|
|
||||||
cy.get(commonlocators.chooseAction)
|
|
||||||
.children()
|
|
||||||
.contains("Api1")
|
|
||||||
.click();
|
|
||||||
// cy.get(".t--table-widget-next-page").should("have.attr", "disabled");
|
|
||||||
|
|
||||||
// Add value of default page count and total page count
|
|
||||||
cy.testJsontext("totalrecordcount", 20);
|
|
||||||
cy.testJsontext("defaultpagesize", 5);
|
|
||||||
|
|
||||||
cy.wait("@postExecute");
|
|
||||||
cy.wait(500);
|
|
||||||
|
|
||||||
cy.get(".t--table-widget-next-page").should("not.have.attr", "disabled");
|
|
||||||
cy.ValidateTableData("1");
|
|
||||||
|
|
||||||
cy.get(commonlocators.tableNextPage).click({ force: true });
|
|
||||||
cy.wait("@postExecute");
|
|
||||||
cy.wait(500);
|
|
||||||
|
|
||||||
cy.ValidateTableData("6");
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,7 @@ describe("Test Suite to validate copy/paste table Widget", function() {
|
||||||
.last()
|
.last()
|
||||||
.click();
|
.click();
|
||||||
cy.get(apiwidget.propertyList).then(function($lis) {
|
cy.get(apiwidget.propertyList).then(function($lis) {
|
||||||
expect($lis).to.have.length(10);
|
expect($lis).to.have.length(8);
|
||||||
expect($lis.eq(0)).to.contain("{{Table1Copy.selectedRow}}");
|
expect($lis.eq(0)).to.contain("{{Table1Copy.selectedRow}}");
|
||||||
expect($lis.eq(1)).to.contain("{{Table1Copy.selectedRows}}");
|
expect($lis.eq(1)).to.contain("{{Table1Copy.selectedRows}}");
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@ describe("Entity explorer tests related to widgets and validation", function() {
|
||||||
.last()
|
.last()
|
||||||
.click({ force: true });
|
.click({ force: true });
|
||||||
cy.get(apiwidget.propertyList).then(function($lis) {
|
cy.get(apiwidget.propertyList).then(function($lis) {
|
||||||
expect($lis).to.have.length(10);
|
expect($lis).to.have.length(8);
|
||||||
expect($lis.eq(0)).to.contain("{{Table1.selectedRow}}");
|
expect($lis.eq(0)).to.contain("{{Table1.selectedRow}}");
|
||||||
expect($lis.eq(1)).to.contain("{{Table1.selectedRows}}");
|
expect($lis.eq(1)).to.contain("{{Table1.selectedRows}}");
|
||||||
expect($lis.eq(2)).to.contain("{{Table1.selectedRowIndex}}");
|
expect($lis.eq(2)).to.contain("{{Table1.selectedRowIndex}}");
|
||||||
|
|
@ -47,8 +47,6 @@ describe("Entity explorer tests related to widgets and validation", function() {
|
||||||
expect($lis.eq(5)).to.contain("{{Table1.pageSize}}");
|
expect($lis.eq(5)).to.contain("{{Table1.pageSize}}");
|
||||||
expect($lis.eq(6)).to.contain("{{Table1.isVisible}}");
|
expect($lis.eq(6)).to.contain("{{Table1.isVisible}}");
|
||||||
expect($lis.eq(7)).to.contain("{{Table1.searchText}}");
|
expect($lis.eq(7)).to.contain("{{Table1.searchText}}");
|
||||||
expect($lis.eq(8)).to.contain("{{Table1.defaultPageSize}}");
|
|
||||||
expect($lis.eq(9)).to.contain("{{Table1.totalRecordsCount}}");
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -109,6 +109,5 @@
|
||||||
"paginationButton": ".rc-pagination-item",
|
"paginationButton": ".rc-pagination-item",
|
||||||
"switchWidgetActive": ".t--switch-widget-active",
|
"switchWidgetActive": ".t--switch-widget-active",
|
||||||
"switchWidgetInActive": ".t--switch-widget-inactive",
|
"switchWidgetInActive": ".t--switch-widget-inactive",
|
||||||
"switchWidgetLoading": ".t--switch-widget-loading",
|
"switchWidgetLoading": ".t--switch-widget-loading"
|
||||||
"tablePageSizeChangeAction": ".t--property-control-onpagesizechange .t--open-dropdown-Select-Action"
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,6 @@ interface TableProps {
|
||||||
width: number;
|
width: number;
|
||||||
height: number;
|
height: number;
|
||||||
pageSize: number;
|
pageSize: number;
|
||||||
tablePageSize: number;
|
|
||||||
widgetId: string;
|
widgetId: string;
|
||||||
widgetName: string;
|
widgetName: string;
|
||||||
searchKey: string;
|
searchKey: string;
|
||||||
|
|
@ -39,8 +38,6 @@ interface TableProps {
|
||||||
columnSizeMap?: { [key: string]: number };
|
columnSizeMap?: { [key: string]: number };
|
||||||
columns: ReactTableColumnProps[];
|
columns: ReactTableColumnProps[];
|
||||||
data: Array<Record<string, unknown>>;
|
data: Array<Record<string, unknown>>;
|
||||||
defaultPageSize?: number;
|
|
||||||
totalRecordsCount?: number;
|
|
||||||
editMode: boolean;
|
editMode: boolean;
|
||||||
sortTableColumn: (columnIndex: number, asc: boolean) => void;
|
sortTableColumn: (columnIndex: number, asc: boolean) => void;
|
||||||
handleResizeColumn: (columnSizeMap: { [key: string]: number }) => void;
|
handleResizeColumn: (columnSizeMap: { [key: string]: number }) => void;
|
||||||
|
|
@ -116,10 +113,7 @@ export function Table(props: TableProps) {
|
||||||
}),
|
}),
|
||||||
[columnString],
|
[columnString],
|
||||||
);
|
);
|
||||||
const pageCount =
|
const pageCount = Math.ceil(props.data.length / props.pageSize);
|
||||||
props.defaultPageSize && props.totalRecordsCount
|
|
||||||
? Math.ceil(props.totalRecordsCount / props.defaultPageSize)
|
|
||||||
: Math.ceil(props.data.length / props.pageSize);
|
|
||||||
const currentPageIndex = props.pageNo < pageCount ? props.pageNo : 0;
|
const currentPageIndex = props.pageNo < pageCount ? props.pageNo : 0;
|
||||||
const {
|
const {
|
||||||
getTableBodyProps,
|
getTableBodyProps,
|
||||||
|
|
@ -161,10 +155,7 @@ export function Table(props: TableProps) {
|
||||||
}
|
}
|
||||||
let startIndex = currentPageIndex * props.pageSize;
|
let startIndex = currentPageIndex * props.pageSize;
|
||||||
let endIndex = startIndex + props.pageSize;
|
let endIndex = startIndex + props.pageSize;
|
||||||
if (
|
if (props.serverSidePaginationEnabled) {
|
||||||
props.serverSidePaginationEnabled ||
|
|
||||||
(props.defaultPageSize && props.totalRecordsCount)
|
|
||||||
) {
|
|
||||||
startIndex = 0;
|
startIndex = 0;
|
||||||
endIndex = props.data.length;
|
endIndex = props.data.length;
|
||||||
}
|
}
|
||||||
|
|
@ -216,7 +207,6 @@ export function Table(props: TableProps) {
|
||||||
columns={tableHeadercolumns}
|
columns={tableHeadercolumns}
|
||||||
compactMode={props.compactMode}
|
compactMode={props.compactMode}
|
||||||
currentPageIndex={currentPageIndex}
|
currentPageIndex={currentPageIndex}
|
||||||
defaultPageSize={props.defaultPageSize}
|
|
||||||
editMode={props.editMode}
|
editMode={props.editMode}
|
||||||
filters={props.filters}
|
filters={props.filters}
|
||||||
isVisibleCompactMode={props.isVisibleCompactMode}
|
isVisibleCompactMode={props.isVisibleCompactMode}
|
||||||
|
|
@ -235,7 +225,6 @@ export function Table(props: TableProps) {
|
||||||
tableColumns={columns}
|
tableColumns={columns}
|
||||||
tableData={props.data}
|
tableData={props.data}
|
||||||
tableSizes={tableSizes}
|
tableSizes={tableSizes}
|
||||||
totalRecordsCount={props.totalRecordsCount}
|
|
||||||
updateCompactMode={props.updateCompactMode}
|
updateCompactMode={props.updateCompactMode}
|
||||||
updatePageNo={props.updatePageNo}
|
updatePageNo={props.updatePageNo}
|
||||||
widgetName={props.widgetName}
|
widgetName={props.widgetName}
|
||||||
|
|
@ -297,7 +286,7 @@ export function Table(props: TableProps) {
|
||||||
<div
|
<div
|
||||||
{...getTableBodyProps()}
|
{...getTableBodyProps()}
|
||||||
className={`tbody ${
|
className={`tbody ${
|
||||||
props.tablePageSize > subPage.length ? "no-scroll" : ""
|
props.pageSize > subPage.length ? "no-scroll" : ""
|
||||||
}`}
|
}`}
|
||||||
ref={tableBodyRef}
|
ref={tableBodyRef}
|
||||||
>
|
>
|
||||||
|
|
@ -338,9 +327,9 @@ export function Table(props: TableProps) {
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
})}
|
})}
|
||||||
{props.tablePageSize > subPage.length &&
|
{props.pageSize > subPage.length &&
|
||||||
renderEmptyRows(
|
renderEmptyRows(
|
||||||
props.tablePageSize - subPage.length,
|
props.pageSize - subPage.length,
|
||||||
props.columns,
|
props.columns,
|
||||||
props.width,
|
props.width,
|
||||||
subPage,
|
subPage,
|
||||||
|
|
|
||||||
|
|
@ -93,8 +93,6 @@ interface TableHeaderProps {
|
||||||
nextPageClick: () => void;
|
nextPageClick: () => void;
|
||||||
prevPageClick: () => void;
|
prevPageClick: () => void;
|
||||||
pageNo: number;
|
pageNo: number;
|
||||||
defaultPageSize?: number;
|
|
||||||
totalRecordsCount?: number;
|
|
||||||
tableData: Array<Record<string, unknown>>;
|
tableData: Array<Record<string, unknown>>;
|
||||||
tableColumns: ReactTableColumnProps[];
|
tableColumns: ReactTableColumnProps[];
|
||||||
pageCount: number;
|
pageCount: number;
|
||||||
|
|
@ -163,7 +161,7 @@ function TableHeader(props: TableHeaderProps) {
|
||||||
<PaginationWrapper>
|
<PaginationWrapper>
|
||||||
<PaginationItemWrapper
|
<PaginationItemWrapper
|
||||||
className="t--table-widget-prev-page"
|
className="t--table-widget-prev-page"
|
||||||
disabled={props.pageNo === 0}
|
disabled={false}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
props.prevPageClick();
|
props.prevPageClick();
|
||||||
}}
|
}}
|
||||||
|
|
@ -175,7 +173,7 @@ function TableHeader(props: TableHeaderProps) {
|
||||||
</PaginationItemWrapper>
|
</PaginationItemWrapper>
|
||||||
<PaginationItemWrapper
|
<PaginationItemWrapper
|
||||||
className="t--table-widget-next-page"
|
className="t--table-widget-next-page"
|
||||||
disabled={props.pageNo === props.pageCount - 1}
|
disabled={false}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
props.nextPageClick();
|
props.nextPageClick();
|
||||||
}}
|
}}
|
||||||
|
|
@ -187,10 +185,7 @@ function TableHeader(props: TableHeaderProps) {
|
||||||
{props.isVisiblePagination && !props.serverSidePaginationEnabled && (
|
{props.isVisiblePagination && !props.serverSidePaginationEnabled && (
|
||||||
<PaginationWrapper>
|
<PaginationWrapper>
|
||||||
<RowWrapper className="show-page-items">
|
<RowWrapper className="show-page-items">
|
||||||
{props.totalRecordsCount
|
{props.tableData?.length} Records
|
||||||
? props.totalRecordsCount
|
|
||||||
: props.tableData?.length}{" "}
|
|
||||||
Records
|
|
||||||
</RowWrapper>
|
</RowWrapper>
|
||||||
<PaginationItemWrapper
|
<PaginationItemWrapper
|
||||||
className="t--table-widget-prev-page"
|
className="t--table-widget-prev-page"
|
||||||
|
|
|
||||||
|
|
@ -42,9 +42,6 @@ interface ReactTableComponentProps {
|
||||||
width: number;
|
width: number;
|
||||||
height: number;
|
height: number;
|
||||||
pageSize: number;
|
pageSize: number;
|
||||||
tablePageSize: number;
|
|
||||||
defaultPageSize?: number;
|
|
||||||
totalRecordsCount?: number;
|
|
||||||
tableData: Array<Record<string, unknown>>;
|
tableData: Array<Record<string, unknown>>;
|
||||||
disableDrag: (disable: boolean) => void;
|
disableDrag: (disable: boolean) => void;
|
||||||
onRowClick: (rowData: Record<string, unknown>, rowIndex: number) => void;
|
onRowClick: (rowData: Record<string, unknown>, rowIndex: number) => void;
|
||||||
|
|
@ -82,7 +79,6 @@ function ReactTableComponent(props: ReactTableComponentProps) {
|
||||||
columns,
|
columns,
|
||||||
columnSizeMap,
|
columnSizeMap,
|
||||||
compactMode,
|
compactMode,
|
||||||
defaultPageSize,
|
|
||||||
disableDrag,
|
disableDrag,
|
||||||
editMode,
|
editMode,
|
||||||
filters,
|
filters,
|
||||||
|
|
@ -107,8 +103,6 @@ function ReactTableComponent(props: ReactTableComponentProps) {
|
||||||
serverSidePaginationEnabled,
|
serverSidePaginationEnabled,
|
||||||
sortTableColumn: _sortTableColumn,
|
sortTableColumn: _sortTableColumn,
|
||||||
tableData,
|
tableData,
|
||||||
tablePageSize,
|
|
||||||
totalRecordsCount,
|
|
||||||
triggerRowSelection,
|
triggerRowSelection,
|
||||||
updateCompactMode,
|
updateCompactMode,
|
||||||
updatePageNo,
|
updatePageNo,
|
||||||
|
|
@ -235,7 +229,6 @@ function ReactTableComponent(props: ReactTableComponentProps) {
|
||||||
columns={columns}
|
columns={columns}
|
||||||
compactMode={compactMode}
|
compactMode={compactMode}
|
||||||
data={tableData}
|
data={tableData}
|
||||||
defaultPageSize={defaultPageSize}
|
|
||||||
disableDrag={() => {
|
disableDrag={() => {
|
||||||
disableDrag(true);
|
disableDrag(true);
|
||||||
}}
|
}}
|
||||||
|
|
@ -263,8 +256,6 @@ function ReactTableComponent(props: ReactTableComponentProps) {
|
||||||
selectedRowIndices={selectedRowIndices}
|
selectedRowIndices={selectedRowIndices}
|
||||||
serverSidePaginationEnabled={serverSidePaginationEnabled}
|
serverSidePaginationEnabled={serverSidePaginationEnabled}
|
||||||
sortTableColumn={sortTableColumn}
|
sortTableColumn={sortTableColumn}
|
||||||
tablePageSize={tablePageSize}
|
|
||||||
totalRecordsCount={totalRecordsCount}
|
|
||||||
triggerRowSelection={triggerRowSelection}
|
triggerRowSelection={triggerRowSelection}
|
||||||
updateCompactMode={updateCompactMode}
|
updateCompactMode={updateCompactMode}
|
||||||
updatePageNo={updatePageNo}
|
updatePageNo={updatePageNo}
|
||||||
|
|
@ -279,7 +270,6 @@ export default React.memo(ReactTableComponent, (prev, next) => {
|
||||||
return (
|
return (
|
||||||
prev.applyFilter === next.applyFilter &&
|
prev.applyFilter === next.applyFilter &&
|
||||||
prev.compactMode === next.compactMode &&
|
prev.compactMode === next.compactMode &&
|
||||||
prev.defaultPageSize === next.defaultPageSize &&
|
|
||||||
prev.disableDrag === next.disableDrag &&
|
prev.disableDrag === next.disableDrag &&
|
||||||
prev.editMode === next.editMode &&
|
prev.editMode === next.editMode &&
|
||||||
prev.filters === next.filters &&
|
prev.filters === next.filters &&
|
||||||
|
|
@ -296,7 +286,6 @@ export default React.memo(ReactTableComponent, (prev, next) => {
|
||||||
prev.onRowClick === next.onRowClick &&
|
prev.onRowClick === next.onRowClick &&
|
||||||
prev.pageNo === next.pageNo &&
|
prev.pageNo === next.pageNo &&
|
||||||
prev.pageSize === next.pageSize &&
|
prev.pageSize === next.pageSize &&
|
||||||
prev.tablePageSize === next.tablePageSize &&
|
|
||||||
prev.prevPageClick === next.prevPageClick &&
|
prev.prevPageClick === next.prevPageClick &&
|
||||||
prev.searchKey === next.searchKey &&
|
prev.searchKey === next.searchKey &&
|
||||||
prev.searchTableData === next.searchTableData &&
|
prev.searchTableData === next.searchTableData &&
|
||||||
|
|
@ -304,7 +293,6 @@ export default React.memo(ReactTableComponent, (prev, next) => {
|
||||||
prev.selectedRowIndices === next.selectedRowIndices &&
|
prev.selectedRowIndices === next.selectedRowIndices &&
|
||||||
prev.serverSidePaginationEnabled === next.serverSidePaginationEnabled &&
|
prev.serverSidePaginationEnabled === next.serverSidePaginationEnabled &&
|
||||||
prev.sortTableColumn === next.sortTableColumn &&
|
prev.sortTableColumn === next.sortTableColumn &&
|
||||||
prev.totalRecordsCount === next.totalRecordsCount &&
|
|
||||||
prev.triggerRowSelection === next.triggerRowSelection &&
|
prev.triggerRowSelection === next.triggerRowSelection &&
|
||||||
prev.updateCompactMode === next.updateCompactMode &&
|
prev.updateCompactMode === next.updateCompactMode &&
|
||||||
prev.updatePageNo === next.updatePageNo &&
|
prev.updatePageNo === next.updatePageNo &&
|
||||||
|
|
|
||||||
|
|
@ -116,7 +116,6 @@ describe("getAllPathsFromPropertyConfig", () => {
|
||||||
selectedRow: EvaluationSubstitutionType.TEMPLATE,
|
selectedRow: EvaluationSubstitutionType.TEMPLATE,
|
||||||
selectedRows: EvaluationSubstitutionType.TEMPLATE,
|
selectedRows: EvaluationSubstitutionType.TEMPLATE,
|
||||||
tableData: EvaluationSubstitutionType.SMART_SUBSTITUTE,
|
tableData: EvaluationSubstitutionType.SMART_SUBSTITUTE,
|
||||||
defaultPageSize: EvaluationSubstitutionType.TEMPLATE,
|
|
||||||
defaultSearchText: EvaluationSubstitutionType.TEMPLATE,
|
defaultSearchText: EvaluationSubstitutionType.TEMPLATE,
|
||||||
defaultSelectedRow: EvaluationSubstitutionType.TEMPLATE,
|
defaultSelectedRow: EvaluationSubstitutionType.TEMPLATE,
|
||||||
isVisible: EvaluationSubstitutionType.TEMPLATE,
|
isVisible: EvaluationSubstitutionType.TEMPLATE,
|
||||||
|
|
@ -155,7 +154,6 @@ describe("getAllPathsFromPropertyConfig", () => {
|
||||||
EvaluationSubstitutionType.TEMPLATE,
|
EvaluationSubstitutionType.TEMPLATE,
|
||||||
"primaryColumns.status.buttonLabelColor":
|
"primaryColumns.status.buttonLabelColor":
|
||||||
EvaluationSubstitutionType.TEMPLATE,
|
EvaluationSubstitutionType.TEMPLATE,
|
||||||
totalRecordsCount: EvaluationSubstitutionType.TEMPLATE,
|
|
||||||
},
|
},
|
||||||
triggerPaths: {
|
triggerPaths: {
|
||||||
onRowSelected: true,
|
onRowSelected: true,
|
||||||
|
|
@ -165,12 +163,10 @@ describe("getAllPathsFromPropertyConfig", () => {
|
||||||
"primaryColumns.status.onClick": true,
|
"primaryColumns.status.onClick": true,
|
||||||
},
|
},
|
||||||
validationPaths: {
|
validationPaths: {
|
||||||
defaultPageSize: "NUMBER",
|
|
||||||
defaultSearchText: "TEXT",
|
defaultSearchText: "TEXT",
|
||||||
defaultSelectedRow: "DEFAULT_SELECTED_ROW",
|
defaultSelectedRow: "DEFAULT_SELECTED_ROW",
|
||||||
isVisible: "BOOLEAN",
|
isVisible: "BOOLEAN",
|
||||||
tableData: "TABLE_DATA",
|
tableData: "TABLE_DATA",
|
||||||
totalRecordsCount: "NUMBER",
|
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -76,8 +76,6 @@ export const entityDefinitions = {
|
||||||
pageSize: "number",
|
pageSize: "number",
|
||||||
isVisible: isVisible,
|
isVisible: isVisible,
|
||||||
searchText: "string",
|
searchText: "string",
|
||||||
defaultPageSize: "number",
|
|
||||||
totalRecordsCount: "number",
|
|
||||||
}),
|
}),
|
||||||
VIDEO_WIDGET: {
|
VIDEO_WIDGET: {
|
||||||
"!doc":
|
"!doc":
|
||||||
|
|
|
||||||
|
|
@ -663,24 +663,6 @@ export default [
|
||||||
isTriggerProperty: false,
|
isTriggerProperty: false,
|
||||||
validation: VALIDATION_TYPES.TEXT,
|
validation: VALIDATION_TYPES.TEXT,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
propertyName: "totalRecordsCount",
|
|
||||||
label: "Total Record Count",
|
|
||||||
controlType: "INPUT_TEXT",
|
|
||||||
placeholderText: "Enter total record count",
|
|
||||||
isBindProperty: true,
|
|
||||||
isTriggerProperty: false,
|
|
||||||
validation: VALIDATION_TYPES.NUMBER,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
propertyName: "defaultPageSize",
|
|
||||||
label: "Default Page Size",
|
|
||||||
controlType: "INPUT_TEXT",
|
|
||||||
placeholderText: "Enter default page size",
|
|
||||||
isBindProperty: true,
|
|
||||||
isTriggerProperty: false,
|
|
||||||
validation: VALIDATION_TYPES.NUMBER,
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
helpText: "Selects the default selected row",
|
helpText: "Selects the default selected row",
|
||||||
propertyName: "defaultSelectedRow",
|
propertyName: "defaultSelectedRow",
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,4 @@ export interface TableWidgetProps extends WidgetProps, WithMeta, TableStyles {
|
||||||
column: string;
|
column: string;
|
||||||
asc: boolean;
|
asc: boolean;
|
||||||
};
|
};
|
||||||
totalRecordCount?: number;
|
|
||||||
defaultPageSize?: number;
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -538,20 +538,6 @@ class TableWidget extends BaseWidget<TableWidgetProps, WidgetState> {
|
||||||
|
|
||||||
if (!this.props.pageNo) this.props.updateWidgetMetaProperty("pageNo", 1);
|
if (!this.props.pageNo) this.props.updateWidgetMetaProperty("pageNo", 1);
|
||||||
|
|
||||||
//update pageNo when defaultPageSize or totalRecordsCount is changed
|
|
||||||
if (
|
|
||||||
this.props.defaultPageSize &&
|
|
||||||
this.props.totalRecordCount &&
|
|
||||||
this.props.pageNo
|
|
||||||
) {
|
|
||||||
const maxAllowedPageNumber = Math.ceil(
|
|
||||||
this.props.totalRecordCount / this.props.defaultPageSize,
|
|
||||||
);
|
|
||||||
if (this.props.pageNo > maxAllowedPageNumber) {
|
|
||||||
this.props.updateWidgetMetaProperty("pageNo", maxAllowedPageNumber);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// If the user has switched the mutiple row selection feature
|
// If the user has switched the mutiple row selection feature
|
||||||
if (this.props.multiRowSelection !== prevProps.multiRowSelection) {
|
if (this.props.multiRowSelection !== prevProps.multiRowSelection) {
|
||||||
// It is switched ON:
|
// It is switched ON:
|
||||||
|
|
@ -576,10 +562,7 @@ class TableWidget extends BaseWidget<TableWidgetProps, WidgetState> {
|
||||||
this.updateSelectedRowIndex();
|
this.updateSelectedRowIndex();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (
|
if (this.props.pageSize !== prevProps.pageSize) {
|
||||||
this.props.pageSize !== prevProps.pageSize ||
|
|
||||||
this.props.defaultPageSize !== prevProps.defaultPageSize
|
|
||||||
) {
|
|
||||||
if (this.props.onPageSizeChange) {
|
if (this.props.onPageSizeChange) {
|
||||||
super.executeAction({
|
super.executeAction({
|
||||||
triggerPropertyName: "onPageSizeChange",
|
triggerPropertyName: "onPageSizeChange",
|
||||||
|
|
@ -634,8 +617,7 @@ class TableWidget extends BaseWidget<TableWidgetProps, WidgetState> {
|
||||||
|
|
||||||
getPageView() {
|
getPageView() {
|
||||||
const {
|
const {
|
||||||
totalRecordsCount,
|
pageSize,
|
||||||
defaultPageSize,
|
|
||||||
filteredTableData = [],
|
filteredTableData = [],
|
||||||
isVisibleCompactMode,
|
isVisibleCompactMode,
|
||||||
isVisibleDownload,
|
isVisibleDownload,
|
||||||
|
|
@ -643,28 +625,8 @@ class TableWidget extends BaseWidget<TableWidgetProps, WidgetState> {
|
||||||
isVisiblePagination,
|
isVisiblePagination,
|
||||||
isVisibleSearch,
|
isVisibleSearch,
|
||||||
} = this.props;
|
} = this.props;
|
||||||
const pageSize = defaultPageSize ? defaultPageSize : this.props.pageSize;
|
|
||||||
const tableColumns = this.getTableColumns() || [];
|
const tableColumns = this.getTableColumns() || [];
|
||||||
const paginatedFilteredData = [...filteredTableData];
|
const transformedData = this.transformData(filteredTableData, tableColumns);
|
||||||
if (defaultPageSize && totalRecordsCount) {
|
|
||||||
//if total records count configured is more than tableData
|
|
||||||
if (this.props.pageNo * defaultPageSize > totalRecordsCount) {
|
|
||||||
const count =
|
|
||||||
totalRecordsCount - (this.props.pageNo - 1) * defaultPageSize;
|
|
||||||
paginatedFilteredData.splice(count, paginatedFilteredData.length);
|
|
||||||
}
|
|
||||||
// Manage defaultPageSize data
|
|
||||||
if (paginatedFilteredData.length > defaultPageSize) {
|
|
||||||
paginatedFilteredData.splice(
|
|
||||||
defaultPageSize,
|
|
||||||
paginatedFilteredData.length,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
const transformedData = this.transformData(
|
|
||||||
paginatedFilteredData,
|
|
||||||
tableColumns,
|
|
||||||
);
|
|
||||||
const { componentHeight, componentWidth } = this.getComponentDimensions();
|
const { componentHeight, componentWidth } = this.getComponentDimensions();
|
||||||
const isVisibleHeaderOptions =
|
const isVisibleHeaderOptions =
|
||||||
isVisibleCompactMode ||
|
isVisibleCompactMode ||
|
||||||
|
|
@ -680,7 +642,6 @@ class TableWidget extends BaseWidget<TableWidgetProps, WidgetState> {
|
||||||
columnSizeMap={this.props.columnSizeMap}
|
columnSizeMap={this.props.columnSizeMap}
|
||||||
columns={tableColumns}
|
columns={tableColumns}
|
||||||
compactMode={this.props.compactMode || CompactModeTypes.DEFAULT}
|
compactMode={this.props.compactMode || CompactModeTypes.DEFAULT}
|
||||||
defaultPageSize={defaultPageSize}
|
|
||||||
disableDrag={this.toggleDrag}
|
disableDrag={this.toggleDrag}
|
||||||
editMode={this.props.renderMode === RenderModes.CANVAS}
|
editMode={this.props.renderMode === RenderModes.CANVAS}
|
||||||
filters={this.props.filters}
|
filters={this.props.filters}
|
||||||
|
|
@ -713,8 +674,6 @@ class TableWidget extends BaseWidget<TableWidgetProps, WidgetState> {
|
||||||
serverSidePaginationEnabled={!!this.props.serverSidePaginationEnabled}
|
serverSidePaginationEnabled={!!this.props.serverSidePaginationEnabled}
|
||||||
sortTableColumn={this.handleColumnSorting}
|
sortTableColumn={this.handleColumnSorting}
|
||||||
tableData={transformedData}
|
tableData={transformedData}
|
||||||
tablePageSize={Math.max(1, this.props.pageSize)}
|
|
||||||
totalRecordsCount={totalRecordsCount}
|
|
||||||
triggerRowSelection={this.props.triggerRowSelection}
|
triggerRowSelection={this.props.triggerRowSelection}
|
||||||
updateCompactMode={this.handleCompactModeChange}
|
updateCompactMode={this.handleCompactModeChange}
|
||||||
updatePageNo={this.updatePageNumber}
|
updatePageNo={this.updatePageNumber}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user