diff --git a/frontend/src/Editor/Components/Table/Table.jsx b/frontend/src/Editor/Components/Table/Table.jsx index 85767d777c..88d7b72e46 100644 --- a/frontend/src/Editor/Components/Table/Table.jsx +++ b/frontend/src/Editor/Components/Table/Table.jsx @@ -81,6 +81,7 @@ export function Table({ parsedDisabledState, actionButtonRadius, actions, + disabledSort, } = loadPropertiesAndStyles(properties, styles, darkMode, component); const { t } = useTranslation(); @@ -347,6 +348,7 @@ export function Table({ pageCount: -1, manualPagination: false, getExportFileBlob, + disableSortBy: disabledSort, manualSortBy: serverSideSort, }, useFilters, diff --git a/frontend/src/Editor/Components/Table/columns/actions.jsx b/frontend/src/Editor/Components/Table/columns/actions.jsx index 4b63058c38..1cd6526ca4 100644 --- a/frontend/src/Editor/Components/Table/columns/actions.jsx +++ b/frontend/src/Editor/Components/Table/columns/actions.jsx @@ -3,6 +3,7 @@ import React from 'react'; const generateActionsData = ({ actions, columnSizes, defaultColumn, fireEvent, setExposedVariables }) => { const leftActions = () => actions.filter((action) => action.position === 'left'); const rightActions = () => actions.filter((action) => [undefined, 'right'].includes(action.position)); + const leftActionsCellData = leftActions().length > 0 ? [ diff --git a/frontend/src/Editor/Components/Table/load-properties-and-styles.js b/frontend/src/Editor/Components/Table/load-properties-and-styles.js index 6585e6048b..5252692f94 100644 --- a/frontend/src/Editor/Components/Table/load-properties-and-styles.js +++ b/frontend/src/Editor/Components/Table/load-properties-and-styles.js @@ -5,6 +5,7 @@ export default function loadPropertiesAndStyles(properties, styles, darkMode, co if (typeof serverSidePagination !== 'boolean') serverSidePagination = false; const serverSideSearch = properties.serverSideSearch ?? false; + const disabledSort = properties?.disabledSort ?? false; const serverSideSort = properties.serverSideSort ?? false; @@ -70,5 +71,6 @@ export default function loadPropertiesAndStyles(properties, styles, darkMode, co actionButtonRadius, loadingState, actions, + disabledSort, }; } diff --git a/frontend/src/Editor/Inspector/Components/Table.jsx b/frontend/src/Editor/Inspector/Components/Table.jsx index 9f91949434..b13165edde 100644 --- a/frontend/src/Editor/Inspector/Components/Table.jsx +++ b/frontend/src/Editor/Inspector/Components/Table.jsx @@ -862,6 +862,7 @@ class TableComponent extends React.Component { 'showBulkUpdateActions', 'showBulkSelector', 'highlightSelectedRow', + 'disabledSort', 'serverSideSort', 'serverSideFilter', ]; diff --git a/frontend/src/Editor/WidgetManager/widgetConfig.js b/frontend/src/Editor/WidgetManager/widgetConfig.js index d9c0437568..fe61d0f03c 100644 --- a/frontend/src/Editor/WidgetManager/widgetConfig.js +++ b/frontend/src/Editor/WidgetManager/widgetConfig.js @@ -141,6 +141,13 @@ export const widgets = [ schema: { type: 'boolean' }, }, }, + disabledSort: { + type: 'toggle', + displayName: 'Disable sorting', + validation: { + schema: { type: 'boolean' }, + }, + }, clientSidePagination: { type: 'toggle', displayName: 'Client-side pagination',