From 452e4315b10b9600f534f753acb23dbfc06ba4a3 Mon Sep 17 00:00:00 2001 From: BSd3v <82055130+BSd3v@users.noreply.github.com> Date: Fri, 25 Jul 2025 21:02:08 -0400 Subject: [PATCH 1/3] test of removal of default props --- src/lib/components/AgGrid.react.js | 51 ++++++++++++++++++------------ src/lib/fragments/AgGrid.react.js | 2 -- src/lib/utils/propCategories.js | 3 ++ 3 files changed, 34 insertions(+), 22 deletions(-) diff --git a/src/lib/components/AgGrid.react.js b/src/lib/components/AgGrid.react.js index 829f23b7..001f9c41 100644 --- a/src/lib/components/AgGrid.react.js +++ b/src/lib/components/AgGrid.react.js @@ -2,6 +2,7 @@ import PropTypes from 'prop-types'; import LazyLoader from '../LazyLoader'; import React, {lazy, Suspense, useState, useCallback, useEffect} from 'react'; import {AllCommunityModule, ModuleRegistry} from 'ag-grid-community'; +import { pick } from 'ramda'; // Register all community features ModuleRegistry.registerModules([AllCommunityModule]); @@ -13,6 +14,25 @@ function getGrid(enable) { return enable ? RealAgGridEnterprise : RealAgGrid; } +export const defaultProps = { + className: '', + resetColumnState: false, + exportDataAsCsv: false, + selectAll: false, + deselectAll: false, + enableEnterpriseModules: false, + updateColumnState: false, + persisted_props: ['selectedRows'], + persistence_type: 'local', + suppressDragLeaveHidesColumns: true, + dangerously_allow_code: false, + rowModelType: 'clientSide', + dashGridOptions: {}, + filterModel: {}, + paginationGoTo: null, + selectedRows: [], +}; + /** * Dash interface to AG Grid, a powerful tabular data component. */ @@ -49,31 +69,23 @@ function DashAgGrid(props) { return ( - + ); } +const REACT_VERSION_DASH2_COMPAT = 18.3; +if ( + parseFloat(React.version.substring(0, React.version.lastIndexOf('.'))) < + REACT_VERSION_DASH2_COMPAT +) { + DashAgGrid.defaultProps = defaultProps; +} else { + DashAgGrid.dashPersistence = pick(['persisted_props', 'persistence_type'],defaultProps); +} + DashAgGrid.dashRenderType = true; -DashAgGrid.defaultProps = { - className: '', - resetColumnState: false, - exportDataAsCsv: false, - selectAll: false, - deselectAll: false, - enableEnterpriseModules: false, - updateColumnState: false, - persisted_props: ['selectedRows'], - persistence_type: 'local', - suppressDragLeaveHidesColumns: true, - dangerously_allow_code: false, - rowModelType: 'clientSide', - dashGridOptions: {}, - filterModel: {}, - paginationGoTo: null, - selectedRows: [], -}; DashAgGrid.propTypes = { /******************************** * DASH PROPS @@ -755,7 +767,6 @@ DashAgGrid.propTypes = { }; export const propTypes = DashAgGrid.propTypes; -export const defaultProps = DashAgGrid.defaultProps; export default DashAgGrid; diff --git a/src/lib/fragments/AgGrid.react.js b/src/lib/fragments/AgGrid.react.js index c3a4cafc..3582eefd 100644 --- a/src/lib/fragments/AgGrid.react.js +++ b/src/lib/fragments/AgGrid.react.js @@ -1617,11 +1617,9 @@ export function DashAgGrid(props) { ); } -DashAgGrid.defaultProps = _defaultProps; DashAgGrid.propTypes = {parentState: PropTypes.any, ..._propTypes}; export const propTypes = DashAgGrid.propTypes; -export const defaultProps = DashAgGrid.defaultProps; var dagfuncs = (window.dash_ag_grid = window.dash_ag_grid || {}); dagfuncs.useGridFilter = useGridFilter; diff --git a/src/lib/utils/propCategories.js b/src/lib/utils/propCategories.js index 4a8f3008..6e857edd 100644 --- a/src/lib/utils/propCategories.js +++ b/src/lib/utils/propCategories.js @@ -323,6 +323,8 @@ export const PASSTHRU_PROPS = ['rowData']; */ export const PROPS_NOT_FOR_AG_GRID = [ 'children', + 'dashRenderType', + 'licenseKey', 'setProps', 'loading_state', 'enableEnterpriseModules', @@ -356,6 +358,7 @@ export const PROPS_NOT_FOR_AG_GRID = [ 'scrollTo', 'eventListeners', 'eventData', + 'paginationInfo', ]; /** From 75e3ce116b97091ef82b14d85069073eba9f2973 Mon Sep 17 00:00:00 2001 From: BSd3v <82055130+BSd3v@users.noreply.github.com> Date: Mon, 28 Jul 2025 11:15:36 -0400 Subject: [PATCH 2/3] fixing for lint --- src/lib/fragments/AgGrid.react.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/lib/fragments/AgGrid.react.js b/src/lib/fragments/AgGrid.react.js index 3582eefd..db264362 100644 --- a/src/lib/fragments/AgGrid.react.js +++ b/src/lib/fragments/AgGrid.react.js @@ -17,7 +17,6 @@ import { } from 'ramda'; import { propTypes as _propTypes, - defaultProps as _defaultProps, apiGetters, } from '../components/AgGrid.react'; import { From 71d333cb2b13978a22e72bdd0874b1ff4b5e3a4d Mon Sep 17 00:00:00 2001 From: BSd3v <82055130+BSd3v@users.noreply.github.com> Date: Mon, 28 Jul 2025 11:17:28 -0400 Subject: [PATCH 3/3] fix for lint again --- src/lib/components/AgGrid.react.js | 9 ++++++--- src/lib/fragments/AgGrid.react.js | 5 +---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/lib/components/AgGrid.react.js b/src/lib/components/AgGrid.react.js index 001f9c41..ce2e1c3a 100644 --- a/src/lib/components/AgGrid.react.js +++ b/src/lib/components/AgGrid.react.js @@ -2,7 +2,7 @@ import PropTypes from 'prop-types'; import LazyLoader from '../LazyLoader'; import React, {lazy, Suspense, useState, useCallback, useEffect} from 'react'; import {AllCommunityModule, ModuleRegistry} from 'ag-grid-community'; -import { pick } from 'ramda'; +import {pick} from 'ramda'; // Register all community features ModuleRegistry.registerModules([AllCommunityModule]); @@ -76,12 +76,15 @@ function DashAgGrid(props) { const REACT_VERSION_DASH2_COMPAT = 18.3; if ( - parseFloat(React.version.substring(0, React.version.lastIndexOf('.'))) < + parseFloat(React.version.substring(0, React.version.lastIndexOf('.'))) < REACT_VERSION_DASH2_COMPAT ) { DashAgGrid.defaultProps = defaultProps; } else { - DashAgGrid.dashPersistence = pick(['persisted_props', 'persistence_type'],defaultProps); + DashAgGrid.dashPersistence = pick( + ['persisted_props', 'persistence_type'], + defaultProps + ); } DashAgGrid.dashRenderType = true; diff --git a/src/lib/fragments/AgGrid.react.js b/src/lib/fragments/AgGrid.react.js index db264362..9ec0b4c3 100644 --- a/src/lib/fragments/AgGrid.react.js +++ b/src/lib/fragments/AgGrid.react.js @@ -15,10 +15,7 @@ import { assoc, assocPath, } from 'ramda'; -import { - propTypes as _propTypes, - apiGetters, -} from '../components/AgGrid.react'; +import {propTypes as _propTypes, apiGetters} from '../components/AgGrid.react'; import { COLUMN_DANGEROUS_FUNCTIONS, COLUMN_MAYBE_FUNCTIONS,