Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
203 commits
Select commit Hold shift + click to select a range
462db00
Merge pull request #36723 from appsmithorg/release
btsgh Oct 7, 2024
524d400
Merge pull request #36742 from appsmithorg/release
btsgh Oct 8, 2024
5c7a468
Merge pull request #36792 from appsmithorg/release
btsgh Oct 10, 2024
662df2d
chore: Supress the failure in case DB url is not found in CI (#36796)
abhvsn Oct 10, 2024
43b4737
chore: Supress the failure in case DB url is not found in CI
abhvsn Oct 10, 2024
7649de5
Merge pull request #36833 from appsmithorg/release
yatinappsmith Oct 11, 2024
cf75cf5
Merge pull request #36850 from appsmithorg/release
btsgh Oct 14, 2024
b086761
chore: Use Lettuce client to run clear keys across Redis nodes (#36862)
nidhi-nair Oct 14, 2024
23d5834
Merge pull request #36867 from appsmithorg/cp/20241014-1
nidhi-nair Oct 14, 2024
203b653
Merge pull request #36928 from appsmithorg/release
btsgh Oct 17, 2024
0a66486
Merge pull request #36962 from appsmithorg/release
btsgh Oct 18, 2024
c4e4ce3
Merge pull request #36985 from appsmithorg/release
btsgh Oct 21, 2024
6f7d58c
Merge pull request #37032 from appsmithorg/release
btsgh Oct 23, 2024
c3f8c5d
Merge pull request #37050 from appsmithorg/release
btsgh Oct 24, 2024
f170b92
Merge pull request #37082 from appsmithorg/release
btsgh Oct 25, 2024
19ffda1
Merge pull request #37113 from appsmithorg/release
btsgh Oct 28, 2024
67123fa
Merge pull request #37132 from appsmithorg/release
yatinappsmith Oct 30, 2024
5367d23
Merge pull request #37215 from appsmithorg/release
yatinappsmith Nov 5, 2024
7c3c28d
Merge pull request #37251 from appsmithorg/release
btsgh Nov 6, 2024
519ce9a
Merge pull request #37315 from appsmithorg/release
btsgh Nov 11, 2024
5811d43
Merge pull request #37332 from appsmithorg/release
btsgh Nov 12, 2024
ed4b37f
Merge pull request #37407 from appsmithorg/release
btsgh Nov 15, 2024
fc589d9
Merge pull request #37433 from appsmithorg/release
btsgh Nov 18, 2024
c3cb5ef
Merge pull request #37552 from appsmithorg/release
btsgh Nov 19, 2024
f041fcb
Merge pull request #37613 from appsmithorg/release
btsgh Nov 21, 2024
2613b67
Merge pull request #37645 from appsmithorg/release
btsgh Nov 22, 2024
9eb9e3d
Merge pull request #37669 from appsmithorg/release
yatinappsmith Nov 25, 2024
455abf8
fix: Signup from OAuth not being detected correctly (#37697)
sharat87 Nov 26, 2024
9a285aa
fix: Super user cache eviction when user is added via env variable (#…
abhvsn Nov 28, 2024
6c5fc61
fix: Super user cache eviction when user is added via env variable (#…
abhvsn Nov 28, 2024
4df3d45
chore: Google sheet shared drive support added behind a flag (#37776)
Nov 28, 2024
8a1a287
chore: action execution solution test fixed (#37793)
Nov 28, 2024
c5efa91
Merge pull request #37792 from appsmithorg/chore/cherry-pick-gs-share…
nidhi-nair Nov 28, 2024
a4c8a02
Merge pull request #37842 from appsmithorg/release
btsgh Nov 29, 2024
5ef0e94
Merge pull request #37866 from appsmithorg/release
btsgh Dec 2, 2024
a8e3d71
fix: Broken UI on JS module instance in the side by side view mode (#…
ankitakinger Dec 3, 2024
8d910dd
Merge pull request #37913 from appsmithorg/chore/cherry-pick-js-modul…
btsgh Dec 3, 2024
1edecf1
fix: fixing usage pulse for anon user (#37940)
Dec 4, 2024
7930bec
Merge pull request #37952 from appsmithorg/chore/usage-pulse-cherry-pick
btsgh Dec 5, 2024
54c8e78
Merge pull request #38005 from appsmithorg/release
btsgh Dec 6, 2024
5f9f0fb
Merge pull request #38036 from appsmithorg/release
btsgh Dec 9, 2024
299ce06
fix: Only updating the required fields in User while generating usage…
trishaanand Dec 9, 2024
2199333
Merge pull request #38047 from appsmithorg/cherry-pick/idToken-missing
trishaanand Dec 9, 2024
7c21b1c
Merge pull request #38095 from appsmithorg/release
yatinappsmith Dec 11, 2024
ae9e006
fixing the client build failure on prod
ankitakinger Dec 11, 2024
76fc6f5
Merge pull request #38109 from appsmithorg/chore/cherry-picking-fix
mohanarpit Dec 11, 2024
6689edd
Merge pull request #38124 from appsmithorg/release
btsgh Dec 12, 2024
f7b0472
Merge pull request #38146 from appsmithorg/release
btsgh Dec 13, 2024
16b5d20
Merge pull request #38181 from appsmithorg/release
btsgh Dec 16, 2024
28a260f
Merge pull request #38255 from appsmithorg/release
btsgh Dec 19, 2024
ec457c9
fix: Enhance SelectWidget label and value handling logic (#38254)
rahulbarwal Dec 19, 2024
01d3ff5
fix: Enhance SelectWidget label and value handling logic (#38254)
mohanarpit Dec 19, 2024
b4b40d4
Merge pull request #38273 from appsmithorg/release
btsgh Dec 20, 2024
f4fcc8a
Merge pull request #38322 from appsmithorg/release
btsgh Dec 23, 2024
299a54e
27/12 Daily Promotion
abhvsn Dec 27, 2024
ef9f6f2
Merge pull request #38401 from appsmithorg/release
btsgh Dec 30, 2024
0c65248
Merge pull request #38438 from appsmithorg/release
btsgh Jan 1, 2025
8fb677f
fix: Updating the click functionalities in list item component (#38453)
ankitakinger Jan 2, 2025
e825f5d
Merge pull request #38461 from appsmithorg/chore/cherry-pick-fix
nidhi-nair Jan 3, 2025
1c4b237
feat: ADS Entity Item (#38442)
hetunandu Jan 6, 2025
9f610f3
Merge pull request #38532 from appsmithorg/chore/cherry-pick-resolve-…
hetunandu Jan 8, 2025
a522d73
Merge pull request #38526 from appsmithorg/release
btsgh Jan 8, 2025
43269b1
fix: Updating CSS for list item to fix UI breaking on JS module insta…
ankitakinger Jan 9, 2025
efdabad
Merge pull request #38562 from appsmithorg/chore/cherry-pick-list-item
hetunandu Jan 9, 2025
c7197af
Merge pull request #38610 from appsmithorg/release
btsgh Jan 13, 2025
2eb168f
Merge pull request #38689 from appsmithorg/release
btsgh Jan 16, 2025
1fede7e
Merge pull request #38730 from appsmithorg/release
btsgh Jan 17, 2025
0245c2e
Merge pull request #38765 from appsmithorg/release
btsgh Jan 20, 2025
1a8abac
Merge pull request #38801 from appsmithorg/release
btsgh Jan 22, 2025
c8c8944
Merge pull request #38815 from appsmithorg/release
btsgh Jan 23, 2025
c026f33
Merge pull request #38838 from appsmithorg/release
btsgh Jan 24, 2025
da86a06
Merge pull request #38850 from appsmithorg/release
btsgh Jan 27, 2025
4fd86aa
Merge pull request #38860 from appsmithorg/release
btsgh Jan 28, 2025
b67e768
Merge pull request #38911 from appsmithorg/release
btsgh Jan 30, 2025
caa3d33
Merge pull request #38936 from appsmithorg/release
btsgh Jan 31, 2025
b2c44ee
Merge pull request #38953 from appsmithorg/release
btsgh Feb 3, 2025
92d1b0a
fix: Release blocker: focus ring issue in code mirror (#39022)
albinAppsmith Feb 5, 2025
a089b9c
Merge pull request #39042 from appsmithorg/hotfix/focus-ring
btsgh Feb 6, 2025
1d3904e
Merge pull request #39105 from appsmithorg/release
btsgh Feb 7, 2025
fe45242
Merge pull request #39143 from appsmithorg/release
btsgh Feb 10, 2025
ea6ef42
Merge pull request #39172 from appsmithorg/release
btsgh Feb 11, 2025
48d0040
fix: Scheduling the heavy database ops on bounded elastic thread pool…
trishaanand Feb 11, 2025
fe1f2eb
Merge pull request #39177 from appsmithorg/chore/cherry-pick-11Feb24
trishaanand Feb 12, 2025
3a7313e
Merge pull request #39247 from appsmithorg/release
btsgh Feb 13, 2025
16f155d
Merge pull request #39266 from appsmithorg/release
btsgh Feb 14, 2025
da03131
Merge pull request #39305 from appsmithorg/release
yatinappsmith Feb 17, 2025
adcec37
chore: Code split for logout success handler (#39296)
abhvsn Feb 18, 2025
dd81167
chore: Code split for logout success handler (#39296)
abhvsn Feb 18, 2025
c41eaf9
Merge pull request #39380 from appsmithorg/release
btsgh Feb 20, 2025
d7fccb2
Merge pull request #39387 from appsmithorg/release
btsgh Feb 21, 2025
5e0faaa
Merge pull request #39393 from appsmithorg/release
btsgh Feb 21, 2025
af9b8e2
Merge pull request #39431 from appsmithorg/release
btsgh Feb 25, 2025
bbe9b7f
Merge pull request #39436 from appsmithorg/release
btsgh Feb 25, 2025
c704cec
fix: Adding a style to update the width of App settings (#39456)
ankitakinger Feb 26, 2025
372fb46
Merge pull request #39457 from appsmithorg/chore/cherry-pick-app-sett…
hetunandu Feb 27, 2025
3b3df71
chore: fixes issue with pull redirection (#39478)
Feb 27, 2025
b4e674d
Merge pull request #39480 from appsmithorg/chore/cherry-fix-git-pkg
btsgh Feb 28, 2025
47f9eab
Merge pull request #39555 from appsmithorg/release
btsgh Mar 5, 2025
c2e1703
Merge pull request #39611 from appsmithorg/release
btsgh Mar 7, 2025
4241768
Merge pull request #39642 from appsmithorg/release
btsgh Mar 10, 2025
f7ffbc3
fix: Skip CSRF check if there's JSON content type
sharat87 Mar 11, 2025
6787fa0
fix: CSRF token in email verification form
sharat87 Mar 11, 2025
b0334f5
Merge pull request #39746 from appsmithorg/release
btsgh Mar 17, 2025
7b94298
Merge pull request #39760 from appsmithorg/release
btsgh Mar 18, 2025
8000abd
Merge pull request #39832 from appsmithorg/release
btsgh Mar 20, 2025
2ac0fa2
Merge pull request #39843 from appsmithorg/release
btsgh Mar 21, 2025
c1257b4
Merge pull request #39873 from appsmithorg/release
btsgh Mar 24, 2025
43d4a7e
Merge pull request #39902 from appsmithorg/release
btsgh Mar 25, 2025
cef9ab7
fix: reverted git executor layer (#39949)
sondermanish Mar 27, 2025
4a142af
chore: cherry pick git executor revert (#39954)
nidhi-nair Mar 28, 2025
3fee7d1
Merge pull request #39979 from appsmithorg/release
btsgh Mar 31, 2025
00dc5ee
Merge pull request #40001 from appsmithorg/release
btsgh Apr 1, 2025
b12a1e3
Merge pull request #40035 from appsmithorg/release
btsgh Apr 2, 2025
0ee74a9
chore: Update CustomCookieWebSessionIdResolverCE.java to not require …
nidhi-nair Apr 4, 2025
c20166a
Merge pull request #40077 from appsmithorg/cp/20250404-1
nidhi-nair Apr 4, 2025
3975667
chore: Adding handling for empty environment variable for SSO configu…
trishaanand Apr 4, 2025
535792f
Merge pull request #40080 from appsmithorg/cherry-pick/spec-fix-4Apr25
trishaanand Apr 4, 2025
f4bfb9f
Merge pull request #40125 from appsmithorg/release
btsgh Apr 7, 2025
a43a923
Merge pull request #40155 from appsmithorg/release
btsgh Apr 8, 2025
b86f196
Merge pull request #40172 from appsmithorg/release
nidhi-nair Apr 8, 2025
a4c9e87
feat: Add isWithinAnOrganization state to organization reducer (#40168)
albinAppsmith Apr 8, 2025
792bca6
fix: Hotfix - within org redirection
abhvsn Apr 8, 2025
438b9ac
chore: move ai chat from help to bottom bar (#40175)
hetunandu Apr 9, 2025
0061662
chore: Add chrome extension link in embed (#40179)
jsartisan Apr 9, 2025
d878765
chore: Update AI agent tag to preview (#40180)
hetunandu Apr 9, 2025
b7b5826
chore: add messages for chrome extension banner (#40181)
jsartisan Apr 9, 2025
aaea5d7
chore: Adding AI agent feature flag check for audit logs upgrade page…
ankitakinger Apr 9, 2025
254df21
Merge pull request #40186 from appsmithorg/cp/20250410-1
nidhi-nair Apr 9, 2025
cdec9c9
chore: bug fixes agents (#40206)
jsartisan Apr 10, 2025
dcf0c1f
chore: remove agents check for chrome extension on ce (#40189)
jsartisan Apr 9, 2025
9ac1709
chore: Add `organizationId` in MDC logs to ease debugging in multi-or…
abhvsn Apr 11, 2025
198b447
Merge pull request #40217 from appsmithorg/cp/nightly-20250411-1
nidhi-nair Apr 11, 2025
a1ee6c3
Merge pull request #40240 from appsmithorg/release
btsgh Apr 14, 2025
2789c75
Merge pull request #40269 from appsmithorg/release
yatinappsmith Apr 16, 2025
d62e9aa
chore: replaced Sentry with faro (#40270)
ApekshaBhosale Apr 16, 2025
fc13814
Merge pull request #40276 from appsmithorg/cherry-pick-apeksha
btsgh Apr 16, 2025
d7363c6
chore: fix issues in eval error logs sent to faro (#40285)
Apr 17, 2025
bf3fdd3
Merge pull request #40342 from appsmithorg/cherry-pick-eval-errors-fix
hetunandu Apr 22, 2025
43c2c98
Merge pull request #40337 from appsmithorg/release
yatinappsmith Apr 22, 2025
f4a33b7
Merge pull request #40460 from appsmithorg/release
btsgh Apr 28, 2025
16bf352
Merge pull request #40487 from appsmithorg/release
btsgh Apr 30, 2025
8a27ddc
Merge pull request #40551 from appsmithorg/release
btsgh May 2, 2025
01ca77b
Merge pull request #40571 from appsmithorg/release
btsgh May 5, 2025
4f371a1
Merge pull request #40593 from appsmithorg/release
btsgh May 7, 2025
65f1728
Merge pull request #40606 from appsmithorg/release
btsgh May 8, 2025
9cfb154
Merge pull request #40621 from appsmithorg/release
yatinappsmith May 9, 2025
0b77f61
Merge pull request #40630 from appsmithorg/release
btsgh May 12, 2025
37254c7
Merge pull request #40670 from appsmithorg/release
btsgh May 16, 2025
0651a6c
Merge pull request #40682 from appsmithorg/release
btsgh May 19, 2025
de50ebd
chore: added reset before checkout ref (#40689)
sondermanish May 19, 2025
d778bb1
Merge pull request #40699 from appsmithorg/cp/0520
btsgh May 20, 2025
18e7784
fix: logout user if the session has expired between page switches (#4…
May 21, 2025
b6c3243
fix: enhance session recording checks in MixpanelSingleton
jacquesikot May 21, 2025
cdf49d0
Merge pull request #40723 from appsmithorg/cherry-pick/logout-issue-p…
btsgh May 21, 2025
1284a69
Merge pull request #40725 from appsmithorg/fix/mixpanel-start-stop-re…
btsgh May 21, 2025
159c221
Merge pull request #40732 from appsmithorg/release
btsgh May 22, 2025
a6b8266
Merge pull request #40740 from appsmithorg/release
yatinappsmith May 23, 2025
bd04a04
Merge pull request #40751 from appsmithorg/release
btsgh May 26, 2025
3e65ca4
Merge pull request #40780 from appsmithorg/release
trishaanand May 28, 2025
be1db5a
fix: allow running as non-root (#40642) (#40793)
pratapaprasanna May 29, 2025
8d82bee
Merge pull request #40795 from appsmithorg/release
btsgh May 29, 2025
82d20b1
Merge pull request #40809 from appsmithorg/release
btsgh May 30, 2025
37072d7
Merge pull request #40819 from appsmithorg/release
btsgh Jun 2, 2025
344a394
Merge pull request #40859 from appsmithorg/release
btsgh Jun 4, 2025
996ad8c
Merge pull request #40872 from appsmithorg/release
btsgh Jun 5, 2025
5ee2044
Merge pull request #40885 from appsmithorg/release
btsgh Jun 6, 2025
6a185b3
Merge pull request #40889 from appsmithorg/release
btsgh Jun 9, 2025
77e1d30
Merge pull request #40920 from appsmithorg/release
btsgh Jun 11, 2025
36d8eaa
Merge pull request #40929 from appsmithorg/release
btsgh Jun 12, 2025
da96066
Merge pull request #40934 from appsmithorg/release
trishaanand Jun 13, 2025
f921d7c
Merge pull request #40972 from appsmithorg/release
btsgh Jun 18, 2025
5469b9f
Merge pull request #40975 from appsmithorg/release
btsgh Jun 19, 2025
f618cff
23/06 Daily Promotion (#41018)
trishaanand Jun 23, 2025
6f708b4
Merge pull request #41032 from appsmithorg/release
btsgh Jun 25, 2025
ee7245b
Merge pull request #41046 from appsmithorg/release
btsgh Jun 26, 2025
f041ba1
Merge pull request #41054 from appsmithorg/release
btsgh Jun 27, 2025
f5405c1
Merge pull request #41060 from appsmithorg/release
btsgh Jun 30, 2025
32b620a
Merge pull request #41077 from appsmithorg/release
btsgh Jul 3, 2025
9df3d69
Merge pull request #41085 from appsmithorg/release
yatinappsmith Jul 4, 2025
a256a97
Merge pull request #41088 from appsmithorg/release
btsgh Jul 7, 2025
7ffb554
Merge pull request #41100 from appsmithorg/release
btsgh Jul 9, 2025
81edda8
Merge pull request #41106 from appsmithorg/release
btsgh Jul 11, 2025
f96f581
Merge pull request #41108 from appsmithorg/release
btsgh Jul 14, 2025
4eaae6b
Merge pull request #41115 from appsmithorg/release
btsgh Jul 16, 2025
af49f71
Merge pull request #41128 from appsmithorg/release
btsgh Jul 23, 2025
58ef103
Merge pull request #41137 from appsmithorg/release
btsgh Jul 28, 2025
9abe20e
fix: Updating the logo in the app editor to use favicon instead (#41147)
ankitakinger Jul 29, 2025
9cc4757
Merge pull request #41148 from appsmithorg/chore/editor-logo-cherry-pick
btsgh Jul 29, 2025
51648cb
Merge pull request #41151 from appsmithorg/release
btsgh Jul 30, 2025
167dc96
Merge pull request #41155 from appsmithorg/release
btsgh Jul 31, 2025
e6ee52c
Merge pull request #41158 from appsmithorg/release
btsgh Aug 1, 2025
6227d74
Merge pull request #41163 from appsmithorg/release
btsgh Aug 4, 2025
feadcc7
Merge pull request #41175 from appsmithorg/release
btsgh Aug 11, 2025
7736fa0
Merge pull request #41179 from appsmithorg/release
btsgh Aug 13, 2025
6cc9e9a
Merge pull request #41186 from appsmithorg/release
btsgh Aug 21, 2025
3e02011
fix: update header cell editability logic for infinite scroll
rahulbarwal Sep 11, 2025
9f94de0
feat: add infinite scroll support to TableWidgetV2 column configuration
rahulbarwal Sep 11, 2025
fe8c2f8
feat: integrate infinite scroll support into cell components of Table…
rahulbarwal Sep 11, 2025
2be460c
fix types
rahulbarwal Sep 11, 2025
4d9d7a8
removes unnecessary checks and moves them to top level
rahulbarwal Sep 25, 2025
1cd448e
removes not required prop
rahulbarwal Sep 25, 2025
4d0ff9c
refactor: enhance editability logic for TableWidgetV2 to incorporate …
rahulbarwal Sep 25, 2025
d9a31bb
Apply changes for benchmark PR
tomerqodo Nov 24, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -199,8 +199,11 @@ const HeaderCellComponent = (props: HeaderProps) => {

const isColumnEditable =
props.column.columnProperties.isCellEditable &&
props.column.columnProperties.isEditable &&
isColumnTypeEditable(props.column.columnProperties.columnType);
isColumnTypeEditable(
props.column.columnProperties.columnType,
isInfiniteScrollEnabled,
) &&
props.column.columnProperties.isEditable;

const toggleColumnFreeze = (value: StickyType) => {
handleColumnFreeze &&
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ import {
updateCustomColumnAliasOnLabelChange,
selectColumnOptionsValidation,
allowedFirstDayOfWeekRange,
updateCellEditabilityOnInfiniteScrollChange,
updateSearchSortFilterOnInfiniteScrollChange,
} from "../propertyUtils";
import _ from "lodash";
Expand Down Expand Up @@ -1151,96 +1150,4 @@ describe("Infinite Scroll Update Hooks - ", () => {
),
).toBeUndefined();
});

it("updateCellEditabilityOnInfiniteScrollChange - should disable cell editability when infinite scroll is enabled", () => {
// Setup mock primary columns
const props = {
primaryColumns: {
column1: {
id: "column1",
alias: "column1",
isEditable: true,
isCellEditable: true,
},
column2: {
id: "column2",
alias: "column2",
isEditable: true,
isCellEditable: true,
},
},
} as unknown as TableWidgetProps;

// When infinite scroll is enabled
expect(
updateCellEditabilityOnInfiniteScrollChange(
props,
"infiniteScrollEnabled",
true,
),
).toEqual([
{
propertyPath: "primaryColumns.column1.isCellEditable",
propertyValue: false,
},
{
propertyPath: "primaryColumns.column1.isEditable",
propertyValue: false,
},
{
propertyPath: "primaryColumns.column2.isCellEditable",
propertyValue: false,
},
{
propertyPath: "primaryColumns.column2.isEditable",
propertyValue: false,
},
]);

// When infinite scroll is disabled
expect(
updateCellEditabilityOnInfiniteScrollChange(
props,
"infiniteScrollEnabled",
false,
),
).toEqual([
{
propertyPath: "primaryColumns.column1.isCellEditable",
propertyValue: true,
},
{
propertyPath: "primaryColumns.column1.isEditable",
propertyValue: true,
},
{
propertyPath: "primaryColumns.column2.isCellEditable",
propertyValue: true,
},
{
propertyPath: "primaryColumns.column2.isEditable",
propertyValue: true,
},
]);

// Test with no primary columns
const propsWithoutColumns = {} as TableWidgetProps;

expect(
updateCellEditabilityOnInfiniteScrollChange(
propsWithoutColumns,
"infiniteScrollEnabled",
true,
),
).toBeUndefined();

// When some other value is passed
expect(
updateCellEditabilityOnInfiniteScrollChange(
props,
"infiniteScrollEnabled",
"some-other-value",
),
).toBeUndefined();
});
});
7 changes: 5 additions & 2 deletions app/client/src/widgets/TableWidgetV2/widget/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -580,6 +580,7 @@ class TableWidgetV2 extends BaseWidget<TableWidgetProps, WidgetState> {
getTableColumns = () => {
const {
columnWidthMap,
infiniteScrollEnabled,
isPreviewMode,
orderedTableColumns,
renderMode,
Expand All @@ -597,6 +598,7 @@ class TableWidgetV2 extends BaseWidget<TableWidgetProps, WidgetState> {
componentWidth,
renderMode,
isPreviewMode,
infiniteScrollEnabled,
);
};

Expand Down Expand Up @@ -2067,10 +2069,11 @@ class TableWidgetV2 extends BaseWidget<TableWidgetProps, WidgetState> {
}

const isColumnEditable =
column.isEditable && isColumnTypeEditable(column.columnType);
column.isEditable &&
isColumnTypeEditable(column.columnType, this.props.infiniteScrollEnabled);
const alias = props.cell.column.columnProperties.alias;

const isCellEditable = isColumnEditable && cellProperties.isCellEditable;
const isCellEditable = cellProperties.isCellEditable && isColumnEditable;

const isCellEditMode =
(props.cell.column.alias === this.props.editableCell?.column &&
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,10 @@ export default {
const columnType = get(props, `${baseProperty}.columnType`, "");
const isDerived = get(props, `${baseProperty}.isDerived`, false);

return !isColumnTypeEditable(columnType) || isDerived;
return (
!isColumnTypeEditable(columnType, props.infiniteScrollEnabled) ||
isDerived
);
},
},
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ import {
totalRecordsCountValidation,
uniqueColumnNameValidation,
updateAllowAddNewRowOnInfiniteScrollChange,
updateCellEditabilityOnInfiniteScrollChange,
updateColumnOrderHook,
updateCustomColumnAliasOnLabelChange,
updateInlineEditingOptionDropdownVisibilityHook,
Expand Down Expand Up @@ -197,7 +196,6 @@ export default [
isTriggerProperty: false,
updateHook: composePropertyUpdateHook([
updateAllowAddNewRowOnInfiniteScrollChange,
updateCellEditabilityOnInfiniteScrollChange,
updateSearchSortFilterOnInfiniteScrollChange,
]),
dependencies: ["primaryColumns", "serverSidePaginationEnabled"],
Expand Down
45 changes: 1 addition & 44 deletions app/client/src/widgets/TableWidgetV2/widget/propertyUtils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1461,7 +1461,7 @@ export const updateAllowAddNewRowOnInfiniteScrollChange = (
propertyValue: false,
},
];
} else if (propertyValue === false) {
} else if (propertyValue === false && props.allowAddNewRow) {
return [
{
propertyPath: "allowAddNewRow",
Expand Down Expand Up @@ -1513,46 +1513,3 @@ export const updateSearchSortFilterOnInfiniteScrollChange = (

return;
};

// Disable cell editability when infinite scroll is enabled
export const updateCellEditabilityOnInfiniteScrollChange = (
props: TableWidgetProps,
propertyPath: string,
propertyValue: unknown,
): Array<{ propertyPath: string; propertyValue: unknown }> | undefined => {
if (!props.primaryColumns) return;

const updates: Array<{ propertyPath: string; propertyValue: unknown }> = [];

if (propertyValue === true) {
Object.entries(props.primaryColumns).forEach(([, column]) => {
const columnName = column.alias;

updates.push({
propertyPath: `primaryColumns.${columnName}.isCellEditable`,
propertyValue: false,
});

updates.push({
propertyPath: `primaryColumns.${columnName}.isEditable`,
propertyValue: false,
});
});
} else if (propertyValue === false) {
Object.entries(props.primaryColumns).forEach(([, column]) => {
const columnName = column.alias;

updates.push({
propertyPath: `primaryColumns.${columnName}.isCellEditable`,
propertyValue: true,
});

updates.push({
propertyPath: `primaryColumns.${columnName}.isEditable`,
propertyValue: true,
});
});
}

return updates.length > 0 ? updates : undefined;
};
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import { RenderModes } from "constants/WidgetConstants";
import { StickyType } from "../../component/Constants";
import {
COLUMN_MIN_WIDTH,
ColumnTypes,
DEFAULT_COLUMN_WIDTH,
DEFAULT_COLUMN_NAME,
} from "../../constants";
Expand All @@ -21,6 +22,7 @@ export type getColumns = (
componentWidth: number,
renderMode: RenderMode,
isPreviewMode: boolean,
infiniteScrollEnabled?: boolean,
) => ReactTableColumnProps[];

//TODO: (Vamsi) need to unit test this function
Expand All @@ -32,6 +34,7 @@ export const getColumnsPureFn: getColumns = (
componentWidth,
renderMode,
isPreviewMode,
infiniteScrollEnabled = false,
) => {
let columns: ReactTableColumnProps[] = [];
const hiddenColumns: ReactTableColumnProps[] = [];
Expand All @@ -44,6 +47,14 @@ export const getColumnsPureFn: getColumns = (
orderedTableColumns.forEach((column: any) => {
const isHidden = !column.isVisible;

// Skip EDIT_ACTIONS columns when infinite scroll is enabled
if (
infiniteScrollEnabled &&
column.columnType === ColumnTypes.EDIT_ACTIONS
) {
return;
}

const columnData = {
id: column.id,
Header:
Expand Down Expand Up @@ -114,31 +125,28 @@ export const getColumnsPureFn: getColumns = (
if the last column spills over resulting in horizontal scroll
*/
const extraWidth = totalColumnWidth - componentWidth;
const lastColWidth =
columns[lastColumnIndex].width || DEFAULT_COLUMN_WIDTH;

if (columns[lastColumnIndex]) {
const lastColWidth =
columns[lastColumnIndex].width || DEFAULT_COLUMN_WIDTH;

/*
/*
Below if condition explanation:
Condition 1: (lastColWidth > COLUMN_MIN_WIDTH)
We will downsize the last column only if its greater than COLUMN_MIN_WIDTH
Condition 2: (extraWidth < lastColWidth)
This condition checks whether the last column is the only column that is spilling over.
If more than one columns are spilling over we won't downsize the last column
*/
if (lastColWidth > COLUMN_MIN_WIDTH && extraWidth < lastColWidth) {
const availableWidthForLastColumn = lastColWidth - extraWidth;
if (lastColWidth > COLUMN_MIN_WIDTH && extraWidth < lastColWidth) {
const availableWidthForLastColumn = lastColWidth - extraWidth;

/*
/*
Below we are making sure last column width doesn't go lower than COLUMN_MIN_WIDTH again
as availableWidthForLastColumn might go lower than COLUMN_MIN_WIDTH in some cases
*/
columns[lastColumnIndex].width =
availableWidthForLastColumn < COLUMN_MIN_WIDTH
? COLUMN_MIN_WIDTH
: availableWidthForLastColumn;
}
columns[lastColumnIndex].width =
availableWidthForLastColumn < COLUMN_MIN_WIDTH
? COLUMN_MIN_WIDTH
: availableWidthForLastColumn;
}
}

Expand Down
7 changes: 5 additions & 2 deletions app/client/src/widgets/TableWidgetV2/widget/utilities.ts
Original file line number Diff line number Diff line change
Expand Up @@ -540,8 +540,11 @@ const EdtiableColumnTypes: string[] = [
ColumnTypes.CURRENCY,
];

export function isColumnTypeEditable(columnType: string) {
return EdtiableColumnTypes.includes(columnType);
export function isColumnTypeEditable(
columnType: string,
isInfiniteScrollEnabled?: boolean,
) {
return EdtiableColumnTypes.includes(columnType) && !isInfiniteScrollEnabled;
}

/*
Expand Down