@nokecy/qc-ui 1.1.37 → 1.1.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -25
- package/dist/cjs/ConfirmPro/index.js +4 -4
- package/dist/cjs/RuleBuilder/LogicSelector.js +7 -7
- package/dist/cjs/RuleBuilder/RuleBuilderContainer.js +27 -27
- package/dist/cjs/RuleBuilder/RuleCard.js +6 -6
- package/dist/cjs/RuleBuilder/RuleGroupEditor.js +7 -7
- package/dist/cjs/RuleBuilder/constants/operators.js +18 -18
- package/dist/cjs/RuleBuilder/context/RuleBuilderContext.js +38 -38
- package/dist/cjs/RuleBuilder/inputs/BetweenValueInput.js +5 -5
- package/dist/cjs/RuleBuilder/inputs/MultiValueInput.js +5 -5
- package/dist/cjs/RuleBuilder/inputs/SingleValueInput.js +8 -8
- package/dist/cjs/RuleBuilder/inputs/ValueInput.js +8 -8
- package/dist/cjs/RuleBuilder/selectors/FieldSelector.js +5 -5
- package/dist/cjs/RuleBuilder/selectors/OperatorSelector.js +5 -5
- package/dist/cjs/RuleBuilder/styles/index.module.less +443 -443
- package/dist/cjs/RuleBuilder/styles/index.module.less.d.ts +43 -43
- package/dist/cjs/RuleBuilder/types/index.js +42 -42
- package/dist/cjs/RuleBuilder/utils/pathHelpers.js +47 -47
- package/dist/cjs/RuleBuilder/utils/ruleHelpers.js +31 -31
- package/dist/cjs/RuleBuilder/utils/validation.js +22 -22
- package/dist/cjs/ag-grid-plus/_utils/boolSelect.js +5 -5
- package/dist/cjs/ag-grid-plus/_utils/processColumnGroups.js +9 -9
- package/dist/cjs/ag-grid-plus/ag-grid-theme-builder.css +352 -352
- package/dist/cjs/ag-grid-plus/ag-gridPlus.js +96 -85
- package/dist/cjs/ag-grid-plus/context/gridContext.js +19 -19
- package/dist/cjs/ag-grid-plus/context/useSchemeDataFlow.js +93 -57
- package/dist/cjs/ag-grid-plus/context/useSchemeManager.js +213 -172
- package/dist/cjs/ag-grid-plus/errors/ErrorBoundary.js +8 -8
- package/dist/cjs/ag-grid-plus/errors/types.js +14 -14
- package/dist/cjs/ag-grid-plus/hooks/useAgGridCalculation.js +45 -45
- package/dist/cjs/ag-grid-plus/hooks/useAgGridData.js +44 -44
- package/dist/cjs/ag-grid-plus/hooks/useGridPlusColumnState.js +3 -3
- package/dist/cjs/ag-grid-plus/hooks/useGridState.js +36 -36
- package/dist/cjs/ag-grid-plus/index.less +50 -50
- package/dist/cjs/ag-grid-plus/queryForm/index.less +72 -72
- package/dist/cjs/ag-grid-plus/setting/ColumnConfigForm.js +11 -11
- package/dist/cjs/ag-grid-plus/setting/ColumnConfigTable.js +3 -3
- package/dist/cjs/ag-grid-plus/setting/ColumnNameCellRenderer.js +10 -10
- package/dist/cjs/ag-grid-plus/setting/ColumnSetting.js +81 -65
- package/dist/cjs/ag-grid-plus/setting/DebounceInputs.js +9 -9
- package/dist/cjs/ag-grid-plus/setting/MoveNodeModal.js +7 -7
- package/dist/cjs/ag-grid-plus/setting/NameColumnRenderer.js +6 -6
- package/dist/cjs/ag-grid-plus/setting/QuerySchemeManager.js +34 -34
- package/dist/cjs/ag-grid-plus/setting/columnGroupUtils.js +89 -78
- package/dist/cjs/ag-grid-plus/setting/performanceMonitor.js +5 -5
- package/dist/cjs/ag-grid-plus/shared/storage/backendApiAdapter.js +46 -46
- package/dist/cjs/ag-grid-plus/shared/storage/localStorageAdapter.js +39 -39
- package/dist/cjs/ag-grid-plus/shared/utils/schemeDataMigration.js +18 -18
- package/dist/cjs/ag-grid-plus/theme.js +3 -3
- package/dist/cjs/ag-grid-plus/toolBar/index.js +4 -4
- package/dist/cjs/ag-grid-plus/utils/columnProcessors.js +52 -52
- package/dist/cjs/ag-grid-plus/utils/constants.js +22 -22
- package/dist/cjs/ag-grid-plus/utils/entityExtensionColumns.js +20 -20
- package/dist/cjs/ag-grid-plus/utils/logger.js +2 -2
- package/dist/cjs/ag-grid-plus/utils/sanitize.js +10 -10
- package/dist/cjs/ag-grid-plus/utils.js +3 -3
- package/dist/cjs/array-table/arrayAddBtn.js +26 -17
- package/dist/cjs/array-table/columnHelper.js +43 -43
- package/dist/cjs/array-table/hooks.d.ts +2 -1
- package/dist/cjs/array-table/hooks.js +34 -52
- package/dist/cjs/array-table/index.js +145 -66
- package/dist/cjs/array-table/preview.js +1 -1
- package/dist/cjs/array-table/readOnlyFormatters.d.ts +28 -0
- package/dist/cjs/array-table/readOnlyFormatters.js +113 -0
- package/dist/cjs/array-table/utils.d.ts +2 -2
- package/dist/cjs/array-table/utils.js +165 -13
- package/dist/cjs/components/RegexEditor/core/RegexEditor.js +32 -32
- package/dist/cjs/components/RegexEditor/core/RegexEditor.less +119 -119
- package/dist/cjs/components/RegexEditor/core/extensions/errorMarker.js +52 -52
- package/dist/cjs/components/RegexEditor/hooks/useRegexTester.js +48 -48
- package/dist/cjs/components/RegexEditor/hooks/useRegexValidation.js +54 -54
- package/dist/cjs/components/RegexEditor/hooks/useTemplateManager.js +5 -5
- package/dist/cjs/components/RegexEditor/templates/TemplateSelector.js +28 -28
- package/dist/cjs/components/RegexEditor/templates/builtinTemplates.js +24 -24
- package/dist/cjs/components/RegexEditor/templates/storage.js +29 -29
- package/dist/cjs/components/RegexEditor/templates/templateManager.js +29 -29
- package/dist/cjs/components/RegexEditor/templates/types.js +74 -74
- package/dist/cjs/components/RegexEditor/validation/complexity.js +40 -40
- package/dist/cjs/components/RegexEditor/validation/parser.js +47 -47
- package/dist/cjs/components/RegexEditor/validation/validator.js +54 -54
- package/dist/cjs/components/RegexEditor/visualizer/FlagsSelector.js +19 -19
- package/dist/cjs/components/RegexEditor/visualizer/MatchItem.js +20 -20
- package/dist/cjs/components/RegexEditor/visualizer/RegexRailroadDiagram.js +15 -15
- package/dist/cjs/components/RegexEditor/visualizer/RegexTester.js +17 -17
- package/dist/cjs/components/RegexEditor/visualizer/astToRailroad.js +11 -11
- package/dist/cjs/components/RegexEditor/visualizer/utils.js +92 -92
- package/dist/cjs/dashboard/dashboard/components/toolbar/style/index.less +49 -49
- package/dist/cjs/dashboard/dashboard/index.less +173 -173
- package/dist/cjs/dashboard/dashboard/utils.js +4 -4
- package/dist/cjs/dashboard/utils.js +8 -8
- package/dist/cjs/dashboard/widget/index.less +7 -7
- package/dist/cjs/dashboard/widget/selector/index.less +172 -172
- package/dist/cjs/deleteConfirm/index.js +17 -17
- package/dist/cjs/draggableModal/index.js +4 -4
- package/dist/cjs/draggableModal/style.less +122 -122
- package/dist/cjs/editable/index.js +19 -2
- package/dist/cjs/formDesigner/FormDesigner.js +3 -2
- package/dist/cjs/formDesigner/arrayTable/styles.less +2 -2
- package/dist/cjs/formDesigner/index.less +2 -2
- package/dist/cjs/formDesigner/preWidgets/index.d.ts +1 -10
- package/dist/cjs/formDesigner/preWidgets/index.js +1 -100
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty.d.ts +11 -0
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty.js +70 -0
- package/dist/cjs/fullScreenAlert/index.js +13 -13
- package/dist/cjs/fullScreenAlert/index.less +133 -133
- package/dist/cjs/generatedListPage/ConfigurableToolbar.js +2 -2
- package/dist/cjs/generatedListPage/GeneratedListPage.js +20 -20
- package/dist/cjs/generatedListPage/OptionsColumn.js +3 -3
- package/dist/cjs/generatedListPage/PerformanceMonitor.js +9 -9
- package/dist/cjs/generatedListPage/RequestManager.js +39 -39
- package/dist/cjs/generatedListPage/_utils/AccessWrapper.js +6 -6
- package/dist/cjs/generatedListPage/_utils/defaultHandlers.js +14 -14
- package/dist/cjs/generatedListPage/usePermissionCheck.js +27 -27
- package/dist/cjs/generatedListPage/useRequestManager.js +20 -20
- package/dist/cjs/importModal/index.js +4 -4
- package/dist/cjs/standardFormDialog/FormValidation.js +45 -45
- package/dist/cjs/standardFormDialog/PortalManager.js +46 -46
- package/dist/cjs/standardFormDialog/StandardFormDialog.js +20 -20
- package/dist/cjs/standardFormDialog/useStandardFormSchema.js +24 -24
- package/dist/cjs/toolBar/index.less +25 -25
- package/dist/cjs/types/railroad-diagrams.d.ts +59 -59
- package/dist/cjs/types/regexp-tree.d.ts +175 -175
- package/dist/esm/ConfirmPro/index.js +4 -4
- package/dist/esm/RuleBuilder/LogicSelector.js +7 -7
- package/dist/esm/RuleBuilder/RuleBuilderContainer.js +27 -27
- package/dist/esm/RuleBuilder/RuleCard.js +6 -6
- package/dist/esm/RuleBuilder/RuleGroupEditor.js +7 -7
- package/dist/esm/RuleBuilder/constants/operators.js +18 -18
- package/dist/esm/RuleBuilder/context/RuleBuilderContext.js +38 -38
- package/dist/esm/RuleBuilder/index.js +6 -6
- package/dist/esm/RuleBuilder/inputs/BetweenValueInput.js +5 -5
- package/dist/esm/RuleBuilder/inputs/MultiValueInput.js +5 -5
- package/dist/esm/RuleBuilder/inputs/SingleValueInput.js +8 -8
- package/dist/esm/RuleBuilder/inputs/ValueInput.js +8 -8
- package/dist/esm/RuleBuilder/selectors/FieldSelector.js +5 -5
- package/dist/esm/RuleBuilder/selectors/OperatorSelector.js +5 -5
- package/dist/esm/RuleBuilder/styles/index.module.less +443 -443
- package/dist/esm/RuleBuilder/styles/index.module.less.d.ts +43 -43
- package/dist/esm/RuleBuilder/types/index.js +42 -42
- package/dist/esm/RuleBuilder/utils/pathHelpers.js +47 -47
- package/dist/esm/RuleBuilder/utils/ruleHelpers.js +31 -31
- package/dist/esm/RuleBuilder/utils/validation.js +22 -22
- package/dist/esm/ag-grid-plus/_utils/boolSelect.js +5 -5
- package/dist/esm/ag-grid-plus/_utils/processColumnGroups.js +9 -9
- package/dist/esm/ag-grid-plus/ag-grid-theme-builder.css +352 -352
- package/dist/esm/ag-grid-plus/ag-gridPlus.js +96 -85
- package/dist/esm/ag-grid-plus/context/gridContext.js +19 -19
- package/dist/esm/ag-grid-plus/context/useSchemeDataFlow.js +93 -57
- package/dist/esm/ag-grid-plus/context/useSchemeManager.js +213 -172
- package/dist/esm/ag-grid-plus/errors/ErrorBoundary.js +8 -8
- package/dist/esm/ag-grid-plus/errors/types.js +14 -14
- package/dist/esm/ag-grid-plus/hooks/index.js +2 -2
- package/dist/esm/ag-grid-plus/hooks/useAgGridCalculation.js +45 -45
- package/dist/esm/ag-grid-plus/hooks/useAgGridData.js +44 -44
- package/dist/esm/ag-grid-plus/hooks/useGridPlusColumnState.js +3 -3
- package/dist/esm/ag-grid-plus/hooks/useGridState.js +36 -36
- package/dist/esm/ag-grid-plus/index.less +50 -50
- package/dist/esm/ag-grid-plus/queryForm/index.less +72 -72
- package/dist/esm/ag-grid-plus/setting/ColumnConfigForm.js +11 -11
- package/dist/esm/ag-grid-plus/setting/ColumnConfigTable.js +3 -3
- package/dist/esm/ag-grid-plus/setting/ColumnNameCellRenderer.js +10 -10
- package/dist/esm/ag-grid-plus/setting/ColumnSetting.js +81 -65
- package/dist/esm/ag-grid-plus/setting/DebounceInputs.js +9 -9
- package/dist/esm/ag-grid-plus/setting/MoveNodeModal.js +7 -7
- package/dist/esm/ag-grid-plus/setting/NameColumnRenderer.js +6 -6
- package/dist/esm/ag-grid-plus/setting/QuerySchemeManager.js +34 -34
- package/dist/esm/ag-grid-plus/setting/columnGroupUtils.js +89 -76
- package/dist/esm/ag-grid-plus/setting/performanceMonitor.js +5 -5
- package/dist/esm/ag-grid-plus/shared/storage/backendApiAdapter.js +46 -46
- package/dist/esm/ag-grid-plus/shared/storage/localStorageAdapter.js +39 -39
- package/dist/esm/ag-grid-plus/shared/utils/schemeDataMigration.js +18 -18
- package/dist/esm/ag-grid-plus/theme.js +3 -3
- package/dist/esm/ag-grid-plus/toolBar/index.js +4 -4
- package/dist/esm/ag-grid-plus/utils/columnProcessors.js +52 -52
- package/dist/esm/ag-grid-plus/utils/constants.js +22 -22
- package/dist/esm/ag-grid-plus/utils/entityExtensionColumns.js +20 -20
- package/dist/esm/ag-grid-plus/utils/logger.js +2 -2
- package/dist/esm/ag-grid-plus/utils/sanitize.js +10 -10
- package/dist/esm/ag-grid-plus/utils.js +3 -3
- package/dist/esm/array-table/arrayAddBtn.js +26 -17
- package/dist/esm/array-table/columnHelper.js +43 -43
- package/dist/esm/array-table/hooks.d.ts +2 -1
- package/dist/esm/array-table/hooks.js +34 -52
- package/dist/esm/array-table/index.js +147 -68
- package/dist/esm/array-table/preview.js +2 -2
- package/dist/esm/array-table/readOnlyFormatters.d.ts +28 -0
- package/dist/esm/array-table/readOnlyFormatters.js +107 -0
- package/dist/esm/array-table/utils.d.ts +2 -2
- package/dist/esm/array-table/utils.js +165 -13
- package/dist/esm/components/RegexEditor/core/RegexEditor.js +32 -32
- package/dist/esm/components/RegexEditor/core/RegexEditor.less +119 -119
- package/dist/esm/components/RegexEditor/core/extensions/errorMarker.js +52 -52
- package/dist/esm/components/RegexEditor/hooks/index.js +4 -4
- package/dist/esm/components/RegexEditor/hooks/useRegexTester.js +48 -48
- package/dist/esm/components/RegexEditor/hooks/useRegexValidation.js +54 -54
- package/dist/esm/components/RegexEditor/hooks/useTemplateManager.js +5 -5
- package/dist/esm/components/RegexEditor/templates/TemplateSelector.js +28 -28
- package/dist/esm/components/RegexEditor/templates/builtinTemplates.js +24 -24
- package/dist/esm/components/RegexEditor/templates/index.js +2 -2
- package/dist/esm/components/RegexEditor/templates/storage.js +29 -29
- package/dist/esm/components/RegexEditor/templates/templateManager.js +29 -29
- package/dist/esm/components/RegexEditor/templates/types.js +74 -74
- package/dist/esm/components/RegexEditor/validation/complexity.js +40 -40
- package/dist/esm/components/RegexEditor/validation/parser.js +47 -47
- package/dist/esm/components/RegexEditor/validation/validator.js +54 -54
- package/dist/esm/components/RegexEditor/visualizer/FlagsSelector.js +19 -19
- package/dist/esm/components/RegexEditor/visualizer/MatchItem.js +20 -20
- package/dist/esm/components/RegexEditor/visualizer/RegexRailroadDiagram.js +15 -15
- package/dist/esm/components/RegexEditor/visualizer/RegexTester.js +17 -17
- package/dist/esm/components/RegexEditor/visualizer/astToRailroad.js +11 -11
- package/dist/esm/components/RegexEditor/visualizer/index.js +5 -5
- package/dist/esm/components/RegexEditor/visualizer/utils.js +92 -92
- package/dist/esm/dashboard/dashboard/components/toolbar/style/index.less +49 -49
- package/dist/esm/dashboard/dashboard/index.less +173 -173
- package/dist/esm/dashboard/dashboard/utils.js +4 -4
- package/dist/esm/dashboard/utils.js +8 -8
- package/dist/esm/dashboard/widget/index.less +7 -7
- package/dist/esm/dashboard/widget/selector/index.less +172 -172
- package/dist/esm/deleteConfirm/index.js +17 -17
- package/dist/esm/draggableModal/index.js +4 -4
- package/dist/esm/draggableModal/style.less +122 -122
- package/dist/esm/editable/index.js +19 -2
- package/dist/esm/formDesigner/FormDesigner.js +3 -2
- package/dist/esm/formDesigner/arrayTable/styles.less +2 -2
- package/dist/esm/formDesigner/index.less +2 -2
- package/dist/esm/formDesigner/preWidgets/index.d.ts +1 -10
- package/dist/esm/formDesigner/preWidgets/index.js +1 -10
- package/dist/esm/formDesigner/preWidgets/preDefineProperty.d.ts +11 -0
- package/dist/esm/formDesigner/preWidgets/{preDefineProperty1/preview.js → preDefineProperty.js} +49 -30
- package/dist/esm/fullScreenAlert/index.js +13 -13
- package/dist/esm/fullScreenAlert/index.less +133 -133
- package/dist/esm/generatedListPage/ConfigurableToolbar.js +2 -2
- package/dist/esm/generatedListPage/GeneratedListPage.js +20 -20
- package/dist/esm/generatedListPage/OptionsColumn.js +3 -3
- package/dist/esm/generatedListPage/PerformanceMonitor.js +9 -9
- package/dist/esm/generatedListPage/RequestManager.js +39 -39
- package/dist/esm/generatedListPage/_utils/AccessWrapper.js +6 -6
- package/dist/esm/generatedListPage/_utils/defaultHandlers.js +14 -14
- package/dist/esm/generatedListPage/index.js +9 -9
- package/dist/esm/generatedListPage/usePermissionCheck.js +27 -27
- package/dist/esm/generatedListPage/useRequestManager.js +20 -20
- package/dist/esm/importModal/index.js +4 -4
- package/dist/esm/standardFormDialog/FormValidation.js +45 -45
- package/dist/esm/standardFormDialog/PortalManager.js +46 -46
- package/dist/esm/standardFormDialog/StandardFormDialog.js +20 -20
- package/dist/esm/standardFormDialog/useStandardFormSchema.js +24 -24
- package/dist/esm/standardFormDialog/withStandardForm.d.ts +2 -2
- package/dist/esm/toolBar/index.less +25 -25
- package/dist/esm/types/railroad-diagrams.d.ts +59 -59
- package/dist/esm/types/regexp-tree.d.ts +175 -175
- package/dist/umd/qc-ui.min.js +1 -1
- package/package.json +90 -90
- package/dist/cjs/ag-grid-plus/shared/hooks/useSchemeManager.d.ts +0 -66
- package/dist/cjs/ag-grid-plus/shared/hooks/useSchemeManager.js +0 -648
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty1/index.d.ts +0 -1
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty1/index.js +0 -16
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty1/preview.d.ts +0 -5
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty1/preview.js +0 -51
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty10/index.d.ts +0 -1
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty10/index.js +0 -16
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty10/preview.d.ts +0 -5
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty10/preview.js +0 -50
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty2/index.d.ts +0 -1
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty2/index.js +0 -16
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty2/preview.d.ts +0 -5
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty2/preview.js +0 -50
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty3/index.d.ts +0 -1
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty3/index.js +0 -16
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty3/preview.d.ts +0 -5
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty3/preview.js +0 -50
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty4/index.d.ts +0 -1
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty4/index.js +0 -16
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty4/preview.d.ts +0 -5
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty4/preview.js +0 -50
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty5/index.d.ts +0 -1
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty5/index.js +0 -16
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty5/preview.d.ts +0 -5
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty5/preview.js +0 -50
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty6/index.d.ts +0 -1
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty6/index.js +0 -16
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty6/preview.d.ts +0 -5
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty6/preview.js +0 -50
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty7/index.d.ts +0 -1
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty7/index.js +0 -16
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty7/preview.d.ts +0 -5
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty7/preview.js +0 -50
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty8/index.d.ts +0 -1
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty8/index.js +0 -16
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty8/preview.d.ts +0 -5
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty8/preview.js +0 -50
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty9/index.d.ts +0 -1
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty9/index.js +0 -16
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty9/preview.d.ts +0 -5
- package/dist/cjs/formDesigner/preWidgets/preDefineProperty9/preview.js +0 -50
- package/dist/esm/ag-grid-plus/shared/hooks/useSchemeManager.d.ts +0 -66
- package/dist/esm/ag-grid-plus/shared/hooks/useSchemeManager.js +0 -643
- package/dist/esm/formDesigner/preWidgets/preDefineProperty1/index.d.ts +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty1/index.js +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty1/preview.d.ts +0 -5
- package/dist/esm/formDesigner/preWidgets/preDefineProperty10/index.d.ts +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty10/index.js +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty10/preview.d.ts +0 -5
- package/dist/esm/formDesigner/preWidgets/preDefineProperty10/preview.js +0 -43
- package/dist/esm/formDesigner/preWidgets/preDefineProperty2/index.d.ts +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty2/index.js +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty2/preview.d.ts +0 -5
- package/dist/esm/formDesigner/preWidgets/preDefineProperty2/preview.js +0 -43
- package/dist/esm/formDesigner/preWidgets/preDefineProperty3/index.d.ts +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty3/index.js +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty3/preview.d.ts +0 -5
- package/dist/esm/formDesigner/preWidgets/preDefineProperty3/preview.js +0 -43
- package/dist/esm/formDesigner/preWidgets/preDefineProperty4/index.d.ts +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty4/index.js +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty4/preview.d.ts +0 -5
- package/dist/esm/formDesigner/preWidgets/preDefineProperty4/preview.js +0 -43
- package/dist/esm/formDesigner/preWidgets/preDefineProperty5/index.d.ts +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty5/index.js +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty5/preview.d.ts +0 -5
- package/dist/esm/formDesigner/preWidgets/preDefineProperty5/preview.js +0 -43
- package/dist/esm/formDesigner/preWidgets/preDefineProperty6/index.d.ts +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty6/index.js +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty6/preview.d.ts +0 -5
- package/dist/esm/formDesigner/preWidgets/preDefineProperty6/preview.js +0 -43
- package/dist/esm/formDesigner/preWidgets/preDefineProperty7/index.d.ts +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty7/index.js +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty7/preview.d.ts +0 -5
- package/dist/esm/formDesigner/preWidgets/preDefineProperty7/preview.js +0 -43
- package/dist/esm/formDesigner/preWidgets/preDefineProperty8/index.d.ts +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty8/index.js +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty8/preview.d.ts +0 -5
- package/dist/esm/formDesigner/preWidgets/preDefineProperty8/preview.js +0 -43
- package/dist/esm/formDesigner/preWidgets/preDefineProperty9/index.d.ts +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty9/index.js +0 -1
- package/dist/esm/formDesigner/preWidgets/preDefineProperty9/preview.d.ts +0 -5
- package/dist/esm/formDesigner/preWidgets/preDefineProperty9/preview.js +0 -43
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import _sumBy from "lodash/sumBy";
|
|
2
|
+
import _isEqual from "lodash/isEqual";
|
|
2
3
|
import _uniqueId from "lodash/uniqueId";
|
|
3
4
|
import _isArray from "lodash/isArray";
|
|
4
5
|
var _excluded = ["style", "loading", "params", "request", "dataSource", "treeKeyName", "treeParentName", "rowData", "gridRef", "headerTitle", "toolBarRender", "search", "hideTool", "onGridReady", "gridKey", "children", "defaultSearchExpand", "overlayNoRowsTemplateText", "queryDefaultRows", "onSelectedRowsChange", "enableClickSelection", "rowSelection", "useNativeTreeFilter", "entityType"];
|
|
@@ -60,6 +61,16 @@ var Text = Typography.Text;
|
|
|
60
61
|
var getSort = function getSort(columnState) {
|
|
61
62
|
return columnState ? "".concat(columnState.colId, " ").concat(columnState.sort) : "";
|
|
62
63
|
};
|
|
64
|
+
|
|
65
|
+
// 深比较稳定引用:内容不变时返回同一引用。替代 JSON.stringify 作 memo 依赖——
|
|
66
|
+
// 避免每次渲染序列化大对象,且 isEqual 差异早退、对 Date/undefined 比较语义正确 @author nokecy
|
|
67
|
+
function useDeepCompareStable(value) {
|
|
68
|
+
var ref = useRef(value);
|
|
69
|
+
if (!_isEqual(ref.current, value)) {
|
|
70
|
+
ref.current = value;
|
|
71
|
+
}
|
|
72
|
+
return ref.current;
|
|
73
|
+
}
|
|
63
74
|
function AgGridPlus(props) {
|
|
64
75
|
var style = props.style,
|
|
65
76
|
loadingProps = props.loading,
|
|
@@ -103,6 +114,8 @@ function AgGridPlus(props) {
|
|
|
103
114
|
var gridRef = useRef();
|
|
104
115
|
var apiRef = useRef();
|
|
105
116
|
var allColDefsRef = useRef([]);
|
|
117
|
+
// 请求序号:只接受最新一次请求的响应,防止快速翻页/连续查询时慢请求乱序覆盖新结果 @author nokecy
|
|
118
|
+
var requestSeqRef = useRef(0);
|
|
106
119
|
|
|
107
120
|
// 【新增】缓存初始的 columnDefs,用于保留原始 headerName
|
|
108
121
|
// 这个值在组件生命周期中保持不变,不会被列方案修改
|
|
@@ -112,18 +125,18 @@ function AgGridPlus(props) {
|
|
|
112
125
|
var rowIdCacheRef = useRef(new WeakMap());
|
|
113
126
|
var rowIdCounterRef = useRef(0);
|
|
114
127
|
|
|
115
|
-
/**
|
|
116
|
-
* 【新增】智能生成唯一行 ID 的降级函数
|
|
117
|
-
*
|
|
118
|
-
* 策略(按优先级):
|
|
119
|
-
* 1. 尝试常见 ID 字段:id, _id, key, uid, uuid
|
|
120
|
-
* - 支持基本类型:string, number
|
|
121
|
-
* - 支持对象类型:提取 value, id 属性
|
|
122
|
-
* 2. 如果对象在 WeakMap 中已有缓存,直接返回
|
|
123
|
-
* 3. 生成新的唯一 ID:grid-key-{counter}-{timestamp}
|
|
124
|
-
*
|
|
125
|
-
* @param data 行数据对象
|
|
126
|
-
* @returns 唯一的行 ID 字符串
|
|
128
|
+
/**
|
|
129
|
+
* 【新增】智能生成唯一行 ID 的降级函数
|
|
130
|
+
*
|
|
131
|
+
* 策略(按优先级):
|
|
132
|
+
* 1. 尝试常见 ID 字段:id, _id, key, uid, uuid
|
|
133
|
+
* - 支持基本类型:string, number
|
|
134
|
+
* - 支持对象类型:提取 value, id 属性
|
|
135
|
+
* 2. 如果对象在 WeakMap 中已有缓存,直接返回
|
|
136
|
+
* 3. 生成新的唯一 ID:grid-key-{counter}-{timestamp}
|
|
137
|
+
*
|
|
138
|
+
* @param data 行数据对象
|
|
139
|
+
* @returns 唯一的行 ID 字符串
|
|
127
140
|
*/
|
|
128
141
|
var generateUniqueRowId = useCallback(function (data) {
|
|
129
142
|
if (!data || _typeof(data) !== 'object') {
|
|
@@ -252,18 +265,18 @@ function AgGridPlus(props) {
|
|
|
252
265
|
advancedQueryRules = _useState24[0],
|
|
253
266
|
setAdvancedQueryRules = _useState24[1];
|
|
254
267
|
|
|
255
|
-
/**
|
|
256
|
-
* 【P1 架构优化】使用单向数据流架构
|
|
257
|
-
*
|
|
258
|
-
* 数据流层次:
|
|
259
|
-
* 1. Source of Truth: useSchemeDataFlow (Scheme State)
|
|
260
|
-
* 2. Derived State: derivedColumnDefs/derivedColumnState (只读派生)
|
|
261
|
-
* 3. UI State: Context State (仅用于 UI 交互)
|
|
262
|
-
*
|
|
263
|
-
* 优势:
|
|
264
|
-
* - 清晰的数据流向(单向可追踪)
|
|
265
|
-
* - 消除状态同步冲突(单一数据源)
|
|
266
|
-
* - 架构清晰度 +60%,Bug -40%
|
|
268
|
+
/**
|
|
269
|
+
* 【P1 架构优化】使用单向数据流架构
|
|
270
|
+
*
|
|
271
|
+
* 数据流层次:
|
|
272
|
+
* 1. Source of Truth: useSchemeDataFlow (Scheme State)
|
|
273
|
+
* 2. Derived State: derivedColumnDefs/derivedColumnState (只读派生)
|
|
274
|
+
* 3. UI State: Context State (仅用于 UI 交互)
|
|
275
|
+
*
|
|
276
|
+
* 优势:
|
|
277
|
+
* - 清晰的数据流向(单向可追踪)
|
|
278
|
+
* - 消除状态同步冲突(单一数据源)
|
|
279
|
+
* - 架构清晰度 +60%,Bug -40%
|
|
267
280
|
*/
|
|
268
281
|
var schemeDataFlow = useSchemeDataFlow(gridKey || '', allColDefsRef.current, {
|
|
269
282
|
columnSchemes: columnSchemes,
|
|
@@ -345,14 +358,14 @@ function AgGridPlus(props) {
|
|
|
345
358
|
}
|
|
346
359
|
}, [rowData]);
|
|
347
360
|
|
|
348
|
-
/**
|
|
349
|
-
* 【P0 + P1 优化】使用派生状态应用方案(单向数据流)
|
|
350
|
-
*
|
|
351
|
-
* 优势:
|
|
352
|
-
* 1. 使用已派生的状态,避免重复计算
|
|
353
|
-
* 2. 单向数据流,状态同步更可靠
|
|
354
|
-
* 3. 性能提升 67%,代码更清晰
|
|
355
|
-
* 4. 使用 Promise 链和 requestAnimationFrame 解决竞态条件
|
|
361
|
+
/**
|
|
362
|
+
* 【P0 + P1 优化】使用派生状态应用方案(单向数据流)
|
|
363
|
+
*
|
|
364
|
+
* 优势:
|
|
365
|
+
* 1. 使用已派生的状态,避免重复计算
|
|
366
|
+
* 2. 单向数据流,状态同步更可靠
|
|
367
|
+
* 3. 性能提升 67%,代码更清晰
|
|
368
|
+
* 4. 使用 Promise 链和 requestAnimationFrame 解决竞态条件
|
|
356
369
|
*/
|
|
357
370
|
useEffect(function () {
|
|
358
371
|
if (!gridKey || !apiRef.current) return;
|
|
@@ -410,39 +423,38 @@ function AgGridPlus(props) {
|
|
|
410
423
|
}, [gridKey, currentColumnScheme === null || currentColumnScheme === void 0 ? void 0 : currentColumnScheme.id, derivedColumnState, ready // 添加 ready 依赖,确保 Grid 初始化完成后再应用方案
|
|
411
424
|
]);
|
|
412
425
|
|
|
413
|
-
/**
|
|
414
|
-
* 【新增】监听当前方案 ID 变化,当方案被删除时重置列状态
|
|
415
|
-
*
|
|
416
|
-
* 场景:
|
|
417
|
-
* - 用户删除当前正在使用的方案
|
|
418
|
-
* - currentColumnScheme?.id 从有值变为 null
|
|
419
|
-
*
|
|
420
|
-
* 行为:
|
|
421
|
-
* - 重置列状态为初始状态(默认顺序、宽度等)
|
|
422
|
-
* - 清除所有过滤器
|
|
423
|
-
* - 清除列样式配置
|
|
424
|
-
*
|
|
425
|
-
* 优势:
|
|
426
|
-
* - 符合单向数据流架构
|
|
427
|
-
* - 适用于所有方案切换场景(删除/取消选择)
|
|
428
|
-
* - 用户体验好,自动恢复到初始状态
|
|
426
|
+
/**
|
|
427
|
+
* 【新增】监听当前方案 ID 变化,当方案被删除时重置列状态
|
|
428
|
+
*
|
|
429
|
+
* 场景:
|
|
430
|
+
* - 用户删除当前正在使用的方案
|
|
431
|
+
* - currentColumnScheme?.id 从有值变为 null
|
|
432
|
+
*
|
|
433
|
+
* 行为:
|
|
434
|
+
* - 重置列状态为初始状态(默认顺序、宽度等)
|
|
435
|
+
* - 清除所有过滤器
|
|
436
|
+
* - 清除列样式配置
|
|
437
|
+
*
|
|
438
|
+
* 优势:
|
|
439
|
+
* - 符合单向数据流架构
|
|
440
|
+
* - 适用于所有方案切换场景(删除/取消选择)
|
|
441
|
+
* - 用户体验好,自动恢复到初始状态
|
|
429
442
|
*/
|
|
430
443
|
var prevSchemeIdRef = useRef(currentColumnScheme === null || currentColumnScheme === void 0 ? void 0 : currentColumnScheme.id);
|
|
431
444
|
useEffect(function () {
|
|
432
445
|
if (!gridKey || !apiRef.current || !ready) return;
|
|
433
446
|
var prevSchemeId = prevSchemeIdRef.current;
|
|
434
447
|
var currentSchemeId = currentColumnScheme === null || currentColumnScheme === void 0 ? void 0 : currentColumnScheme.id;
|
|
448
|
+
|
|
435
449
|
// 检测方案被删除:从有值变为 null/undefined
|
|
436
450
|
if (prevSchemeId && !currentSchemeId) {
|
|
437
451
|
Promise.resolve().then(function () {
|
|
438
452
|
if (!apiRef.current) return;
|
|
439
453
|
|
|
440
454
|
// 1. 重置列状态为初始状态
|
|
441
|
-
|
|
442
455
|
apiRef.current.resetColumnState();
|
|
443
456
|
|
|
444
457
|
// 2. 清除所有过滤器
|
|
445
|
-
|
|
446
458
|
apiRef.current.setFilterModel(null);
|
|
447
459
|
|
|
448
460
|
// 3. 清除列样式配置
|
|
@@ -602,7 +614,7 @@ function AgGridPlus(props) {
|
|
|
602
614
|
columnDefs = columnDefs.map(function (col) {
|
|
603
615
|
return processColumnDefRecursively(col);
|
|
604
616
|
});
|
|
605
|
-
extensibleColumns && gridKey && extensibleColumns[gridKey] && extensibleColumns[gridKey].
|
|
617
|
+
extensibleColumns && gridKey && extensibleColumns[gridKey] && extensibleColumns[gridKey].forEach(function (column) {
|
|
606
618
|
columnDefs.push({
|
|
607
619
|
field: column.name,
|
|
608
620
|
headerName: column.displayName,
|
|
@@ -664,16 +676,10 @@ function AgGridPlus(props) {
|
|
|
664
676
|
return cols;
|
|
665
677
|
}, [React.Children.count(children), props.columnDefs, extensibleColumns, gridKey, entityType, hostEntityExtensions]);
|
|
666
678
|
|
|
667
|
-
// 稳定化 gridParams 和 sortColumn 的引用
|
|
668
|
-
var stableGridParams =
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
var stableSortColumn = useMemo(function () {
|
|
672
|
-
return sortColumn;
|
|
673
|
-
}, [JSON.stringify(sortColumn)]);
|
|
674
|
-
var stableQueryFilter = useMemo(function () {
|
|
675
|
-
return queryFilter;
|
|
676
|
-
}, [JSON.stringify(queryFilter)]);
|
|
679
|
+
// 稳定化 gridParams 和 sortColumn 的引用(深比较,内容不变即复用旧引用)
|
|
680
|
+
var stableGridParams = useDeepCompareStable(gridParams);
|
|
681
|
+
var stableSortColumn = useDeepCompareStable(sortColumn);
|
|
682
|
+
var stableQueryFilter = useDeepCompareStable(queryFilter);
|
|
677
683
|
|
|
678
684
|
// AG-Grid v33+ 行选择配置(使用对象 API)
|
|
679
685
|
var rowSelectionConfig = useMemo(function () {
|
|
@@ -757,8 +763,12 @@ function AgGridPlus(props) {
|
|
|
757
763
|
maxResultCount: pagination.pageSize,
|
|
758
764
|
sorter: getSort(stableSortColumn)
|
|
759
765
|
});
|
|
766
|
+
var requestSeq = ++requestSeqRef.current;
|
|
760
767
|
requestRef.current(params, undefined, queryFilter).then(function (response) {
|
|
761
768
|
var _apiRef$current2;
|
|
769
|
+
// 过期响应(期间已发起更新的请求),直接丢弃 @author nokecy
|
|
770
|
+
if (requestSeq !== requestSeqRef.current) return;
|
|
771
|
+
|
|
762
772
|
// 验证响应数据格式
|
|
763
773
|
if (!response || _typeof(response) !== 'object') {
|
|
764
774
|
throw new GridPlusError('服务器返回数据格式错误', ErrorType.DATA_FORMAT_ERROR, ErrorSeverity.HIGH, {
|
|
@@ -834,6 +844,8 @@ function AgGridPlus(props) {
|
|
|
834
844
|
});
|
|
835
845
|
}
|
|
836
846
|
}).catch(function (error) {
|
|
847
|
+
// 过期请求的失败不再提示/改状态,避免干扰最新请求 @author nokecy
|
|
848
|
+
if (requestSeq !== requestSeqRef.current) return;
|
|
837
849
|
setLoading(false);
|
|
838
850
|
|
|
839
851
|
// 包装错误为 GridPlusError
|
|
@@ -1024,16 +1036,15 @@ function AgGridPlus(props) {
|
|
|
1024
1036
|
});
|
|
1025
1037
|
};
|
|
1026
1038
|
var avgFun = function avgFun(field, displayedData) {
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
}
|
|
1031
|
-
return 0;
|
|
1039
|
+
// 修正:分子分母口径统一为「有效数字」,避免 count 误用数组(恒真)及除零得 NaN @author nokecy
|
|
1040
|
+
var validValues = displayedData.filter(function (cur) {
|
|
1041
|
+
return cur && isValidNumber(cur[field]);
|
|
1032
1042
|
});
|
|
1033
|
-
|
|
1034
|
-
|
|
1043
|
+
if (validValues.length === 0) return 0;
|
|
1044
|
+
var sum = _sumBy(validValues, function (cur) {
|
|
1045
|
+
return cur[field];
|
|
1035
1046
|
});
|
|
1036
|
-
return
|
|
1047
|
+
return sum / validValues.length;
|
|
1037
1048
|
};
|
|
1038
1049
|
var standardDeviationFun = function standardDeviationFun(field, displayedData) {
|
|
1039
1050
|
var validValues = displayedData.filter(function (cur) {
|
|
@@ -1121,13 +1132,13 @@ function AgGridPlus(props) {
|
|
|
1121
1132
|
calculateSum();
|
|
1122
1133
|
};
|
|
1123
1134
|
|
|
1124
|
-
/**
|
|
1125
|
-
* 【P0 + P1 优化】列定义 - 优先使用派生状态
|
|
1126
|
-
*
|
|
1127
|
-
* 单向数据流优势:
|
|
1128
|
-
* 1. 优先使用已派生的 derivedColumnDefs(避免重复计算)
|
|
1129
|
-
* 2. 仅在无方案时使用默认逻辑
|
|
1130
|
-
* 3. 性能提升 94%,架构清晰度 +60%
|
|
1135
|
+
/**
|
|
1136
|
+
* 【P0 + P1 优化】列定义 - 优先使用派生状态
|
|
1137
|
+
*
|
|
1138
|
+
* 单向数据流优势:
|
|
1139
|
+
* 1. 优先使用已派生的 derivedColumnDefs(避免重复计算)
|
|
1140
|
+
* 2. 仅在无方案时使用默认逻辑
|
|
1141
|
+
* 3. 性能提升 94%,架构清晰度 +60%
|
|
1131
1142
|
*/
|
|
1132
1143
|
var colDefs = useMemo(function () {
|
|
1133
1144
|
// 【优先使用派生状态】如果有派生的列定义,直接使用
|
|
@@ -1174,7 +1185,9 @@ function AgGridPlus(props) {
|
|
|
1174
1185
|
return processedColumns;
|
|
1175
1186
|
}, [
|
|
1176
1187
|
// 【关键】优先依赖派生状态
|
|
1177
|
-
derivedColumnDefs, React.Children.count(children), props.columnDefs, extensibleColumns, columnCellClass,
|
|
1188
|
+
derivedColumnDefs, React.Children.count(children), props.columnDefs, extensibleColumns, columnCellClass,
|
|
1189
|
+
// ref.current 变更不触发重渲染,作依赖无效;改依赖真正的数据源 allColDefs(memo 值) @author nokecy
|
|
1190
|
+
allColDefs]);
|
|
1178
1191
|
|
|
1179
1192
|
// 构建查询表单项(带 order 属性)
|
|
1180
1193
|
var queryFormItems = useMemo(function () {
|
|
@@ -1252,10 +1265,10 @@ function AgGridPlus(props) {
|
|
|
1252
1265
|
return {
|
|
1253
1266
|
extensibleColumns: extensibleColumns,
|
|
1254
1267
|
columnState: gridPlusColumnState,
|
|
1255
|
-
allColDefs:
|
|
1256
|
-
//
|
|
1268
|
+
allColDefs: allColDefs,
|
|
1269
|
+
// 直接用 memo 值(与 ref 同源,引用变化能正确触发 memo 更新) @author nokecy
|
|
1257
1270
|
initialColumnDefs: initialColumnDefsRef.current,
|
|
1258
|
-
//
|
|
1271
|
+
// 初始列定义在 allColDefs 首次计算时填充,之后不变(用于获取原始 headerName)
|
|
1259
1272
|
onSaveColumnState: onSaveColumnState,
|
|
1260
1273
|
applyToGlobal: applyToGlobal,
|
|
1261
1274
|
resetCurrent: resetCurrent,
|
|
@@ -1290,11 +1303,9 @@ function AgGridPlus(props) {
|
|
|
1290
1303
|
// ========== 实体扩展字段配置 @author nokecy ==========
|
|
1291
1304
|
hostEntityExtensions: hostEntityExtensions
|
|
1292
1305
|
};
|
|
1293
|
-
}, [extensibleColumns, gridPlusColumnState,
|
|
1294
|
-
//
|
|
1295
|
-
|
|
1296
|
-
// 【新增】添加初始列定义到依赖数组
|
|
1297
|
-
onSaveColumnState, applyToGlobal, resetCurrent, resetAll, currentQueryScheme, queryItemsOrder, queryFormItems,
|
|
1306
|
+
}, [extensibleColumns, gridPlusColumnState,
|
|
1307
|
+
// ref.current 作依赖无效(变更不触发重渲染);依赖数据源 allColDefs,initialColumnDefs 随其首次计算填充 @author nokecy
|
|
1308
|
+
allColDefs, onSaveColumnState, applyToGlobal, resetCurrent, resetAll, currentQueryScheme, queryItemsOrder, queryFormItems,
|
|
1298
1309
|
// 方案管理依赖
|
|
1299
1310
|
columnSchemes, querySchemes, currentSchemes, schemesLoading, lastSyncTime, saveColumnScheme, deleteColumnScheme, saveQueryScheme, deleteQueryScheme, setCurrentColumnScheme, setCurrentQueryScheme, refreshSchemes, getColumnSchemes, getQuerySchemes, getCurrentScheme,
|
|
1300
1311
|
// 全局配置依赖
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
|
|
3
|
-
/**
|
|
4
|
-
* 方案管理 API 接口
|
|
5
|
-
*
|
|
6
|
-
* ⚠️ 必须通过 useSchemeManager Hook 创建,然后传入 Provider
|
|
7
|
-
*
|
|
8
|
-
* @example
|
|
9
|
-
* ```tsx
|
|
10
|
-
* const adapter = useMemo(() => new BackendApiSchemeAdapter({ ... }), []);
|
|
11
|
-
* const schemeManager = useSchemeManager({ adapter, autoLoad: true });
|
|
12
|
-
*
|
|
13
|
-
* <GridPlusContext.Provider value={{
|
|
14
|
-
* ...otherValues,
|
|
15
|
-
* ...schemeManager // 展开方案管理状态
|
|
16
|
-
* }}>
|
|
17
|
-
* ```
|
|
3
|
+
/**
|
|
4
|
+
* 方案管理 API 接口
|
|
5
|
+
*
|
|
6
|
+
* ⚠️ 必须通过 useSchemeManager Hook 创建,然后传入 Provider
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```tsx
|
|
10
|
+
* const adapter = useMemo(() => new BackendApiSchemeAdapter({ ... }), []);
|
|
11
|
+
* const schemeManager = useSchemeManager({ adapter, autoLoad: true });
|
|
12
|
+
*
|
|
13
|
+
* <GridPlusContext.Provider value={{
|
|
14
|
+
* ...otherValues,
|
|
15
|
+
* ...schemeManager // 展开方案管理状态
|
|
16
|
+
* }}>
|
|
17
|
+
* ```
|
|
18
18
|
*/
|
|
19
19
|
|
|
20
|
-
/**
|
|
21
|
-
* GridPlus Context 值接口
|
|
22
|
-
*
|
|
23
|
-
* ⚠️ 必须包含方案管理 API,通过 useSchemeManager Hook 创建后传入
|
|
20
|
+
/**
|
|
21
|
+
* GridPlus Context 值接口
|
|
22
|
+
*
|
|
23
|
+
* ⚠️ 必须包含方案管理 API,通过 useSchemeManager Hook 创建后传入
|
|
24
24
|
*/
|
|
25
25
|
|
|
26
26
|
export var GridPlusContext = /*#__PURE__*/React.createContext({
|
|
@@ -5,38 +5,39 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
|
|
|
5
5
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
6
6
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
7
7
|
import { useMemo } from 'react';
|
|
8
|
+
import { logger } from "../utils/logger";
|
|
8
9
|
|
|
9
|
-
/**
|
|
10
|
-
* 【P1 架构优化】单向数据流 Hook
|
|
11
|
-
*
|
|
12
|
-
* 建立清晰的数据流层次:
|
|
13
|
-
* 1. Source of Truth: Scheme State (通过参数传入)
|
|
14
|
-
* 2. Derived State: Grid State (通过 useMemo 派生)
|
|
15
|
-
* 3. UI State: Context State (仅用于 UI 交互)
|
|
16
|
-
*
|
|
17
|
-
* 优势:
|
|
18
|
-
* - 架构清晰度 +60%(单向数据流易于追踪)
|
|
19
|
-
* - Bug 减少率 -40%(消除状态冲突)
|
|
20
|
-
* - 状态同步复杂度降低 70%
|
|
10
|
+
/**
|
|
11
|
+
* 【P1 架构优化】单向数据流 Hook
|
|
12
|
+
*
|
|
13
|
+
* 建立清晰的数据流层次:
|
|
14
|
+
* 1. Source of Truth: Scheme State (通过参数传入)
|
|
15
|
+
* 2. Derived State: Grid State (通过 useMemo 派生)
|
|
16
|
+
* 3. UI State: Context State (仅用于 UI 交互)
|
|
17
|
+
*
|
|
18
|
+
* 优势:
|
|
19
|
+
* - 架构清晰度 +60%(单向数据流易于追踪)
|
|
20
|
+
* - Bug 减少率 -40%(消除状态冲突)
|
|
21
|
+
* - 状态同步复杂度降低 70%
|
|
21
22
|
*/
|
|
22
23
|
|
|
23
|
-
/**
|
|
24
|
-
* 方案数据接口
|
|
24
|
+
/**
|
|
25
|
+
* 方案数据接口
|
|
25
26
|
*/
|
|
26
27
|
|
|
27
|
-
/**
|
|
28
|
-
* 数据源层 - 获取方案数据(单一数据源)
|
|
29
|
-
*
|
|
30
|
-
* @param gridKey - Grid 唯一标识
|
|
31
|
-
* @param schemeData - 方案数据(从外部传入,避免 Context 覆盖问题)
|
|
32
|
-
* @returns 方案数据源对象
|
|
28
|
+
/**
|
|
29
|
+
* 数据源层 - 获取方案数据(单一数据源)
|
|
30
|
+
*
|
|
31
|
+
* @param gridKey - Grid 唯一标识
|
|
32
|
+
* @param schemeData - 方案数据(从外部传入,避免 Context 覆盖问题)
|
|
33
|
+
* @returns 方案数据源对象
|
|
33
34
|
*/
|
|
34
35
|
export function useSchemeSource(gridKey, schemeData) {
|
|
35
36
|
var columnSchemes = schemeData.columnSchemes,
|
|
36
37
|
querySchemes = schemeData.querySchemes,
|
|
37
38
|
currentSchemes = schemeData.currentSchemes;
|
|
38
39
|
return useMemo(function () {
|
|
39
|
-
var _currentSchemes$gridK, _currentSchemes$gridK2;
|
|
40
|
+
var _currentSchemes$gridK, _currentSchemes$gridK2, _currentColumnScheme;
|
|
40
41
|
var schemes = (columnSchemes === null || columnSchemes === void 0 ? void 0 : columnSchemes[gridKey]) || [];
|
|
41
42
|
var currentColumnSchemeId = currentSchemes === null || currentSchemes === void 0 || (_currentSchemes$gridK = currentSchemes[gridKey]) === null || _currentSchemes$gridK === void 0 ? void 0 : _currentSchemes$gridK.columnSchemeId;
|
|
42
43
|
|
|
@@ -104,6 +105,15 @@ export function useSchemeSource(gridKey, schemeData) {
|
|
|
104
105
|
isUsingGlobalQueryFallback = true;
|
|
105
106
|
}
|
|
106
107
|
}
|
|
108
|
+
logger.debug('[useSchemeSource] 方案数据源:', {
|
|
109
|
+
gridKey: gridKey,
|
|
110
|
+
schemes: schemes,
|
|
111
|
+
currentColumnSchemeId: currentColumnSchemeId,
|
|
112
|
+
currentColumnScheme: currentColumnScheme,
|
|
113
|
+
hasCurrentScheme: !!currentColumnScheme,
|
|
114
|
+
isUsingGlobalFallback: isUsingGlobalFallback,
|
|
115
|
+
columnConfigLength: (_currentColumnScheme = currentColumnScheme) === null || _currentColumnScheme === void 0 || (_currentColumnScheme = _currentColumnScheme.columnConfig) === null || _currentColumnScheme === void 0 ? void 0 : _currentColumnScheme.length
|
|
116
|
+
});
|
|
107
117
|
return {
|
|
108
118
|
// 列方案
|
|
109
119
|
columnSchemes: schemes,
|
|
@@ -121,24 +131,41 @@ export function useSchemeSource(gridKey, schemeData) {
|
|
|
121
131
|
}, [columnSchemes, querySchemes, currentSchemes, gridKey]);
|
|
122
132
|
}
|
|
123
133
|
|
|
124
|
-
/**
|
|
125
|
-
* 派生层 - 计算 Grid 状态(只读派生)
|
|
126
|
-
*
|
|
127
|
-
* @param currentScheme - 当前列方案
|
|
128
|
-
* @param allColDefs - 原始列定义
|
|
129
|
-
* @returns 派生的 Grid 列定义
|
|
134
|
+
/**
|
|
135
|
+
* 派生层 - 计算 Grid 状态(只读派生)
|
|
136
|
+
*
|
|
137
|
+
* @param currentScheme - 当前列方案
|
|
138
|
+
* @param allColDefs - 原始列定义
|
|
139
|
+
* @returns 派生的 Grid 列定义
|
|
130
140
|
*/
|
|
131
141
|
export function useDerivedGridState(currentScheme, allColDefs) {
|
|
132
142
|
return useMemo(function () {
|
|
143
|
+
var _currentScheme$column;
|
|
144
|
+
logger.debug('[useDerivedGridState] 输入参数:', {
|
|
145
|
+
hasScheme: !!currentScheme,
|
|
146
|
+
schemeId: currentScheme === null || currentScheme === void 0 ? void 0 : currentScheme.id,
|
|
147
|
+
configLength: currentScheme === null || currentScheme === void 0 || (_currentScheme$column = currentScheme.columnConfig) === null || _currentScheme$column === void 0 ? void 0 : _currentScheme$column.length,
|
|
148
|
+
allColDefsLength: allColDefs === null || allColDefs === void 0 ? void 0 : allColDefs.length
|
|
149
|
+
});
|
|
133
150
|
if (!(currentScheme !== null && currentScheme !== void 0 && currentScheme.columnConfig) || !allColDefs || allColDefs.length === 0) {
|
|
151
|
+
logger.debug('[useDerivedGridState] 返回 null (缺少必要数据)');
|
|
134
152
|
return null;
|
|
135
153
|
}
|
|
136
154
|
try {
|
|
155
|
+
var _result$;
|
|
137
156
|
var _require = require("../setting/columnGroupUtils"),
|
|
138
157
|
flatConfigToGridState = _require.flatConfigToGridState;
|
|
139
158
|
|
|
140
159
|
// 转换并缓存结果
|
|
141
160
|
var result = flatConfigToGridState(currentScheme.columnConfig, allColDefs);
|
|
161
|
+
logger.debug('[useDerivedGridState] 转换成功:', {
|
|
162
|
+
resultLength: result === null || result === void 0 ? void 0 : result.length,
|
|
163
|
+
columnOrder: result === null || result === void 0 ? void 0 : result.map(function (col) {
|
|
164
|
+
return col.field;
|
|
165
|
+
}),
|
|
166
|
+
firstColumn: result === null || result === void 0 || (_result$ = result[0]) === null || _result$ === void 0 ? void 0 : _result$.field,
|
|
167
|
+
fullResult: result
|
|
168
|
+
});
|
|
142
169
|
return result;
|
|
143
170
|
} catch (error) {
|
|
144
171
|
console.error('[useDerivedGridState] 转换失败:', error);
|
|
@@ -148,12 +175,12 @@ export function useDerivedGridState(currentScheme, allColDefs) {
|
|
|
148
175
|
currentScheme === null || currentScheme === void 0 ? void 0 : currentScheme.id, allColDefs]);
|
|
149
176
|
}
|
|
150
177
|
|
|
151
|
-
/**
|
|
152
|
-
* 派生层 - 计算列样式状态(只读派生)
|
|
153
|
-
*
|
|
154
|
-
* @param currentScheme - 当前列方案
|
|
155
|
-
* @param allColDefs - 原始列定义(用于检测新增列)
|
|
156
|
-
* @returns 派生的列状态配置
|
|
178
|
+
/**
|
|
179
|
+
* 派生层 - 计算列样式状态(只读派生)
|
|
180
|
+
*
|
|
181
|
+
* @param currentScheme - 当前列方案
|
|
182
|
+
* @param allColDefs - 原始列定义(用于检测新增列)
|
|
183
|
+
* @returns 派生的列状态配置
|
|
157
184
|
*/
|
|
158
185
|
export function useDerivedColumnState(currentScheme, allColDefs) {
|
|
159
186
|
return useMemo(function () {
|
|
@@ -166,6 +193,15 @@ export function useDerivedColumnState(currentScheme, allColDefs) {
|
|
|
166
193
|
|
|
167
194
|
// 转换列状态,传入原始列定义以检测新增列
|
|
168
195
|
var result = flatConfigToColumnState(currentScheme.columnConfig, allColDefs);
|
|
196
|
+
logger.debug('[useDerivedColumnState] 转换结果:', {
|
|
197
|
+
schemeId: currentScheme.id,
|
|
198
|
+
columnConfigLength: currentScheme.columnConfig.length,
|
|
199
|
+
resultLength: result === null || result === void 0 ? void 0 : result.length,
|
|
200
|
+
columnOrder: result === null || result === void 0 ? void 0 : result.map(function (r) {
|
|
201
|
+
return r.colId;
|
|
202
|
+
}),
|
|
203
|
+
fullResult: result
|
|
204
|
+
});
|
|
169
205
|
return result;
|
|
170
206
|
} catch (error) {
|
|
171
207
|
console.error('[useDerivedColumnState] 转换失败:', error);
|
|
@@ -175,30 +211,30 @@ export function useDerivedColumnState(currentScheme, allColDefs) {
|
|
|
175
211
|
currentScheme === null || currentScheme === void 0 ? void 0 : currentScheme.id, allColDefs]);
|
|
176
212
|
}
|
|
177
213
|
|
|
178
|
-
/**
|
|
179
|
-
* 统一的方案数据流 Hook(组合版)
|
|
180
|
-
*
|
|
181
|
-
* @param gridKey - Grid 唯一标识
|
|
182
|
-
* @param allColDefs - 原始列定义
|
|
183
|
-
* @param schemeData - 方案数据(从外部传入,避免 Context 覆盖问题)
|
|
184
|
-
* @returns 完整的方案数据流对象
|
|
185
|
-
*
|
|
186
|
-
* @example
|
|
187
|
-
* ```tsx
|
|
188
|
-
* function AgGridPlus({ gridKey }) {
|
|
189
|
-
* const allColDefsRef = useRef([]);
|
|
190
|
-
* const { columnSchemes, querySchemes, currentSchemes } = useGridSchemes();
|
|
191
|
-
*
|
|
192
|
-
* const schemeDataFlow = useSchemeDataFlow(
|
|
193
|
-
* gridKey,
|
|
194
|
-
* allColDefsRef.current,
|
|
195
|
-
* { columnSchemes, querySchemes, currentSchemes }
|
|
196
|
-
* );
|
|
197
|
-
*
|
|
198
|
-
* // 只读访问数据
|
|
199
|
-
* const { currentColumnScheme, derivedColumnDefs } = schemeDataFlow;
|
|
200
|
-
* }
|
|
201
|
-
* ```
|
|
214
|
+
/**
|
|
215
|
+
* 统一的方案数据流 Hook(组合版)
|
|
216
|
+
*
|
|
217
|
+
* @param gridKey - Grid 唯一标识
|
|
218
|
+
* @param allColDefs - 原始列定义
|
|
219
|
+
* @param schemeData - 方案数据(从外部传入,避免 Context 覆盖问题)
|
|
220
|
+
* @returns 完整的方案数据流对象
|
|
221
|
+
*
|
|
222
|
+
* @example
|
|
223
|
+
* ```tsx
|
|
224
|
+
* function AgGridPlus({ gridKey }) {
|
|
225
|
+
* const allColDefsRef = useRef([]);
|
|
226
|
+
* const { columnSchemes, querySchemes, currentSchemes } = useGridSchemes();
|
|
227
|
+
*
|
|
228
|
+
* const schemeDataFlow = useSchemeDataFlow(
|
|
229
|
+
* gridKey,
|
|
230
|
+
* allColDefsRef.current,
|
|
231
|
+
* { columnSchemes, querySchemes, currentSchemes }
|
|
232
|
+
* );
|
|
233
|
+
*
|
|
234
|
+
* // 只读访问数据
|
|
235
|
+
* const { currentColumnScheme, derivedColumnDefs } = schemeDataFlow;
|
|
236
|
+
* }
|
|
237
|
+
* ```
|
|
202
238
|
*/
|
|
203
239
|
export function useSchemeDataFlow(gridKey, allColDefs, schemeData) {
|
|
204
240
|
// 1. 数据源层(Source of Truth)
|