From 4b2c1fc316ecbdea7ae9b57779e949206b5e2498 Mon Sep 17 00:00:00 2001 From: Yash Vibhandik Date: Thu, 11 Nov 2021 16:09:21 +0530 Subject: [PATCH] fix: 8543 added disabled flag support in icon button table widget (#8950) * fix: 8543 added disabled flag support in icon button table widget * updated test case --- .../DisplayWidgets/Table_Widget_Add_button_spec.js | 8 ++++++++ .../src/widgets/TableWidget/component/TableUtilities.tsx | 4 ++++ app/client/src/widgets/TableWidget/widget/index.tsx | 1 + 3 files changed, 13 insertions(+) diff --git a/app/client/cypress/integration/Smoke_TestSuite/ClientSideTests/DisplayWidgets/Table_Widget_Add_button_spec.js b/app/client/cypress/integration/Smoke_TestSuite/ClientSideTests/DisplayWidgets/Table_Widget_Add_button_spec.js index 2123a82771..a609b01211 100644 --- a/app/client/cypress/integration/Smoke_TestSuite/ClientSideTests/DisplayWidgets/Table_Widget_Add_button_spec.js +++ b/app/client/cypress/integration/Smoke_TestSuite/ClientSideTests/DisplayWidgets/Table_Widget_Add_button_spec.js @@ -95,6 +95,14 @@ describe("Table Widget property pane feature validation", function() { force: true, }); cy.get(".t--widget-tablewidget .tbody .bp3-icon-add").should("exist"); + + // disabled icon btn + cy.CheckWidgetProperties(commonlocators.disableCheckbox); + cy.getTableDataSelector("0", "4").then((selector) => { + cy.get(selector + " button.bp3-disabled").should("exist"); + }); + cy.UncheckWidgetProperties(commonlocators.disableCheckbox); + //Delete Column cy.get(".t--property-pane-back-btn").click({ force: true, diff --git a/app/client/src/widgets/TableWidget/component/TableUtilities.tsx b/app/client/src/widgets/TableWidget/component/TableUtilities.tsx index 4af0febc21..e3b1677211 100644 --- a/app/client/src/widgets/TableWidget/component/TableUtilities.tsx +++ b/app/client/src/widgets/TableWidget/component/TableUtilities.tsx @@ -187,6 +187,7 @@ interface RenderIconButtonProps { boxShadowColor: string; onCommandClick: (dynamicTrigger: string, onComplete: () => void) => void; isCellVisible: boolean; + disabled: boolean; } export const renderIconButton = ( props: RenderIconButtonProps, @@ -211,6 +212,7 @@ export const renderIconButton = ( boxShadowColor={props.boxShadowColor} buttonColor={props.buttonColor} buttonVariant={props.buttonVariant} + disabled={props.disabled} iconName={props.iconName} isSelected={props.isSelected} key={index} @@ -231,6 +233,7 @@ function IconButton(props: { borderRadius: ButtonBorderRadius; boxShadow: ButtonBoxShadow; boxShadowColor: string; + disabled: boolean; }): JSX.Element { const [loading, setLoading] = useState(false); const onComplete = () => { @@ -257,6 +260,7 @@ function IconButton(props: { boxShadowColor={props.boxShadowColor} buttonColor={props.buttonColor} buttonVariant={props.buttonVariant} + disabled={props.disabled} icon={props.iconName} loading={loading} onClick={handleClick} diff --git a/app/client/src/widgets/TableWidget/widget/index.tsx b/app/client/src/widgets/TableWidget/widget/index.tsx index 97f2f867ec..a803535b99 100644 --- a/app/client/src/widgets/TableWidget/widget/index.tsx +++ b/app/client/src/widgets/TableWidget/widget/index.tsx @@ -245,6 +245,7 @@ class TableWidget extends BaseWidget { boxShadow: cellProperties.boxShadow || "NONE", boxShadowColor: cellProperties.boxShadowColor || "", isCellVisible: cellProperties.isCellVisible ?? true, + disabled: !!cellProperties.isDisabled, }; return renderIconButton(iconButtonProps, isHidden, cellProperties); } else {