@adaptabletools/adaptable 12.0.0-canary.1 → 12.0.0-canary.4
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/base.css +41 -14
- package/bundle.cjs.js +156 -142
- package/index.css +49 -14
- package/package.json +3 -3
- package/publishTimestamp.d.ts +1 -1
- package/publishTimestamp.js +1 -1
- package/src/AdaptableInterfaces/AdaptableNoCodeWizard.d.ts +1 -0
- package/src/AdaptableOptions/ActionOptions.d.ts +181 -1
- package/src/AdaptableOptions/AdaptableOptions.d.ts +5 -0
- package/src/AdaptableOptions/AlertOptions.d.ts +5 -9
- package/src/AdaptableOptions/DashboardOptions.d.ts +1 -5
- package/src/AdaptableOptions/DataChangeHistoryOptions.d.ts +17 -4
- package/src/AdaptableOptions/EditOptions.d.ts +2 -62
- package/src/AdaptableOptions/FinancePluginOptions.d.ts +3 -3
- package/src/AdaptableOptions/GeneralOptions.d.ts +7 -0
- package/src/AdaptableOptions/ToolPanelOptions.d.ts +1 -5
- package/src/AdaptableOptions/UserInterfaceOptions.d.ts +2 -112
- package/src/Api/ActionApi.d.ts +24 -0
- package/src/Api/{Events/RowFormSubmitted.js → ActionApi.js} +0 -0
- package/src/Api/AdaptableApi.d.ts +5 -0
- package/src/Api/AlertApi.d.ts +3 -3
- package/src/Api/ConfigApi.d.ts +1 -1
- package/src/Api/EventApi.d.ts +9 -9
- package/src/Api/Events/ActionRowSubmitted.d.ts +34 -0
- package/src/Api/Events/ActionRowSubmitted.js +2 -0
- package/src/Api/GridApi.d.ts +0 -14
- package/src/Api/Implementation/ActionApiImpl.d.ts +8 -0
- package/src/Api/Implementation/ActionApiImpl.js +56 -0
- package/src/Api/Implementation/AdaptableApiImpl.d.ts +2 -0
- package/src/Api/Implementation/AdaptableApiImpl.js +2 -0
- package/src/Api/Implementation/AlertApiImpl.d.ts +3 -3
- package/src/Api/Implementation/ApiBase.d.ts +2 -1
- package/src/Api/Implementation/ApiBase.js +3 -0
- package/src/Api/Implementation/ColumnApiImpl.js +2 -2
- package/src/Api/Implementation/ConfigApiImpl.d.ts +1 -1
- package/src/Api/Implementation/FormatColumnApiImpl.js +2 -2
- package/src/Api/Implementation/GridApiImpl.d.ts +0 -3
- package/src/Api/Implementation/GridApiImpl.js +0 -44
- package/src/Api/Implementation/InternalApiImpl.d.ts +3 -3
- package/src/Api/Implementation/StatusBarApiImpl.d.ts +4 -3
- package/src/Api/Implementation/StatusBarApiImpl.js +2 -2
- package/src/Api/Implementation/TeamSharingApiImpl.js +2 -1
- package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +1 -2
- package/src/Api/Implementation/UserInterfaceApiImpl.js +0 -4
- package/src/Api/StatusBarApi.d.ts +10 -3
- package/src/Api/UserInterfaceApi.d.ts +1 -5
- package/src/PredefinedConfig/AlertState.d.ts +4 -4
- package/src/PredefinedConfig/Common/AdaptableAlert.js +4 -2
- package/src/PredefinedConfig/Common/AdaptableColumn.js +2 -1
- package/src/PredefinedConfig/Common/AdaptableForm.d.ts +1 -1
- package/src/PredefinedConfig/Common/AdaptableIcon.d.ts +24 -18
- package/src/PredefinedConfig/Common/AdaptablePredicate.d.ts +2 -4
- package/src/PredefinedConfig/Common/AdaptablePredicate.js +33 -31
- package/src/PredefinedConfig/Common/AdaptableQuery.js +2 -1
- package/src/PredefinedConfig/Common/FormContext.d.ts +3 -0
- package/src/PredefinedConfig/Common/Menu.d.ts +3 -3
- package/src/PredefinedConfig/Common/Types.d.ts +1 -1
- package/src/PredefinedConfig/StatusBarState.d.ts +5 -2
- package/src/PredefinedConfig/Uuid.js +2 -1
- package/src/Redux/ActionsReducers/AlertRedux.js +16 -8
- package/src/Redux/ActionsReducers/ApplicationRedux.js +8 -4
- package/src/Redux/ActionsReducers/BulkUpdateRedux.js +6 -3
- package/src/Redux/ActionsReducers/CalculatedColumnRedux.js +10 -5
- package/src/Redux/ActionsReducers/CellSummaryRedux.js +2 -1
- package/src/Redux/ActionsReducers/ConditionalStyleRedux.js +14 -7
- package/src/Redux/ActionsReducers/CustomSortRedux.js +14 -7
- package/src/Redux/ActionsReducers/DashboardRedux.js +24 -12
- package/src/Redux/ActionsReducers/ExportRedux.js +16 -8
- package/src/Redux/ActionsReducers/FlashingCellRedux.js +16 -8
- package/src/Redux/ActionsReducers/FormatColumnRedux.js +14 -7
- package/src/Redux/ActionsReducers/FreeTextColumnRedux.js +14 -7
- package/src/Redux/ActionsReducers/GridRedux.js +38 -19
- package/src/Redux/ActionsReducers/LayoutRedux.js +30 -15
- package/src/Redux/ActionsReducers/PluginsRedux.js +4 -2
- package/src/Redux/ActionsReducers/PlusMinusRedux.js +16 -8
- package/src/Redux/ActionsReducers/PopupRedux.js +37 -19
- package/src/Redux/ActionsReducers/QueryRedux.js +12 -6
- package/src/Redux/ActionsReducers/QuickSearchRedux.js +8 -4
- package/src/Redux/ActionsReducers/ScheduleRedux.js +58 -29
- package/src/Redux/ActionsReducers/ShortcutRedux.js +14 -7
- package/src/Redux/ActionsReducers/SmartEditRedux.js +6 -3
- package/src/Redux/ActionsReducers/StatusBarRedux.js +10 -5
- package/src/Redux/ActionsReducers/SystemRedux.js +103 -51
- package/src/Redux/ActionsReducers/SystemStatusRedux.js +4 -2
- package/src/Redux/ActionsReducers/TeamSharingRedux.js +22 -11
- package/src/Redux/ActionsReducers/ThemeRedux.js +10 -5
- package/src/Redux/ActionsReducers/ToolPanelRedux.js +16 -8
- package/src/Redux/DeadRedux.js +16 -8
- package/src/Redux/Store/AdaptableReduxMerger.js +2 -1
- package/src/Redux/Store/AdaptableStore.js +10 -2
- package/src/Strategy/AlertModule.d.ts +2 -18
- package/src/Strategy/AlertModule.js +2 -1
- package/src/Strategy/ConditionalStyleModule.d.ts +2 -10
- package/src/Strategy/DashboardModule.js +3 -1
- package/src/Strategy/DataChangeHistoryModule.d.ts +2 -8
- package/src/Strategy/DataSetModule.d.ts +2 -13
- package/src/Strategy/ExportModule.d.ts +2 -13
- package/src/Strategy/ExportModule.js +1 -1
- package/src/Strategy/FilterModule.d.ts +2 -14
- package/src/Strategy/FilterModule.js +1 -1
- package/src/Strategy/FlashingCellModule.d.ts +2 -9
- package/src/Strategy/GridInfoModule.js +6 -2
- package/src/Strategy/LayoutModule.d.ts +2 -17
- package/src/Strategy/LayoutModule.js +6 -3
- package/src/Strategy/PlusMinusModule.d.ts +2 -9
- package/src/Strategy/QuickSearchModule.d.ts +2 -7
- package/src/Strategy/ScheduleModule.d.ts +2 -13
- package/src/Strategy/ShortcutModule.d.ts +2 -9
- package/src/Strategy/StatusBarModule.js +2 -2
- package/src/Strategy/SystemStatusModule.d.ts +2 -7
- package/src/Strategy/ThemeModule.d.ts +2 -8
- package/src/Strategy/Utilities/getAlertBehaviourViewItems.js +2 -1
- package/src/Strategy/Utilities/getAlertPreviewViewItems.js +2 -1
- package/src/Strategy/Utilities/getCustomSortColumnViewItems.js +2 -1
- package/src/Strategy/Utilities/getCustomSortSortOrderViewItems.js +2 -1
- package/src/Strategy/Utilities/getExportColumnsViewItems.js +2 -1
- package/src/Strategy/Utilities/getExportRowsViewItems.js +2 -1
- package/src/Strategy/Utilities/getExpressionViewItems.js +2 -1
- package/src/Strategy/Utilities/getFlashingCellDurationViewItems.js +2 -1
- package/src/Strategy/Utilities/getFlashingCellStyleViewItems.d.ts +2 -6
- package/src/Strategy/Utilities/getFlashingCellStyleViewItems.js +2 -1
- package/src/Strategy/Utilities/getFlashingTargetViewItems.js +2 -1
- package/src/Strategy/Utilities/getFormatColumnSettingsViewItems.js +2 -1
- package/src/Strategy/Utilities/getFormatColumnStyleViewItems.js +2 -1
- package/src/Strategy/Utilities/getObjectTagsViewItems.js +2 -1
- package/src/Strategy/Utilities/getRuleViewItems.js +2 -1
- package/src/Strategy/Utilities/getScopeViewItems.js +2 -1
- package/src/Strategy/Utilities/getShortcutSettingsViewItems.js +2 -1
- package/src/Strategy/Utilities/getStyleViewItems.js +2 -1
- package/src/Utilities/Constants/GeneralConstants.js +2 -1
- package/src/Utilities/Defaults/DefaultAdaptableOptions.js +13 -13
- package/src/Utilities/ExpressionFunctions/dateUtils.js +2 -1
- package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.js +20 -10
- package/src/Utilities/Helpers/AdaptableHelper.js +4 -3
- package/src/Utilities/Helpers/DateHelper.js +10 -5
- package/src/Utilities/Helpers/Helper.js +2 -1
- package/src/Utilities/Helpers/LoggingHelper.js +2 -1
- package/src/Utilities/Helpers/StyleHelper.js +8 -4
- package/src/Utilities/MenuItem.d.ts +4 -3
- package/src/Utilities/MenuItem.js +9 -3
- package/src/Utilities/ObjectFactory.js +1 -0
- package/src/Utilities/Services/Interface/IRowEditService.d.ts +3 -3
- package/src/Utilities/Services/ModuleService.js +3 -1
- package/src/Utilities/Services/RowEditService.d.ts +6 -6
- package/src/Utilities/Services/RowEditService.js +24 -25
- package/src/Utilities/isAdaptableObject.js +2 -1
- package/src/Utilities/isMacLike.js +2 -1
- package/src/Utilities/license/decode.js +1 -1
- package/src/Utilities/reorder.js +2 -1
- package/src/Utilities/runIfNotResolvedIn.js +2 -1
- package/src/Utilities/waitForCondition.d.ts +1 -1
- package/src/Utilities/waitForCondition.js +2 -1
- package/src/View/AdaptableContext.js +2 -1
- package/src/View/AdaptableView.js +2 -1
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ColumnsList.d.ts +8 -3
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ColumnsList.js +3 -2
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationForm.js +9 -2
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizard.d.ts +30 -0
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizard.js +88 -0
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizardColumnsStep.d.ts +18 -0
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizardColumnsStep.js +17 -0
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/index.d.ts +2 -9
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/index.js +2 -75
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/useSelection.d.ts +3 -1
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/useSelection.js +9 -4
- package/src/View/AdaptableWizardView/Utils.d.ts +1 -0
- package/src/View/AdaptableWizardView/Utils.js +25 -0
- package/src/View/AdaptableWizardView/Wizard.d.ts +54 -0
- package/src/View/AdaptableWizardView/Wizard.js +100 -0
- package/src/View/AdaptableWizardView/helper.js +6 -3
- package/src/View/AdaptableWizardView/index.d.ts +1 -22
- package/src/View/AdaptableWizardView/index.js +2 -103
- package/src/View/Alert/ActiveAlertsPanel.js +2 -1
- package/src/View/Alert/AlertEmptyView.js +2 -1
- package/src/View/Alert/AlertStatusSubPanel.js +2 -1
- package/src/View/Alert/Utilities/getAlertButtonStyle.js +2 -1
- package/src/View/Alert/Wizard/AlertBehaviourWizardSection.js +5 -3
- package/src/View/Alert/Wizard/AlertButtonsEditor.d.ts +3 -3
- package/src/View/Alert/Wizard/AlertButtonsEditor.js +2 -1
- package/src/View/Alert/Wizard/AlertDisplayWizardSection.js +8 -5
- package/src/View/Alert/Wizard/AlertRulesWizardSection.js +4 -2
- package/src/View/Alert/Wizard/AlertScopeWizardSection.js +2 -1
- package/src/View/Alert/Wizard/AlertWizard.js +2 -1
- package/src/View/Alert/Wizard/BaseAlertRulesWizardSection.js +3 -2
- package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.js +6 -4
- package/src/View/Alert/Wizard/isValidAlertRules.js +2 -1
- package/src/View/CalculatedColumn/CalculatedColumnSummary.d.ts +1 -1
- package/src/View/CalculatedColumn/Utilities/getCalculatedColumnSettingTags.js +2 -1
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.js +7 -4
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.js +7 -4
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +2 -1
- package/src/View/CellSummary/CellSummaryPopover.js +2 -1
- package/src/View/CellSummary/CellSummaryStatusBarSubPanelPopover.js +2 -1
- package/src/View/CellSummary/CellSummaryStatusPanel.js +2 -1
- package/src/View/ColorPicker.d.ts +5 -1
- package/src/View/Components/AdaptableDateInput/index.d.ts +1 -1
- package/src/View/Components/AdaptableDateInput/index.js +10 -10
- package/src/View/Components/AdaptableInput/index.d.ts +2 -2
- package/src/View/Components/AdaptableObjectList/AdaptableObjectCompactList.js +4 -2
- package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +4 -2
- package/src/View/Components/Buttons/ButtonClone.js +2 -1
- package/src/View/Components/Buttons/ButtonDelete.d.ts +1 -1
- package/src/View/Components/Buttons/ButtonEdit.js +2 -1
- package/src/View/Components/Buttons/ButtonNew.js +2 -1
- package/src/View/Components/ColumnSelector/index.js +2 -1
- package/src/View/Components/EntityRulesEditor/index.js +6 -3
- package/src/View/Components/ExpressionWizard.js +2 -1
- package/src/View/Components/ExternalRenderer.js +2 -1
- package/src/View/Components/FilterForm/FilterForm.js +2 -1
- package/src/View/Components/FilterForm/ListBoxFilterForm.js +2 -1
- package/src/View/Components/FilterForm/ListBoxMenu.js +2 -2
- package/src/View/Components/FilterForm/QuickFilterForm.js +5 -3
- package/src/View/Components/FilterForm/getDefaultColumnFilterPredicate.d.ts +1 -1
- package/src/View/Components/FilterForm/getDefaultColumnFilterPredicate.js +2 -1
- package/src/View/Components/Forms/AdaptableFormControlTextClear.d.ts +1 -2
- package/src/View/Components/ListBox/DualListBoxEditor.js +2 -1
- package/src/View/Components/ModuleValueSelector/index.js +2 -1
- package/src/View/Components/NewScopeComponent.js +6 -3
- package/src/View/Components/Panels/PanelFooter.js +2 -1
- package/src/View/Components/Panels/PanelWithImage.d.ts +1 -429
- package/src/View/Components/Panels/PanelWithImage.js +2 -0
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +2 -1
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupBody.js +2 -1
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.js +2 -1
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +2 -1
- package/src/View/Components/Popups/AdaptablePopup/CustomSettingsPanelView.js +2 -1
- package/src/View/Components/Popups/AdaptablePopup/Navigation.js +5 -5
- package/src/View/Components/Popups/AdaptablePopup/PopupContext.js +2 -1
- package/src/View/Components/Popups/AdaptablePopup/PopupPanel.js +2 -1
- package/src/View/Components/Popups/AdaptablePopup/TopBar.js +6 -5
- package/src/View/Components/Popups/AdaptablePopup/useMenuItems.js +2 -1
- package/src/View/Components/Popups/AdaptablePopupAlert.js +4 -4
- package/src/View/Components/Popups/AdaptablePopupPrompt.js +2 -1
- package/src/View/Components/Popups/AdaptablePopupTeamSharing.js +2 -1
- package/src/View/Components/Popups/AdaptableToaster.js +2 -1
- package/src/View/Components/Popups/FormPopups/FormPopups.js +4 -2
- package/src/View/Components/Popups/Utilities.js +8 -4
- package/src/View/Components/Popups/WindowPopups/WindowPopups.js +2 -1
- package/src/View/Components/Selectors/ColumnSelector.js +2 -1
- package/src/View/Components/TagValueSelector/index.js +4 -2
- package/src/View/Components/ToolPanel/AdaptableToolPanel.d.ts +1 -1
- package/src/View/Components/ToolPanel/AdaptableToolPanel.js +5 -1
- package/src/View/Components/ToolPanel/CustomToolPanelContent.js +2 -1
- package/src/View/Components/ToolPanel/ToolPanelPopup.d.ts +1 -1
- package/src/View/Components/ToolPanel/ToolPanelPopup.js +1 -1
- package/src/View/Components/ToolPanel/ToolPanelWrapper.js +2 -1
- package/src/View/Components/WizardSummaryPage.js +2 -1
- package/src/View/ConditionalStyle/Wizard/ConditionalStyleRuleWizardSection.js +1 -1
- package/src/View/ConditionalStyle/Wizard/ConditionalStyleScopeWizardSection.js +3 -2
- package/src/View/ConditionalStyle/Wizard/ConditionalStyleSettingsWizardSettings.js +5 -3
- package/src/View/ConditionalStyle/Wizard/ConditionalStyleStyleWizardSection.js +3 -2
- package/src/View/ConditionalStyle/Wizard/ConditionalStyleWizard.js +2 -1
- package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +8 -5
- package/src/View/CustomSort/Wizard/CustomSortValuesWizardSection.js +7 -4
- package/src/View/CustomSort/Wizard/CustomSortWizard.js +2 -1
- package/src/View/Dashboard/CustomDashboardButton.js +2 -1
- package/src/View/Dashboard/CustomToolbarWrapper.js +2 -1
- package/src/View/Dashboard/Dashboard.d.ts +1 -1
- package/src/View/Dashboard/Dashboard.js +4 -3
- package/src/View/Dashboard/DashboardPopup.js +1 -1
- package/src/View/Dashboard/ModuleToolbarWrapper.js +2 -1
- package/src/View/DataChangeHistory/DataChangeHistoryGrid.d.ts +7 -0
- package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +6 -6
- package/src/View/DataChangeHistory/DataChangeHistoryStatusBarContent.js +2 -1
- package/src/View/DataChangeHistory/DataChangeHistoryViewPanel.js +2 -1
- package/src/View/DataChangeHistory/buildActionColumnButton.d.ts +2 -2
- package/src/View/DataChangeHistory/buildActionColumnButton.js +13 -9
- package/src/View/DataSet/DataSetSelector.js +2 -1
- package/src/View/DataSet/DataSetStatusPanelPopover.js +2 -1
- package/src/View/DataSet/DataSetViewPanel.d.ts +1 -1
- package/src/View/Export/ExportSelector.js +2 -1
- package/src/View/Export/ExportViewPanel.d.ts +1 -1
- package/src/View/Export/ReportExportDropdown.js +2 -1
- package/src/View/Export/Wizard/NewReportWizard.js +4 -2
- package/src/View/Export/Wizard/ReportColumnsWizardSection.js +7 -4
- package/src/View/Export/Wizard/ReportNameWizardSection.js +7 -4
- package/src/View/Export/Wizard/ReportRowsWizardSection.js +7 -4
- package/src/View/Filter/ActiveFiltersPanel.js +2 -1
- package/src/View/Filter/FilterStatusBarSubPanelPopover.js +2 -1
- package/src/View/Filter/FilterSummary.d.ts +1 -1
- package/src/View/Filter/FilterViewPanel.d.ts +1 -1
- package/src/View/FlashingCell/FlashingCellStyle.js +2 -1
- package/src/View/FlashingCell/Wizard/FlashingCellRulesWizardSection.js +6 -4
- package/src/View/FlashingCell/Wizard/FlashingCellScopeWizardSection.js +3 -2
- package/src/View/FlashingCell/Wizard/FlashingCellSettingsWizardSection.js +11 -6
- package/src/View/FlashingCell/Wizard/FlashingCellStyleWizardSection.js +7 -4
- package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +2 -1
- package/src/View/FlashingCell/Wizard/isValidFlashingCellRules.js +2 -1
- package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +9 -5
- package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +5 -3
- package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +5 -3
- package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +5 -3
- package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +7 -4
- package/src/View/FreeTextColumn/Wizard/FreeTextColumnWizard.js +2 -1
- package/src/View/GridInfo/AdaptableObjectsSummary.js +2 -1
- package/src/View/GridInfo/AdaptableOptionsComponent.js +2 -1
- package/src/View/GridInfo/GridInfoPopup.js +5 -5
- package/src/View/KeyHint.js +2 -1
- package/src/View/Layout/EditCurrentLayoutButton.js +2 -1
- package/src/View/Layout/LayoutCloneButton.js +2 -1
- package/src/View/Layout/LayoutEditorStandalonePopup.js +2 -1
- package/src/View/Layout/LayoutPopup.d.ts +1 -1
- package/src/View/Layout/LayoutRadioSelector.js +2 -1
- package/src/View/Layout/LayoutStatusBarSubPanelPopover.js +2 -1
- package/src/View/Layout/LayoutViewPanel.d.ts +1 -1
- package/src/View/Layout/Wizard/LayoutEditor/ColumnLabels.js +2 -1
- package/src/View/Layout/Wizard/LayoutEditor/ColumnList.js +2 -1
- package/src/View/Layout/Wizard/LayoutEditor/ColumnSortList.js +2 -1
- package/src/View/Layout/Wizard/LayoutEditor/PivotList.js +2 -1
- package/src/View/Layout/Wizard/LayoutEditor/RowGroupsList.js +2 -1
- package/src/View/Layout/Wizard/LayoutEditor/getItemStyle.js +2 -1
- package/src/View/Layout/Wizard/LayoutEditor/reducer.js +4 -2
- package/src/View/Layout/Wizard/LayoutEditor/utils.js +2 -1
- package/src/View/License/LicenseWatermark.js +1 -1
- package/src/View/PlusMinus/Wizard/PlusMinusRuleWizardSection.js +2 -2
- package/src/View/PlusMinus/Wizard/PlusMinusScopeWizardSection.js +3 -2
- package/src/View/PlusMinus/Wizard/PlusMinusSettingsWizardSection.js +8 -5
- package/src/View/PlusMinus/Wizard/PlusMinusWizard.js +2 -1
- package/src/View/Query/EditCurrentQueryButton.js +2 -1
- package/src/View/Query/ExpandedQueryPopup.js +2 -1
- package/src/View/Query/QueryViewPanel.d.ts +1 -1
- package/src/View/Query/Wizard/NamedQueryExpressionWizardSection.js +7 -4
- package/src/View/Query/Wizard/NamedQuerySettingsWizardSection.js +7 -4
- package/src/View/QuickSearch/QuickSearchStatusBarContent.js +2 -1
- package/src/View/QuickSearch/QuickSearchViewPanel.d.ts +1 -1
- package/src/View/QuickSearch/useQuickSearchDebounced.js +2 -1
- package/src/View/Schedule/Wizard/ScheduleScheduleSummary.js +3 -2
- package/src/View/Schedule/Wizard/ScheduleScheduleWizard.js +5 -3
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsGlue42.js +2 -1
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsIPushPull.js +2 -1
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsOpenFin.js +2 -1
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReminder.js +2 -1
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReport.js +2 -1
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsSummary.js +5 -3
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsWizard.js +3 -2
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/isSettingsValid.js +2 -1
- package/src/View/Schedule/Wizard/ScheduleWizard.js +2 -1
- package/src/View/Shortcut/Wizard/ShortcutScopeWizardSection.js +3 -2
- package/src/View/Shortcut/Wizard/ShortcutSettingsWizard.js +8 -5
- package/src/View/Shortcut/Wizard/ShortcutWizard.js +2 -1
- package/src/View/SpecialColumnSettingsWizardStep.js +2 -1
- package/src/View/StateManagement/StateManagementPopup.js +2 -1
- package/src/View/StateManagement/StateManagementViewPanel.js +2 -1
- package/src/View/StateManagement/components/ClearButton.js +2 -1
- package/src/View/StateManagement/components/ExportDropdown.js +2 -1
- package/src/View/StateManagement/components/LoadButton.js +2 -1
- package/src/View/StateManagement/handleExportState.js +2 -1
- package/src/View/StatusBar/AdaptableStatusBar.js +2 -1
- package/src/View/StatusBar/StatusBarPanel.js +2 -1
- package/src/View/StatusBar/StatusBarPopup.js +5 -4
- package/src/View/SystemStatus/SystemStatusStatusBarContent.js +2 -1
- package/src/View/SystemStatus/SystemStatusViewPanel.d.ts +1 -1
- package/src/View/SystemStatus/Utilities/getStatusItemStyle.js +2 -1
- package/src/View/Theme/ThemeStatusPanelPopover.js +2 -1
- package/src/View/UIHelper.d.ts +2 -0
- package/src/View/UIHelper.js +12 -11
- package/src/View/Wizard/AdaptableWizard.js +2 -1
- package/src/View/Wizard/Interface/IAdaptableWizard.d.ts +2 -2
- package/src/View/Wizard/ObjectTagsWizardSection.js +5 -3
- package/src/View/Wizard/OnePageAdaptableWizard.d.ts +5 -6
- package/src/View/Wizard/OnePageAdaptableWizard.js +45 -174
- package/src/View/Wizard/OnePageWizards.d.ts +37 -0
- package/src/View/Wizard/OnePageWizards.js +191 -0
- package/src/View/Wizard/useKeyboardNavigation.d.ts +1 -1
- package/src/View/Wizard/useKeyboardNavigation.js +2 -1
- package/src/View/renderWithAdaptableContext.js +2 -1
- package/src/agGrid/ActionColumnRenderer.d.ts +1 -1
- package/src/agGrid/ActionColumnRenderer.js +1 -1
- package/src/agGrid/Adaptable.js +28 -26
- package/src/agGrid/CheckboxRenderer.js +2 -1
- package/src/agGrid/FilterWrapper.js +2 -1
- package/src/agGrid/FloatingFilterWrapper.js +2 -1
- package/src/agGrid/PercentBarRenderer.js +2 -1
- package/src/agGrid/agGridHelper.js +3 -1
- package/src/agGrid/agGridMenuHelper.js +13 -10
- package/src/agGrid/createAgStatusPanelComponent.js +2 -1
- package/src/components/AdaptableFormComponent/AdaptableFormComponent.js +8 -5
- package/src/components/AdaptableIconComponent/index.d.ts +10 -0
- package/src/components/AdaptableIconComponent/index.js +40 -0
- package/src/components/CheckBox/index.js +2 -1
- package/src/components/CodeBlock/index.js +2 -1
- package/src/components/Dashboard/DashboardManager.js +1 -1
- package/src/components/Datepicker/Caption.js +1 -1
- package/src/components/Datepicker/DatepickerContext.js +2 -1
- package/src/components/Datepicker/index.d.ts +1 -1
- package/src/components/DragAndDropContext/ModuleManager.d.ts +1 -0
- package/src/components/DragAndDropContext/ModuleManager.js +5 -4
- package/src/components/DragAndDropContext/UnusedPanel.d.ts +3 -2
- package/src/components/DragAndDropContext/UnusedPanel.js +14 -12
- package/src/components/EllipsisContainer/index.js +4 -2
- package/src/components/ExpressionEditor/EditorContext.js +2 -1
- package/src/components/ExpressionEditor/ExpressionFunctionDocumentation.js +2 -1
- package/src/components/ExpressionEditor/NamedQueryContext.js +3 -1
- package/src/components/FileDroppable/index.js +2 -1
- package/src/components/FormLayout/index.js +2 -1
- package/src/components/Input/index.d.ts +1 -1
- package/src/components/List/ListGroupItem/index.d.ts +2 -4
- package/src/components/Loader/Loader.js +4 -2
- package/src/components/Logo/index.js +2 -1
- package/src/components/Modal/Backdrop.js +2 -1
- package/src/components/Modal/index.js +2 -1
- package/src/components/OverlayTrigger/Overlay.js +2 -1
- package/src/components/OverlayTrigger/index.js +2 -1
- package/src/components/OverlayTrigger/utils.js +6 -3
- package/src/components/PopupWithFooter.d.ts +1 -1
- package/src/components/ProgressIndicator/ProgressIndicator.js +2 -1
- package/src/components/Radio/index.js +4 -2
- package/src/components/ResizeObserver/getResizeObserverObject.js +2 -1
- package/src/components/ResizeObserver/index.js +6 -3
- package/src/components/SelectList.js +2 -1
- package/src/components/SelectableList/index.js +2 -1
- package/src/components/SimpleButton/index.d.ts +2 -1
- package/src/components/SimpleButton/index.js +19 -6
- package/src/components/StylePreview.js +2 -1
- package/src/components/Tabs/index.js +6 -3
- package/src/components/Textarea/index.d.ts +5 -1
- package/src/components/ToggleButton/index.js +2 -1
- package/src/components/WindowModal/WindowModal.js +15 -8
- package/src/components/WindowModal/useStacking.js +2 -1
- package/src/components/icons/DefaultIcon.js +2 -1
- package/src/components/icons/index.d.ts +3 -1
- package/src/components/icons/index.js +10 -2
- package/src/components/utils/useContainerScrollObserver/index.js +2 -1
- package/src/components/utils/useGlobalEvent.js +2 -1
- package/src/components/utils/useLatest.js +2 -1
- package/src/components/utils/useRerender.js +2 -1
- package/src/components/utils/uuid.js +2 -1
- package/src/metamodel/adaptable.metamodel.d.ts +208 -90
- package/src/metamodel/adaptable.metamodel.js +263 -156
- package/src/types.d.ts +7 -5
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/src/Api/Events/RowFormSubmitted.d.ts +0 -19
- package/src/components/ApplicationIcon.d.ts +0 -6
- package/src/components/ApplicationIcon.js +0 -13
|
@@ -6,30 +6,29 @@ class RowEditService {
|
|
|
6
6
|
this.adaptableApi = adaptableApi;
|
|
7
7
|
this.adaptableInstance = this.adaptableApi.internalApi.getAdaptableInstance();
|
|
8
8
|
this.rowEditFormOptions =
|
|
9
|
-
this.adaptableApi.internalApi.getAdaptableInstance().adaptableOptions.
|
|
10
|
-
if (this.adaptableInstance.adaptableOptions.
|
|
11
|
-
.autoHandleActionRowButtons)
|
|
12
|
-
this.adaptableInstance.api.eventApi.on('RowFormSubmitted', (eventInfo) => this.autoHandleActionRowButtons(eventInfo));
|
|
9
|
+
this.adaptableApi.internalApi.getAdaptableInstance().adaptableOptions.actionOptions.actionRowFormOptions;
|
|
10
|
+
if (this.adaptableInstance.adaptableOptions.actionOptions.autoHandleActionRowButtons) {
|
|
11
|
+
this.adaptableInstance.api.eventApi.on('ActionRowSubmitted', (eventInfo) => this.autoHandleActionRowButtons(eventInfo));
|
|
13
12
|
}
|
|
14
13
|
}
|
|
15
14
|
buildRowEditForm(rowNode) {
|
|
16
|
-
return this.
|
|
15
|
+
return this.buildActionRow('rowEdited', rowNode);
|
|
17
16
|
}
|
|
18
17
|
buildRowCreateForm(clonedRowNode) {
|
|
19
|
-
return this.
|
|
18
|
+
return this.buildActionRow('rowCreated', clonedRowNode);
|
|
20
19
|
}
|
|
21
|
-
|
|
22
|
-
const formFields = this.
|
|
23
|
-
const formButtons = this.
|
|
20
|
+
buildActionRow(type, rowNode) {
|
|
21
|
+
const formFields = this.buildActionRowFields(type, rowNode);
|
|
22
|
+
const formButtons = this.buidActionRowButtons(type, rowNode);
|
|
24
23
|
const formTitle = this.getFormTitle(type, rowNode);
|
|
25
24
|
const formDescription = this.getFormDescription(type, rowNode);
|
|
26
|
-
const
|
|
25
|
+
const actionRowForm = {
|
|
27
26
|
title: formTitle,
|
|
28
27
|
description: formDescription,
|
|
29
28
|
fields: formFields,
|
|
30
29
|
buttons: formButtons,
|
|
31
30
|
};
|
|
32
|
-
return
|
|
31
|
+
return actionRowForm;
|
|
33
32
|
}
|
|
34
33
|
getFormTitle(type, rowNode) {
|
|
35
34
|
if (this.rowEditFormOptions.formTitle == undefined) {
|
|
@@ -51,7 +50,7 @@ class RowEditService {
|
|
|
51
50
|
type: type,
|
|
52
51
|
};
|
|
53
52
|
}
|
|
54
|
-
|
|
53
|
+
buildActionRowFields(type, rowNode) {
|
|
55
54
|
const relevantColumns = this.adaptableApi.columnApi
|
|
56
55
|
.getColumns()
|
|
57
56
|
.filter((column) => {
|
|
@@ -61,7 +60,7 @@ class RowEditService {
|
|
|
61
60
|
.filter((column) => !this.adaptableApi.columnApi.isActionRowButtonColumn(column.columnId));
|
|
62
61
|
return relevantColumns.map((column) => this.buildFormField(type, column, rowNode));
|
|
63
62
|
}
|
|
64
|
-
|
|
63
|
+
buidActionRowButtons(type, rowNode) {
|
|
65
64
|
// 1. check if there are custom user provided buttons
|
|
66
65
|
if (Array.isArray(this.rowEditFormOptions.formButtons)) {
|
|
67
66
|
return this.rowEditFormOptions.formButtons;
|
|
@@ -95,8 +94,8 @@ class RowEditService {
|
|
|
95
94
|
rowNode: rowNode,
|
|
96
95
|
adaptableApi: context.adaptableApi,
|
|
97
96
|
};
|
|
98
|
-
this.adaptableApi.eventApi.emit('
|
|
99
|
-
(_b = (_a = this.adaptableInstance.adaptableOptions.
|
|
97
|
+
this.adaptableApi.eventApi.emit('ActionRowSubmitted', eventInfo);
|
|
98
|
+
(_b = (_a = this.adaptableInstance.adaptableOptions.actionOptions.actionRowFormOptions).onFormSubmit) === null || _b === void 0 ? void 0 : _b.call(_a, eventInfo);
|
|
100
99
|
},
|
|
101
100
|
};
|
|
102
101
|
return [cancelButton, saveButton];
|
|
@@ -168,22 +167,22 @@ class RowEditService {
|
|
|
168
167
|
label: value,
|
|
169
168
|
}));
|
|
170
169
|
}
|
|
171
|
-
autoHandleActionRowButtons(
|
|
172
|
-
const { adaptableApi } =
|
|
173
|
-
if (
|
|
174
|
-
const { rowNode, formData } =
|
|
170
|
+
autoHandleActionRowButtons(actionRowSubmittedInfo) {
|
|
171
|
+
const { adaptableApi } = actionRowSubmittedInfo;
|
|
172
|
+
if (actionRowSubmittedInfo.type === 'rowEdited') {
|
|
173
|
+
const { rowNode, formData } = actionRowSubmittedInfo;
|
|
175
174
|
const newRowData = Object.assign(Object.assign({}, rowNode.data), formData);
|
|
176
175
|
adaptableApi.gridApi.updateGridData([newRowData]);
|
|
177
176
|
}
|
|
178
|
-
if (
|
|
179
|
-
const { rowNode } =
|
|
177
|
+
if (actionRowSubmittedInfo.type === 'rowDeleted') {
|
|
178
|
+
const { rowNode } = actionRowSubmittedInfo;
|
|
180
179
|
const deletedRowData = rowNode.data;
|
|
181
180
|
adaptableApi.gridApi.deleteGridData([deletedRowData]);
|
|
182
181
|
}
|
|
183
|
-
if (
|
|
184
|
-
const { formData } =
|
|
185
|
-
const setPrimaryKeyValueFunction = adaptableApi.internalApi.getAdaptableInstance().adaptableOptions.
|
|
186
|
-
.
|
|
182
|
+
if (actionRowSubmittedInfo.type === 'rowCreated') {
|
|
183
|
+
const { formData } = actionRowSubmittedInfo;
|
|
184
|
+
const setPrimaryKeyValueFunction = adaptableApi.internalApi.getAdaptableInstance().adaptableOptions.actionOptions
|
|
185
|
+
.setPrimaryKeyValue;
|
|
187
186
|
const newRowData = typeof setPrimaryKeyValueFunction === 'function'
|
|
188
187
|
? setPrimaryKeyValueFunction({
|
|
189
188
|
rowData: formData,
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.isAdaptableObject = void 0;
|
|
4
4
|
// pretty primitive type guard for AdaptableObject, but currently there is no better/safer way
|
|
5
|
-
|
|
5
|
+
const isAdaptableObject = (object) => {
|
|
6
6
|
return object != undefined && typeof object['Uuid'] === 'string';
|
|
7
7
|
};
|
|
8
|
+
exports.isAdaptableObject = isAdaptableObject;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.isMacLike = void 0;
|
|
4
|
-
|
|
4
|
+
const isMacLike = () => {
|
|
5
5
|
const globalObject = typeof globalThis !== 'undefined' ? globalThis : window;
|
|
6
6
|
return /(Mac|iPhone|iPod|iPad)/i.test(globalObject.navigator.platform);
|
|
7
7
|
};
|
|
8
|
+
exports.isMacLike = isMacLike;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.decode=exports.fieldsToLicenseDetails=void 0;const e=require("./hashing"),t=()=>new Error("Invalid License")
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.decode=exports.fieldsToLicenseDetails=void 0;const e=require("./hashing"),t=()=>new Error("Invalid License"),r=e=>{var r;const o=e.reduce(((e,t)=>(e.set(t.name,t.value),e)),new Map),s={count:o.get("DeveloperCount")?Number(o.get("DeveloperCount")):0,start:new Date(o.get("StartDate")),end:new Date(o.get("EndDate")),owner:o.get("Owner"),timestamp:o.get("TS")?Number(o.get("TS")):0,trial:"true"===o.get("Trial"),ref:null!==(r=o.get("Ref"))&&void 0!==r?r:""};if(!(s.start&&s.end&&s.owner&&"boolean"==typeof s.trial&&s.ref))throw t();return s};exports.fieldsToLicenseDetails=r;const o=r=>{let o="",s=r.split("|").map((e=>{let[t,r]=e.split("=");return"C"===t&&(o=r),{name:t,value:r}}));if(!o)throw t();const n=o.split(",").reverse(),a=n.pop();n.forEach(((r,o)=>{const n=s[o];if(e.compute_string(n.value)!==r)throw t()}));const i=[...s];i.pop();const l=i.map((e=>`${e.name}=${e.value}`)).join("|");if(e.compute_string(l)!==a)throw t();return s=s.map((e=>Object.assign(Object.assign({},e),{value:decodeURI(e.value)}))),exports.fieldsToLicenseDetails(s)};exports.decode=o;
|
package/src/Utilities/reorder.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.reorder = void 0;
|
|
4
|
-
|
|
4
|
+
const reorder = (list, startIndex, endIndex) => {
|
|
5
5
|
const result = [...list];
|
|
6
6
|
if (startIndex > list.length - 1) {
|
|
7
7
|
// not much that we can do if the dragged item is out of bounds...
|
|
@@ -14,3 +14,4 @@ exports.reorder = (list, startIndex, endIndex) => {
|
|
|
14
14
|
result.splice(endIndex, 0, removed);
|
|
15
15
|
return result;
|
|
16
16
|
};
|
|
17
|
+
exports.reorder = reorder;
|
|
@@ -8,7 +8,7 @@ exports.runIfNotResolvedIn = void 0;
|
|
|
8
8
|
* @param callback Called if promise does not resolve in the time defined by 'delay'
|
|
9
9
|
* @param delay Time after which if the promise was not resolved the callback (fn) is called.
|
|
10
10
|
*/
|
|
11
|
-
|
|
11
|
+
const runIfNotResolvedIn = async (promise, callback, delay = 100) => {
|
|
12
12
|
let isFulfilled = false;
|
|
13
13
|
promise === null || promise === void 0 ? void 0 : promise.then(() => {
|
|
14
14
|
isFulfilled = true;
|
|
@@ -21,3 +21,4 @@ exports.runIfNotResolvedIn = async (promise, callback, delay = 100) => {
|
|
|
21
21
|
})();
|
|
22
22
|
return promise;
|
|
23
23
|
};
|
|
24
|
+
exports.runIfNotResolvedIn = runIfNotResolvedIn;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const waitForCondition: (isReady: () => boolean, timeout?: number) => Promise<
|
|
1
|
+
export declare const waitForCondition: (isReady: () => boolean, timeout?: number) => Promise<void>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.waitForCondition = void 0;
|
|
4
|
-
|
|
4
|
+
const waitForCondition = (isReady, timeout = 5000) => {
|
|
5
5
|
const startTime = Date.now();
|
|
6
6
|
const ready = isReady();
|
|
7
7
|
if (ready) {
|
|
@@ -26,3 +26,4 @@ exports.waitForCondition = (isReady, timeout = 5000) => {
|
|
|
26
26
|
wait(resolve);
|
|
27
27
|
});
|
|
28
28
|
};
|
|
29
|
+
exports.waitForCondition = waitForCondition;
|
|
@@ -5,6 +5,7 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const React = tslib_1.__importStar(require("react"));
|
|
6
6
|
const AdaptableContext = React.createContext(null);
|
|
7
7
|
exports.default = AdaptableContext;
|
|
8
|
-
|
|
8
|
+
const useAdaptable = () => {
|
|
9
9
|
return React.useContext(AdaptableContext);
|
|
10
10
|
};
|
|
11
|
+
exports.useAdaptable = useAdaptable;
|
|
@@ -60,4 +60,5 @@ function mapDispatchToProps(dispatch) {
|
|
|
60
60
|
};
|
|
61
61
|
}
|
|
62
62
|
let AdaptableWrapper = react_redux_1.connect(mapStateToProps, mapDispatchToProps)(AdaptableView);
|
|
63
|
-
|
|
63
|
+
const AdaptableApp = ({ Adaptable }) => renderWithAdaptableContext_1.renderWithAdaptableContext(React.createElement(AdaptableWrapper, { Adaptable: Adaptable }), Adaptable);
|
|
64
|
+
exports.AdaptableApp = AdaptableApp;
|
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { ColDef } from '@ag-grid-community/all-modules';
|
|
3
|
-
interface
|
|
3
|
+
export interface NocodeColumn extends Partial<ColDef> {
|
|
4
4
|
field?: string;
|
|
5
5
|
type?: string | string[];
|
|
6
6
|
caption?: string;
|
|
7
7
|
}
|
|
8
|
-
declare const _default: React.MemoExoticComponent<({ columns: cols, handle, onValidityChange, }: {
|
|
8
|
+
declare const _default: React.MemoExoticComponent<({ columns: cols, handle, onValidityChange, onChange, onSelectionChange, selectedColumns, }: {
|
|
9
9
|
onValidityChange: (valid: boolean) => any;
|
|
10
10
|
handle: React.MutableRefObject<any>;
|
|
11
|
-
columns:
|
|
11
|
+
columns: NocodeColumn[];
|
|
12
|
+
onChange?: (columns: NocodeColumn[]) => void;
|
|
13
|
+
onSelectionChange?: (column: any, flag: boolean) => void;
|
|
14
|
+
selectedColumns?: {
|
|
15
|
+
[key: string]: boolean;
|
|
16
|
+
};
|
|
12
17
|
}) => JSX.Element>;
|
|
13
18
|
export default _default;
|
|
@@ -37,11 +37,12 @@ const useForceRender = () => {
|
|
|
37
37
|
setNow(Date.now());
|
|
38
38
|
};
|
|
39
39
|
};
|
|
40
|
-
const ColumnsList = ({ columns: cols, handle, onValidityChange, }) => {
|
|
40
|
+
const ColumnsList = ({ columns: cols, handle, onValidityChange, onChange, onSelectionChange, selectedColumns, }) => {
|
|
41
41
|
const rerender = useForceRender();
|
|
42
42
|
const columnsRef = react_1.useRef(cols);
|
|
43
43
|
const silentSetColumns = (columns) => {
|
|
44
44
|
columnsRef.current = columns;
|
|
45
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(columns);
|
|
45
46
|
};
|
|
46
47
|
const setColumns = (columns) => {
|
|
47
48
|
silentSetColumns(columns);
|
|
@@ -83,7 +84,7 @@ const ColumnsList = ({ columns: cols, handle, onValidityChange, }) => {
|
|
|
83
84
|
setColumns(cols);
|
|
84
85
|
};
|
|
85
86
|
const [primaryKeyField, setPrimaryKeyField] = React.useState(columns[0].field);
|
|
86
|
-
const { selected: includedColumnsMap, isSelected: isIncludedColumn, isAllSelected: isAllIncludedColumns, isNoneSelected: isNoneIncludedColumns, selectColumn: includeColumn, deselectColumn: excludeColumn, selectAll: includeAllColumns, deselectAll: excludeAllColumns, } = useSelection_1.default(columns, true, null);
|
|
87
|
+
const { selected: includedColumnsMap, isSelected: isIncludedColumn, isAllSelected: isAllIncludedColumns, isNoneSelected: isNoneIncludedColumns, selectColumn: includeColumn, deselectColumn: excludeColumn, selectAll: includeAllColumns, deselectAll: excludeAllColumns, } = useSelection_1.default(columns, selectedColumns !== null && selectedColumns !== void 0 ? selectedColumns : true, null, { onChange: onSelectionChange });
|
|
87
88
|
handle.current = {
|
|
88
89
|
getColumns: () => getColumns().filter((col) => isIncludedColumn(col.field)),
|
|
89
90
|
getPrimaryKey: () => primaryKeyField,
|
|
@@ -9,7 +9,7 @@ const Input_1 = tslib_1.__importDefault(require("../../../components/Input"));
|
|
|
9
9
|
const rebass_1 = require("rebass");
|
|
10
10
|
const DefaultAdaptableOptions_1 = require("../../../Utilities/Defaults/DefaultAdaptableOptions");
|
|
11
11
|
const ConfigurationForm = (props) => {
|
|
12
|
-
var _a;
|
|
12
|
+
var _a, _b, _c;
|
|
13
13
|
let abOptions = props.adaptableOptions;
|
|
14
14
|
const layoutOptions = Object.assign(Object.assign({}, DefaultAdaptableOptions_1.DefaultAdaptableOptions.layoutOptions), abOptions.layoutOptions);
|
|
15
15
|
const generalOptions = Object.assign(Object.assign({}, DefaultAdaptableOptions_1.DefaultAdaptableOptions.generalOptions), abOptions.generalOptions);
|
|
@@ -20,6 +20,13 @@ const ConfigurationForm = (props) => {
|
|
|
20
20
|
// we are 'hard-coding' this to use AG Grid but so does helper so ok for now and we can refactor when Adaptable Grid is ready
|
|
21
21
|
const gridOptions = Object.assign(Object.assign({}, DefaultAdaptableOptions_1.DefaultAdaptableOptions.gridOptions), abOptions.gridOptions);
|
|
22
22
|
return (React.createElement(React.Fragment, null,
|
|
23
|
+
React.createElement(HelpBlock_1.default, null, "Base Options"),
|
|
24
|
+
React.createElement(FormLayout_1.default, { margin: 2, columns: [{ name: 'label', style: { textAlign: 'start' } }, { name: 'children' }] },
|
|
25
|
+
React.createElement(FormLayout_1.FormRow, { label: "Adaptable ID" },
|
|
26
|
+
React.createElement(Input_1.default, { value: (_b = (_a = props === null || props === void 0 ? void 0 : props.adaptableOptions) === null || _a === void 0 ? void 0 : _a.adaptableId) !== null && _b !== void 0 ? _b : null, onChange: (event) => {
|
|
27
|
+
var _a;
|
|
28
|
+
props.onChangeadaptableOptions(Object.assign(Object.assign({}, abOptions), { adaptableId: (_a = event.target.value) !== null && _a !== void 0 ? _a : '' }));
|
|
29
|
+
}, style: { minWidth: '20rem' } }))),
|
|
23
30
|
React.createElement(HelpBlock_1.default, null, "General Options"),
|
|
24
31
|
React.createElement(FormLayout_1.default, { margin: 2, columns: [{ name: 'children' }, { name: 'label', style: { textAlign: 'start' } }] },
|
|
25
32
|
React.createElement(FormLayout_1.FormRow, { label: "Show Missing Primary Key Warning" },
|
|
@@ -39,7 +46,7 @@ const ConfigurationForm = (props) => {
|
|
|
39
46
|
props.onChangeadaptableOptions(abOptions);
|
|
40
47
|
} })),
|
|
41
48
|
React.createElement(FormLayout_1.FormRow, { label: "Show Quick Filter" },
|
|
42
|
-
React.createElement(CheckBox_1.CheckBox, { checked: (
|
|
49
|
+
React.createElement(CheckBox_1.CheckBox, { checked: (_c = gridOptions.defaultColDef) === null || _c === void 0 ? void 0 : _c.floatingFilter, onChange: (floatingFilter) => {
|
|
43
50
|
abOptions = Object.assign({}, abOptions);
|
|
44
51
|
abOptions.gridOptions = Object.assign({}, abOptions.gridOptions);
|
|
45
52
|
abOptions.gridOptions.defaultColDef = {
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { AdaptableOptions } from '../../../types';
|
|
3
|
+
import { OnePageWizardSection } from '../../Wizard/OnePageWizards';
|
|
4
|
+
import { AdaptableFrameworkComponent } from '../../../../types';
|
|
5
|
+
export interface CustomSection<T> {
|
|
6
|
+
title: OnePageWizardSection<T>['title'];
|
|
7
|
+
details?: AdaptableFrameworkComponent;
|
|
8
|
+
isValid?: OnePageWizardSection<T>['isValid'];
|
|
9
|
+
isVisible?: OnePageWizardSection<T>['isVisible'];
|
|
10
|
+
render: (
|
|
11
|
+
/**
|
|
12
|
+
* Internal state of adaptableOptions.
|
|
13
|
+
*/
|
|
14
|
+
adaptableOptions: AdaptableOptions,
|
|
15
|
+
/**
|
|
16
|
+
* With this callback adaptableOptions can be changed.
|
|
17
|
+
*/
|
|
18
|
+
onChange: (newAdaptableOptions: AdaptableOptions) => void,
|
|
19
|
+
/**
|
|
20
|
+
* Set the selected columns.
|
|
21
|
+
*/
|
|
22
|
+
setSelectedColumns: (selectedColumn: Record<string, boolean>) => void) => React.ReactNode;
|
|
23
|
+
}
|
|
24
|
+
export interface ConfigurationWizardProps {
|
|
25
|
+
adaptableOptions: AdaptableOptions;
|
|
26
|
+
onFinish: (adaptableOptions: AdaptableOptions) => void;
|
|
27
|
+
onCancel: () => void;
|
|
28
|
+
startSections?: CustomSection<AdaptableOptions>[];
|
|
29
|
+
}
|
|
30
|
+
export declare const ConfigurationWizard: React.FunctionComponent<ConfigurationWizardProps>;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ConfigurationWizard = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const React = tslib_1.__importStar(require("react"));
|
|
6
|
+
const react_1 = require("react");
|
|
7
|
+
const StringExtensions_1 = tslib_1.__importDefault(require("../../../Utilities/Extensions/StringExtensions"));
|
|
8
|
+
const OnePageWizards_1 = require("../../Wizard/OnePageWizards");
|
|
9
|
+
const ConfigurationWizardColumnsStep_1 = require("./ConfigurationWizardColumnsStep");
|
|
10
|
+
const ConfigurationForm_1 = tslib_1.__importDefault(require("./ConfigurationForm"));
|
|
11
|
+
const ConfigurationWizard = (props) => {
|
|
12
|
+
const [isPrimaryKeySelected, setIsValid] = React.useState(true);
|
|
13
|
+
const [adaptableOptions, setAdaptableOptions] = react_1.useState(props.adaptableOptions);
|
|
14
|
+
const [selectedColumns, setSelectedColumns] = react_1.useState(() => {
|
|
15
|
+
return props.adaptableOptions.gridOptions.columnDefs.reduce((acc, col) => {
|
|
16
|
+
acc[col.field] = true;
|
|
17
|
+
return acc;
|
|
18
|
+
}, {});
|
|
19
|
+
});
|
|
20
|
+
const columnsHandle = React.useRef();
|
|
21
|
+
const handleFinish = () => {
|
|
22
|
+
const newAdaptableOptions = Object.assign({}, adaptableOptions);
|
|
23
|
+
newAdaptableOptions.gridOptions = Object.assign({}, adaptableOptions.gridOptions);
|
|
24
|
+
newAdaptableOptions.gridOptions.columnDefs = columnsHandle
|
|
25
|
+
.current.getColumns()
|
|
26
|
+
.map((column) => {
|
|
27
|
+
const newColumn = Object.assign(Object.assign({}, column), { headerName: column.caption || StringExtensions_1.default.Humanize(column.field) });
|
|
28
|
+
delete newColumn.caption;
|
|
29
|
+
return newColumn;
|
|
30
|
+
});
|
|
31
|
+
newAdaptableOptions.primaryKey = columnsHandle.current.getPrimaryKey();
|
|
32
|
+
setAdaptableOptions(newAdaptableOptions);
|
|
33
|
+
props.onFinish(newAdaptableOptions);
|
|
34
|
+
};
|
|
35
|
+
const handlePrimaryKeyColumnIsNotSelected = React.useCallback((newIsValid) => {
|
|
36
|
+
setIsValid(newIsValid);
|
|
37
|
+
}, []);
|
|
38
|
+
const handleColumnsChange = React.useCallback((columns) => {
|
|
39
|
+
setAdaptableOptions((adaptableOptions) => (Object.assign(Object.assign({}, adaptableOptions), { gridOptions: Object.assign(Object.assign({}, adaptableOptions.gridOptions), { columnDefs: columns }) })));
|
|
40
|
+
}, []);
|
|
41
|
+
const handleColumnSelectionChange = React.useCallback((col, flag) => {
|
|
42
|
+
setSelectedColumns((selectedColumns) => {
|
|
43
|
+
const newSelectedColumns = selectedColumns !== null && selectedColumns !== void 0 ? selectedColumns : {};
|
|
44
|
+
newSelectedColumns[col.field] = flag;
|
|
45
|
+
return newSelectedColumns;
|
|
46
|
+
});
|
|
47
|
+
}, []);
|
|
48
|
+
let sections = [
|
|
49
|
+
{
|
|
50
|
+
title: 'Columns',
|
|
51
|
+
details: 'Configure Adaptable',
|
|
52
|
+
isValid: () => {
|
|
53
|
+
if (!isPrimaryKeySelected) {
|
|
54
|
+
return 'Primary key column must be included';
|
|
55
|
+
}
|
|
56
|
+
return true;
|
|
57
|
+
},
|
|
58
|
+
render: () => (React.createElement(ConfigurationWizardColumnsStep_1.ConfigurationWizardColumnsStep, { adaptableOptions: adaptableOptions, setPrimaryKeyIsNotSelected: handlePrimaryKeyColumnIsNotSelected, onChange: (newAdaptableOptions) => {
|
|
59
|
+
setAdaptableOptions(newAdaptableOptions);
|
|
60
|
+
}, selectedColumns: selectedColumns, onSelectionChange: handleColumnSelectionChange, onColumnChange: handleColumnsChange, columnsHandle: columnsHandle })),
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
title: 'Adaptable Options',
|
|
64
|
+
details: 'Configure Adaptable Options',
|
|
65
|
+
isValid: () => (adaptableOptions.adaptableId ? true : 'Adaptable ID is required'),
|
|
66
|
+
render: () => (React.createElement(ConfigurationForm_1.default, { adaptableOptions: adaptableOptions, onChangeadaptableOptions: (abOptions) => {
|
|
67
|
+
setAdaptableOptions(abOptions);
|
|
68
|
+
} })),
|
|
69
|
+
},
|
|
70
|
+
];
|
|
71
|
+
if (props.startSections) {
|
|
72
|
+
sections = [
|
|
73
|
+
...props.startSections.map((section) => {
|
|
74
|
+
return {
|
|
75
|
+
title: section.title,
|
|
76
|
+
isValid: section.isValid,
|
|
77
|
+
isVisible: section.isVisible,
|
|
78
|
+
render: () => {
|
|
79
|
+
return section.render(adaptableOptions, setAdaptableOptions, setSelectedColumns);
|
|
80
|
+
},
|
|
81
|
+
};
|
|
82
|
+
}),
|
|
83
|
+
...sections,
|
|
84
|
+
];
|
|
85
|
+
}
|
|
86
|
+
return (React.createElement(OnePageWizards_1.OnePageWizard, { data: adaptableOptions, name: "Configure", defaultCurrentSectionName: 'default section name', onHide: () => null, onFinish: handleFinish, sections: sections }));
|
|
87
|
+
};
|
|
88
|
+
exports.ConfigurationWizard = ConfigurationWizard;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { NocodeColumn } from './ColumnsList';
|
|
3
|
+
import { AdaptableOptions } from '../../../types';
|
|
4
|
+
export interface ConfigurationWizardColumnsStepProps {
|
|
5
|
+
adaptableOptions: AdaptableOptions;
|
|
6
|
+
onChange: (newOptions: AdaptableOptions) => void;
|
|
7
|
+
columnsHandle: React.MutableRefObject<{
|
|
8
|
+
getColumns: () => any[];
|
|
9
|
+
getPrimaryKey: () => string;
|
|
10
|
+
}>;
|
|
11
|
+
setPrimaryKeyIsNotSelected: (enabled: boolean) => void;
|
|
12
|
+
onColumnChange: (columns: NocodeColumn[]) => void;
|
|
13
|
+
onSelectionChange: (column: any, flag: boolean) => void;
|
|
14
|
+
selectedColumns: {
|
|
15
|
+
[key: string]: boolean;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export declare const ConfigurationWizardColumnsStep: React.FunctionComponent<ConfigurationWizardColumnsStepProps>;
|
package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizardColumnsStep.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ConfigurationWizardColumnsStep = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const React = tslib_1.__importStar(require("react"));
|
|
6
|
+
const Panel_1 = tslib_1.__importDefault(require("../../../components/Panel"));
|
|
7
|
+
const ColumnsList_1 = tslib_1.__importDefault(require("./ColumnsList"));
|
|
8
|
+
const ConfigurationWizardColumnsStep = (props) => {
|
|
9
|
+
var _a, _b;
|
|
10
|
+
return (React.createElement(Panel_1.default, { header: '', border: "none", bodyScroll: false, bodyProps: {
|
|
11
|
+
style: { overflow: 'auto', display: 'flex', flexFlow: 'column' },
|
|
12
|
+
}, borderRadius: "none", style: { fontSize: 16, flex: 1 } },
|
|
13
|
+
React.createElement(ColumnsList_1.default, { handle: props.columnsHandle, onValidityChange: (valid) => {
|
|
14
|
+
props.setPrimaryKeyIsNotSelected(valid);
|
|
15
|
+
}, selectedColumns: props.selectedColumns, onChange: props.onColumnChange, onSelectionChange: props.onSelectionChange, columns: (_b = (_a = props.adaptableOptions) === null || _a === void 0 ? void 0 : _a.gridOptions) === null || _b === void 0 ? void 0 : _b.columnDefs })));
|
|
16
|
+
};
|
|
17
|
+
exports.ConfigurationWizardColumnsStep = ConfigurationWizardColumnsStep;
|
|
@@ -1,9 +1,2 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
interface ConfigurationDialogProps extends React.HTMLProps<HTMLElement> {
|
|
4
|
-
adaptableOptions: AdaptableOptions;
|
|
5
|
-
onFinish: (adaptableOptions: AdaptableOptions) => void;
|
|
6
|
-
onCancel: () => void;
|
|
7
|
-
}
|
|
8
|
-
declare const ConfigurationDialog: (props: ConfigurationDialogProps) => JSX.Element;
|
|
9
|
-
export default ConfigurationDialog;
|
|
1
|
+
import { ConfigurationWizard } from './ConfigurationWizard';
|
|
2
|
+
export default ConfigurationWizard;
|
|
@@ -1,77 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
const rebass_1 = require("rebass");
|
|
6
|
-
const react_1 = require("react");
|
|
7
|
-
const Dialog_1 = tslib_1.__importDefault(require("../../../components/Dialog"));
|
|
8
|
-
const Panel_1 = tslib_1.__importDefault(require("../../../components/Panel"));
|
|
9
|
-
const SimpleButton_1 = tslib_1.__importDefault(require("../../../components/SimpleButton"));
|
|
10
|
-
const ColumnsList_1 = tslib_1.__importDefault(require("./ColumnsList"));
|
|
11
|
-
const FormLayout_1 = tslib_1.__importStar(require("../../../components/FormLayout"));
|
|
12
|
-
const Input_1 = tslib_1.__importDefault(require("../../../components/Input"));
|
|
13
|
-
const ConfigurationForm_1 = tslib_1.__importDefault(require("./ConfigurationForm"));
|
|
14
|
-
const StringExtensions_1 = tslib_1.__importDefault(require("../../../Utilities/Extensions/StringExtensions"));
|
|
15
|
-
const ConfigurationDialog = (props) => {
|
|
16
|
-
const [abOptions, setABOptions] = react_1.useState(props.adaptableOptions);
|
|
17
|
-
const [finishEnabled, setFinishEnabled] = react_1.useState(true);
|
|
18
|
-
const [currentStep, setCurrentStep] = react_1.useState(0);
|
|
19
|
-
let canFinish = finishEnabled;
|
|
20
|
-
if (!abOptions.adaptableId) {
|
|
21
|
-
canFinish = false;
|
|
22
|
-
}
|
|
23
|
-
let canNext = canFinish && currentStep === 0;
|
|
24
|
-
const columnsHandle = React.useRef();
|
|
25
|
-
const onadaptableIdChange = (event) => {
|
|
26
|
-
const newABOptions = Object.assign({}, abOptions);
|
|
27
|
-
newABOptions.adaptableId = event.target.value;
|
|
28
|
-
setABOptions(newABOptions);
|
|
29
|
-
};
|
|
30
|
-
const onFinish = () => {
|
|
31
|
-
const newABOptions = Object.assign({}, abOptions);
|
|
32
|
-
newABOptions.gridOptions = Object.assign({}, abOptions.gridOptions);
|
|
33
|
-
newABOptions.gridOptions.columnDefs = columnsHandle.current.getColumns().map((c) => {
|
|
34
|
-
const col = Object.assign(Object.assign({}, c), { headerName: c.caption || StringExtensions_1.default.Humanize(c.field) });
|
|
35
|
-
delete col.caption;
|
|
36
|
-
return col;
|
|
37
|
-
});
|
|
38
|
-
newABOptions.primaryKey = columnsHandle.current.getPrimaryKey();
|
|
39
|
-
setABOptions(newABOptions);
|
|
40
|
-
props.onFinish(newABOptions);
|
|
41
|
-
};
|
|
42
|
-
const onNext = () => {
|
|
43
|
-
setCurrentStep(1);
|
|
44
|
-
};
|
|
45
|
-
const stepOne = (React.createElement(React.Fragment, null,
|
|
46
|
-
React.createElement(Panel_1.default, { header: 'Configure AdapTable', border: "none", bodyScroll: false, bodyProps: {
|
|
47
|
-
padding: 0,
|
|
48
|
-
style: { overflow: 'auto', display: 'flex', flexFlow: 'column' },
|
|
49
|
-
}, borderRadius: "none", style: { fontSize: 16, flex: 1 } },
|
|
50
|
-
React.createElement(Panel_1.default, { style: { minHeight: 50 }, border: "none" },
|
|
51
|
-
React.createElement(FormLayout_1.default, null,
|
|
52
|
-
React.createElement(FormLayout_1.FormRow, { label: "AdaptableId" },
|
|
53
|
-
React.createElement(Input_1.default, { value: abOptions.adaptableId, onChange: onadaptableIdChange, style: { minWidth: '20rem' } })))),
|
|
54
|
-
React.createElement(ColumnsList_1.default, { handle: columnsHandle, onValidityChange: (valid) => {
|
|
55
|
-
setFinishEnabled(valid);
|
|
56
|
-
}, columns: abOptions.gridOptions.columnDefs }))));
|
|
57
|
-
const stepTwo = (React.createElement(React.Fragment, null,
|
|
58
|
-
React.createElement(Panel_1.default, { header: 'Configure AdapTable', border: "none", style: { flex: 1, overflow: 'auto' } },
|
|
59
|
-
React.createElement(ConfigurationForm_1.default, { adaptableOptions: abOptions, onChangeadaptableOptions: (abOptions) => {
|
|
60
|
-
setABOptions(abOptions);
|
|
61
|
-
} }))));
|
|
62
|
-
return (React.createElement(Dialog_1.default, { modal: true, isOpen: true, showCloseButton: false },
|
|
63
|
-
React.createElement(rebass_1.Flex, { flexDirection: "column", style: {
|
|
64
|
-
height: '100%',
|
|
65
|
-
width: '90vw',
|
|
66
|
-
maxWidth: 1000,
|
|
67
|
-
maxHeight: '90vh',
|
|
68
|
-
} },
|
|
69
|
-
currentStep === 0 ? stepOne : stepTwo,
|
|
70
|
-
React.createElement(rebass_1.Flex, { flexDirection: "row", padding: 2, backgroundColor: "primary", alignItems: "center" },
|
|
71
|
-
React.createElement(SimpleButton_1.default, { tone: "neutral", variant: "text", tooltip: "Cancel configuration ", onClick: props.onCancel }, "Cancel"),
|
|
72
|
-
React.createElement("div", { style: { flex: 1 } }),
|
|
73
|
-
React.createElement(SimpleButton_1.default, { variant: "outlined", onClick: () => setCurrentStep(0), disabled: currentStep === 0, marginRight: 2, tone: "neutral" }, "Back"),
|
|
74
|
-
React.createElement(SimpleButton_1.default, { variant: "outlined", onClick: onNext, disabled: !canNext, marginRight: 2, tone: "neutral" }, "Next"),
|
|
75
|
-
React.createElement(SimpleButton_1.default, { tone: "accent", variant: "raised", icon: 'check', onClick: onFinish, disabled: !canFinish }, "Finish")))));
|
|
76
|
-
};
|
|
77
|
-
exports.default = ConfigurationDialog;
|
|
3
|
+
const ConfigurationWizard_1 = require("./ConfigurationWizard");
|
|
4
|
+
exports.default = ConfigurationWizard_1.ConfigurationWizard;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
declare const useSelection: (columns: {
|
|
2
2
|
[key: string]: any;
|
|
3
|
-
}[], defaultValue: boolean
|
|
3
|
+
}[], defaultValue: boolean | {
|
|
4
|
+
[key: string]: boolean;
|
|
5
|
+
}, fieldName: string | null, changeListeners?: {
|
|
4
6
|
onChange?: (column: any, flag: boolean) => void;
|
|
5
7
|
onBatchChange?: (flag: boolean) => void;
|
|
6
8
|
}) => {
|
|
@@ -5,10 +5,15 @@ const useSelection = (columns, defaultValue, fieldName, changeListeners) => {
|
|
|
5
5
|
changeListeners = changeListeners || {};
|
|
6
6
|
const onChange = changeListeners.onChange || ((column, flag) => { });
|
|
7
7
|
const onBatchChange = changeListeners.onBatchChange || ((flag) => { });
|
|
8
|
-
const [selected, setSelected] = react_1.useState(
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
const [selected, setSelected] = react_1.useState(typeof defaultValue === 'object'
|
|
9
|
+
? defaultValue
|
|
10
|
+
: columns.reduce((acc, col) => {
|
|
11
|
+
const flag = fieldName ? col[fieldName] : defaultValue;
|
|
12
|
+
if (flag) {
|
|
13
|
+
acc[col.field] = flag;
|
|
14
|
+
}
|
|
15
|
+
return acc;
|
|
16
|
+
}, {}));
|
|
12
17
|
const getColumn = (field) => columns.filter((c) => c.field === field)[0];
|
|
13
18
|
const result = {
|
|
14
19
|
selected,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const validDataSource: (dataSourceInfo: any) => boolean;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validDataSource = void 0;
|
|
4
|
+
const validDataSource = (dataSourceInfo) => {
|
|
5
|
+
if (!dataSourceInfo || !Array.isArray(dataSourceInfo.columns)) {
|
|
6
|
+
throw `We can't find any columns in your configuration`;
|
|
7
|
+
}
|
|
8
|
+
if (!dataSourceInfo.columns.length) {
|
|
9
|
+
throw 'You should have at least one column';
|
|
10
|
+
}
|
|
11
|
+
const allStringColumns = dataSourceInfo.columns.reduce((acc, col) => {
|
|
12
|
+
if (!col || typeof col !== 'string') {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
return acc;
|
|
16
|
+
}, true);
|
|
17
|
+
if (!allStringColumns) {
|
|
18
|
+
throw `Some of your columns are not strings`;
|
|
19
|
+
}
|
|
20
|
+
if (!Array.isArray(dataSourceInfo.data)) {
|
|
21
|
+
throw `We can't find the data array in your configuration`;
|
|
22
|
+
}
|
|
23
|
+
return true;
|
|
24
|
+
};
|
|
25
|
+
exports.validDataSource = validDataSource;
|