@adaptabletools/adaptable-cjs 23.0.0-canary.3 → 23.0.0-canary.5
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/index.css +116 -61
- package/package.json +9 -4
- package/src/AdaptableOptions/DefaultAdaptableOptions.js +0 -4
- package/src/AdaptableOptions/EditOptions.d.ts +2 -2
- package/src/AdaptableOptions/FilterOptions.d.ts +0 -7
- package/src/AdaptableState/Common/AdaptableForm.d.ts +18 -1
- package/src/AdaptableState/Common/AdaptableForm.js +34 -0
- package/src/AdaptableState/Common/AggregationColumns.d.ts +14 -6
- package/src/AdaptableState/Common/AggregationColumns.js +30 -3
- package/src/AdaptableState/Common/CellDataChangedInfo.d.ts +3 -2
- package/src/AdaptableState/Common/ColumnScope.d.ts +4 -0
- package/src/AdaptableState/Common/Enums.d.ts +5 -10
- package/src/AdaptableState/Common/Enums.js +5 -11
- package/src/AdaptableState/PlusMinusState.d.ts +3 -3
- package/src/AdaptableState/ShortcutState.d.ts +2 -6
- package/src/AdaptableState/StyledColumnState.d.ts +3 -5
- package/src/AdaptableState/ThemeState.d.ts +33 -28
- package/src/Api/EventApi.d.ts +14 -1
- package/src/Api/Events/ThemeChanged.d.ts +6 -0
- package/src/Api/Events/ThemeSelected.d.ts +11 -0
- package/src/Api/Events/ThemeSelected.js +2 -0
- package/src/Api/Implementation/EventApiImpl.js +4 -0
- package/src/Api/Implementation/LayoutApiImpl.d.ts +0 -2
- package/src/Api/Implementation/LayoutApiImpl.js +0 -14
- package/src/Api/Implementation/LayoutHelpers.d.ts +2 -0
- package/src/Api/Implementation/LayoutHelpers.js +31 -8
- package/src/Api/Implementation/ThemeApiImpl.d.ts +3 -2
- package/src/Api/Implementation/ThemeApiImpl.js +19 -15
- package/src/Api/Internal/EventInternalApi.d.ts +2 -0
- package/src/Api/Internal/EventInternalApi.js +8 -1
- package/src/Api/Internal/StyledColumnInternalApi.d.ts +4 -4
- package/src/Api/Internal/StyledColumnInternalApi.js +4 -4
- package/src/Api/Internal/ThemeInternalApi.d.ts +0 -1
- package/src/Api/Internal/ThemeInternalApi.js +0 -10
- package/src/Api/LayoutApi.d.ts +1 -8
- package/src/Api/ThemeApi.d.ts +6 -2
- package/src/Redux/ActionsReducers/ThemeRedux.d.ts +3 -3
- package/src/Strategy/CalculatedColumnModule.js +3 -1
- package/src/Strategy/FormatColumnModule.js +12 -5
- package/src/Strategy/LayoutModule.js +13 -8
- package/src/Strategy/StyledColumnModule.js +58 -30
- package/src/Utilities/Constants/ReduxConstants.d.ts +2 -2
- package/src/Utilities/Constants/ReduxConstants.js +1 -14
- package/src/Utilities/Helpers/FormatHelper.js +20 -1
- package/src/Utilities/Helpers/SparklineOptionsHelper.d.ts +7 -0
- package/src/Utilities/Helpers/SparklineOptionsHelper.js +68 -0
- package/src/Utilities/Helpers/StyledColumnGradientHelper.d.ts +23 -1
- package/src/Utilities/Helpers/StyledColumnGradientHelper.js +212 -1
- package/src/Utilities/Helpers/ThemeHelpers.d.ts +5 -0
- package/src/Utilities/Helpers/ThemeHelpers.js +43 -0
- package/src/Utilities/Helpers/percentBarPreviewHelper.d.ts +19 -0
- package/src/Utilities/Helpers/percentBarPreviewHelper.js +155 -0
- package/src/Utilities/ObjectFactory.d.ts +1 -3
- package/src/Utilities/ObjectFactory.js +0 -9
- package/src/Utilities/Services/CalculatedColumnExpressionService.d.ts +1 -0
- package/src/Utilities/Services/CalculatedColumnExpressionService.js +7 -0
- package/src/Utilities/Services/CalculatedColumnSyntheticChange.d.ts +4 -0
- package/src/Utilities/Services/CalculatedColumnSyntheticChange.js +120 -0
- package/src/Utilities/Services/Interface/ICalculatedColumnExpressionService.d.ts +1 -0
- package/src/Utilities/Services/ThemeService.js +1 -1
- package/src/View/Alert/Wizard/AlertBehaviourWizardSection.js +17 -16
- package/src/View/Alert/Wizard/AlertButtonsEditor.js +113 -102
- package/src/View/Alert/Wizard/AlertMessageWizardSection.js +12 -13
- package/src/View/Alert/Wizard/AlertNotificationWizardSection.js +54 -54
- package/src/View/Alert/Wizard/AlertRulesWizardSection.js +4 -3
- package/src/View/Alert/Wizard/AlertScheduledWizardSection.js +1 -1
- package/src/View/Alert/Wizard/AlertScopeWizardSection.js +29 -37
- package/src/View/Alert/Wizard/AlertTypeWizardSection.js +2 -3
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnDefinitionWizardSection.js +9 -13
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.js +28 -15
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.js +7 -9
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnTypeSection.js +2 -2
- package/src/View/CellSummary/CellSummaryViewPanel.js +1 -1
- package/src/View/Charting/ChartingWizard/AgChargingWizard/AgChargingWizard.js +3 -10
- package/src/View/Charting/ChartingWizard/AgChargingWizard/PreviewChartSection.js +1 -1
- package/src/View/Charting/ChartingWizard/AgChargingWizard/SettingsSection.js +35 -52
- package/src/View/Charting/ChartingWizard/ExternalChartingWizard/ExternalChartingWizard.js +4 -31
- package/src/View/Charting/ChartingWizard/ExternalChartingWizard/PreviewChartSection.d.ts +5 -0
- package/src/View/Charting/ChartingWizard/ExternalChartingWizard/PreviewChartSection.js +26 -0
- package/src/View/Charting/ChartingWizard/ExternalChartingWizard/SettingsSection.d.ts +1 -0
- package/src/View/Charting/ChartingWizard/ExternalChartingWizard/SettingsSection.js +9 -6
- package/src/View/Comments/CommentsEditor.js +1 -1
- package/src/View/Components/ColumnFilter/ColumnFilterWindow.js +1 -1
- package/src/View/Components/ModuleProfile.js +1 -1
- package/src/View/Components/Popups/WindowPopups/windowFactory.d.ts +0 -1
- package/src/View/Components/Popups/WindowPopups/windowFactory.js +1 -2
- package/src/View/Components/RangesComponent.d.ts +7 -2
- package/src/View/Components/RangesComponent.js +94 -22
- package/src/View/Components/Selectors/ColumnSelector.js +5 -0
- package/src/View/Components/StyleComponent.d.ts +1 -0
- package/src/View/Components/StyleComponent.js +1 -1
- package/src/View/Components/ValueSelector/index.js +70 -57
- package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +8 -13
- package/src/View/CustomSort/Wizard/CustomSortValuesWizardSection.js +8 -8
- package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +1 -1
- package/src/View/DataImport/DataImportWizard/sections/ColumnsSection.js +11 -12
- package/src/View/DataImport/DataImportWizard/sections/UploadSection/UploadSection.js +5 -4
- package/src/View/DataImport/DataImportWizard/sections/UploadSection/UploadTextSection.js +2 -1
- package/src/View/DataImport/DataImportWizard/sections/ValidationSection.js +4 -15
- package/src/View/Export/Wizard/ReportColumnsWizardSection.js +24 -27
- package/src/View/Export/Wizard/ReportNameWizardSection.js +8 -11
- package/src/View/Export/Wizard/ReportRowsWizardSection.js +19 -22
- package/src/View/Export/Wizard/ScheduledReportSettings.d.ts +2 -0
- package/src/View/Export/Wizard/ScheduledReportSettings.js +12 -12
- package/src/View/Export/Wizard/ScheduledReportWizard.js +2 -3
- package/src/View/FlashingCell/Wizard/FlashingCellRulesWizardSection.js +8 -6
- package/src/View/FlashingCell/Wizard/FlashingCellScopeWizardSection.js +22 -21
- package/src/View/FlashingCell/Wizard/FlashingCellSettingsWizardSection.js +20 -11
- package/src/View/FlashingCell/Wizard/FlashingCellStyleWizardSection.js +19 -3
- package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +4 -4
- package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.d.ts +7 -0
- package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +120 -13
- package/src/View/FormatColumn/Wizard/FormatColumnPreview.d.ts +15 -0
- package/src/View/FormatColumn/Wizard/FormatColumnPreview.js +78 -0
- package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.d.ts +4 -0
- package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.js +34 -0
- package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +11 -6
- package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +1 -1
- package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.d.ts +3 -1
- package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +64 -13
- package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +3 -1
- package/src/View/FreeTextColumn/Utilities/getFreeTextColumnSettingsTags.d.ts +2 -0
- package/src/View/FreeTextColumn/Utilities/getFreeTextColumnSettingsTags.js +19 -0
- package/src/View/FreeTextColumn/Wizard/FreeTextColumnDefinitionWizardSection.d.ts +10 -0
- package/src/View/FreeTextColumn/Wizard/FreeTextColumnDefinitionWizardSection.js +60 -0
- package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.d.ts +2 -3
- package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +35 -70
- package/src/View/FreeTextColumn/Wizard/FreeTextColumnWizard.js +14 -10
- package/src/View/Layout/LayoutViewPanel.js +23 -21
- package/src/View/Layout/TransposedPopup.js +2 -2
- package/src/View/Layout/Wizard/LayoutWizard.js +3 -3
- package/src/View/Layout/Wizard/sections/AggregationsSection.d.ts +2 -3
- package/src/View/Layout/Wizard/sections/AggregationsSection.js +116 -26
- package/src/View/Layout/Wizard/sections/ColumnsSection.js +79 -79
- package/src/View/Layout/Wizard/sections/FilterSection.js +31 -32
- package/src/View/Layout/Wizard/sections/GridFilterSection.js +10 -10
- package/src/View/Layout/Wizard/sections/PivotAggregationsSection.d.ts +1 -2
- package/src/View/Layout/Wizard/sections/PivotAggregationsSection.js +101 -51
- package/src/View/Layout/Wizard/sections/PivotColumnsSection.js +9 -8
- package/src/View/Layout/Wizard/sections/PivotRowGroupingSection.js +4 -4
- package/src/View/Layout/Wizard/sections/RowGroupingSection.js +36 -33
- package/src/View/Layout/Wizard/sections/RowSelectionSection.js +2 -2
- package/src/View/Layout/Wizard/sections/RowSummarySection.js +95 -73
- package/src/View/Layout/Wizard/sections/SettingsSection.js +3 -4
- package/src/View/Layout/Wizard/sections/SortSection.js +2 -2
- package/src/View/NamedQuery/Wizard/NamedQueryExpressionWizardSection.js +1 -1
- package/src/View/NamedQuery/Wizard/NamedQuerySettingsWizardSection.js +7 -12
- package/src/View/NamedQuery/Wizard/NamedQueryWizard.js +1 -3
- package/src/View/PlusMinus/Wizard/PlusMinusRuleWizardSection.d.ts +4 -0
- package/src/View/PlusMinus/Wizard/PlusMinusRuleWizardSection.js +45 -12
- package/src/View/PlusMinus/Wizard/PlusMinusScopeWizardSection.js +10 -17
- package/src/View/PlusMinus/Wizard/PlusMinusSettingsWizardSection.d.ts +2 -6
- package/src/View/PlusMinus/Wizard/PlusMinusSettingsWizardSection.js +5 -21
- package/src/View/PlusMinus/Wizard/PlusMinusWizard.js +15 -21
- package/src/View/Schedule/Wizard/ScheduleScheduleWizard.js +2 -2
- package/src/View/Shortcut/Wizard/ShortcutScopeWizardSection.js +10 -17
- package/src/View/Shortcut/Wizard/ShortcutSettingsWizard.js +16 -5
- package/src/View/Shortcut/Wizard/ShortcutWizard.js +2 -2
- package/src/View/Shortcut/shortcutOperations.d.ts +3 -0
- package/src/View/Shortcut/shortcutOperations.js +32 -1
- package/src/View/SpecialColumnSettingsWizardStep.js +7 -6
- package/src/View/StyledColumn/Wizard/BadgePillStyleEditor.d.ts +5 -0
- package/src/View/StyledColumn/Wizard/BadgePillStyleEditor.js +26 -16
- package/src/View/StyledColumn/Wizard/StyledColumnBadgeSection.d.ts +10 -2
- package/src/View/StyledColumn/Wizard/StyledColumnBadgeSection.js +100 -15
- package/src/View/StyledColumn/Wizard/StyledColumnSliceStyleEditors.d.ts +14 -0
- package/src/View/StyledColumn/Wizard/StyledColumnSliceStyleEditors.js +48 -25
- package/src/View/StyledColumn/Wizard/StyledColumnSparklineSettingsSection.d.ts +2 -3
- package/src/View/StyledColumn/Wizard/StyledColumnSparklineSettingsSection.js +109 -33
- package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +20 -12
- package/src/View/StyledColumn/Wizard/StyledColumnWizardBulletSection.d.ts +5 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardBulletSection.js +124 -23
- package/src/View/StyledColumn/Wizard/StyledColumnWizardGradientSection.d.ts +1 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardGradientSection.js +35 -11
- package/src/View/StyledColumn/Wizard/StyledColumnWizardIconSection.d.ts +5 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardIconSection.js +88 -11
- package/src/View/StyledColumn/Wizard/StyledColumnWizardRangeBarSection.d.ts +5 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardRangeBarSection.js +125 -35
- package/src/View/StyledColumn/Wizard/StyledColumnWizardRatingSection.d.ts +1 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardRatingSection.js +55 -74
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BulletRangesSummaryPreview.d.ts +5 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BulletRangesSummaryPreview.js +20 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/GradientSummaryPreview.js +6 -12
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarColumnComparisonPreview.js +5 -5
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarRangesPreview.js +2 -1
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarStylePreview.d.ts +5 -4
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarStylePreview.js +11 -13
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/RangeBarRangesSummaryPreview.d.ts +5 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/RangeBarRangesSummaryPreview.js +20 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgePreview.d.ts +3 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgePreview.js +32 -3
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBulletPreview.d.ts +9 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBulletPreview.js +64 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnGradientPreview.d.ts +10 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnGradientPreview.js +35 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnIconPreview.d.ts +10 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnIconPreview.js +96 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnPercentBarPreview.d.ts +8 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnPercentBarPreview.js +57 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnRangeBarPreview.d.ts +8 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnRangeBarPreview.js +58 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnRatingPreview.d.ts +18 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnRatingPreview.js +66 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnSparklinePreview.d.ts +10 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnSparklinePreview.js +133 -0
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardRangesSection.js +12 -5
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.d.ts +1 -5
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.js +53 -29
- package/src/View/SystemStatus/Utilities/getStatusItemStyle.js +1 -1
- package/src/View/Theme/ThemePopup.d.ts +2 -14
- package/src/View/Theme/ThemePopup.js +1 -36
- package/src/View/UIHelper.js +1 -1
- package/src/View/Wizard/OnePageAdaptableWizard.js +6 -20
- package/src/View/renderWithAdaptableContext.js +1 -2
- package/src/agGrid/AdaptableAgGrid.d.ts +1 -1
- package/src/agGrid/AdaptableAgGrid.js +36 -41
- package/src/agGrid/AgGridAdapter.d.ts +1 -1
- package/src/agGrid/AgGridAdapter.js +27 -17
- package/src/agGrid/AgGridColumnAdapter.js +10 -19
- package/src/agGrid/AgGridMenuAdapter.d.ts +0 -1
- package/src/agGrid/AgGridMenuAdapter.js +20 -37
- package/src/agGrid/buildValueAggregationMenuItem.d.ts +19 -0
- package/src/agGrid/buildValueAggregationMenuItem.js +114 -0
- package/src/agGrid/cellRenderers/IconRenderer.d.ts +6 -0
- package/src/agGrid/cellRenderers/IconRenderer.js +46 -17
- package/src/agGrid/createAgGridIcon.d.ts +10 -0
- package/src/agGrid/createAgGridIcon.js +19 -0
- package/src/components/AdaptableFormComponent/AdaptableFormComponent.js +10 -5
- package/src/components/Combobox/VirtualizedList.js +5 -5
- package/src/components/Combobox/comboboxUtils.d.ts +4 -1
- package/src/components/Combobox/comboboxUtils.js +2 -0
- package/src/components/Combobox/index.d.ts +1 -0
- package/src/components/Combobox/index.js +36 -16
- package/src/components/DragAndDropContext/UnusedPanel.js +1 -1
- package/src/components/ExpressionEditor/BaseEditorInput.js +1 -1
- package/src/components/ExpressionEditor/ExpressionFunctionDocumentation.js +1 -1
- package/src/components/Input/NumberInput.js +1 -1
- package/src/components/Panel/index.js +1 -1
- package/src/components/SimpleButton/index.js +4 -4
- package/src/components/Toggle/Toggle.js +1 -1
- package/src/components/Toggle/ToggleGroup.js +1 -1
- package/src/components/Tree/TreeDropdown/index.js +1 -5
- package/src/env.js +2 -2
- package/src/layout-manager/src/LayoutManagerModel.d.ts +5 -1
- package/src/layout-manager/src/index.js +2 -9
- package/src/metamodel/adaptable.metamodel.d.ts +39 -46
- package/src/metamodel/adaptable.metamodel.js +1 -1
- package/src/types.d.ts +5 -5
- package/themes/dark.css +1 -68
- package/themes/light.css +1 -5
- package/tsconfig.cjs.tsbuildinfo +1 -1
- package/src/AdaptableState/Common/FilterActionOnDataChange.d.ts +0 -17
- package/src/AdaptableState/Common/FilterActionOnDataChange.js +0 -5
- package/src/Aggregation/ParameterizedAggregationRegistry.d.ts +0 -35
- package/src/Aggregation/ParameterizedAggregationRegistry.js +0 -74
- package/src/Aggregation/definitions/weightedAverageAggregationDefinition.d.ts +0 -3
- package/src/Aggregation/definitions/weightedAverageAggregationDefinition.js +0 -58
- package/src/Aggregation/parameterizedAggregationColumnMenu.d.ts +0 -8
- package/src/Aggregation/parameterizedAggregationColumnMenu.js +0 -143
- package/src/Aggregation/parameterizedAggregationHeader.d.ts +0 -13
- package/src/Aggregation/parameterizedAggregationHeader.js +0 -65
- package/src/Aggregation/parameterizedAggregationHelpers.d.ts +0 -23
- package/src/Aggregation/parameterizedAggregationHelpers.js +0 -121
- package/src/Aggregation/parameterizedAggregationWizardHelpers.d.ts +0 -9
- package/src/Aggregation/parameterizedAggregationWizardHelpers.js +0 -74
- package/src/Aggregation/validateParameterizedAggregations.d.ts +0 -4
- package/src/Aggregation/validateParameterizedAggregations.js +0 -25
- package/src/View/AdaptableComputedCSSVarsContext.d.ts +0 -12
- package/src/View/AdaptableComputedCSSVarsContext.js +0 -36
- package/src/View/Layout/Wizard/sections/ParameterizedAggFuncPicker.d.ts +0 -12
- package/src/View/Layout/Wizard/sections/ParameterizedAggFuncPicker.js +0 -48
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgeSettings.d.ts +0 -5
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgeSettings.js +0 -32
- package/src/View/Theme/VariantSelector.d.ts +0 -8
- package/src/View/Theme/VariantSelector.js +0 -25
- package/src/components/Select/CSSNumericVariableWatch.d.ts +0 -11
- package/src/components/Select/CSSNumericVariableWatch.js +0 -51
|
@@ -8,6 +8,7 @@ const OnePageAdaptableWizard_1 = require("../../../View/Wizard/OnePageAdaptableW
|
|
|
8
8
|
const NewScopeComponent_1 = require("../../Components/NewScopeComponent");
|
|
9
9
|
const PlusMinusScopeWizardSection_1 = require("./PlusMinusScopeWizardSection");
|
|
10
10
|
const PlusMinusSettingsWizardSection_1 = require("./PlusMinusSettingsWizardSection");
|
|
11
|
+
const PlusMinusRuleWizardSection_1 = require("./PlusMinusRuleWizardSection");
|
|
11
12
|
const ObjectFactory_1 = tslib_1.__importDefault(require("../../../Utilities/ObjectFactory"));
|
|
12
13
|
const react_redux_1 = require("react-redux");
|
|
13
14
|
const PlusMinusRedux = tslib_1.__importStar(require("../../../Redux/ActionsReducers/PlusMinusRedux"));
|
|
@@ -30,22 +31,6 @@ const PlusMinusWizard = (props) => {
|
|
|
30
31
|
const setPlusMinus = React.useCallback((data) => {
|
|
31
32
|
doSetPlusMinus(data);
|
|
32
33
|
}, []);
|
|
33
|
-
const [hasCondition, setHasCondition] = React.useState(() => {
|
|
34
|
-
// true if on edit and it has a condition
|
|
35
|
-
return Boolean(props?.data?.Rule);
|
|
36
|
-
});
|
|
37
|
-
React.useEffect(() => {
|
|
38
|
-
doSetPlusMinus((prev) => {
|
|
39
|
-
const preparedData = { ...prev };
|
|
40
|
-
if (hasCondition) {
|
|
41
|
-
preparedData.Rule = preparedData.Rule ?? { BooleanExpression: '' };
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
delete preparedData.Rule;
|
|
45
|
-
}
|
|
46
|
-
return preparedData;
|
|
47
|
-
});
|
|
48
|
-
}, [hasCondition]);
|
|
49
34
|
const dispatch = (0, react_redux_1.useDispatch)();
|
|
50
35
|
const handleFinish = () => {
|
|
51
36
|
if (props.data) {
|
|
@@ -59,9 +44,17 @@ const PlusMinusWizard = (props) => {
|
|
|
59
44
|
return ((0, jsx_runtime_1.jsx)(OnePageAdaptableWizard_1.OnePageAdaptableWizard, { defaultCurrentSectionName: props.defaultCurrentSectionName, moduleInfo: props.moduleInfo, data: plusMinus, onHide: props.onCloseWizard, onFinish: handleFinish, sections: [
|
|
60
45
|
{
|
|
61
46
|
title: 'Settings',
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
47
|
+
details: 'Provide details of the Plus/Minus Nudge',
|
|
48
|
+
isValid: PlusMinusSettingsWizardSection_1.isSettingsValid,
|
|
49
|
+
renderSummary: () => (0, jsx_runtime_1.jsx)(PlusMinusSettingsWizardSection_1.PlusMinusSettingsSummary, {}),
|
|
50
|
+
render: () => (0, jsx_runtime_1.jsx)(PlusMinusSettingsWizardSection_1.PlusMinusSettingsWizardSection, { onChange: setPlusMinus }),
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
title: 'Rule',
|
|
54
|
+
details: 'Choose when the nudge should be applied',
|
|
55
|
+
isValid: PlusMinusRuleWizardSection_1.isRuleValid,
|
|
56
|
+
renderSummary: () => (0, jsx_runtime_1.jsx)(PlusMinusRuleWizardSection_1.PlusMinusRuleStepSummary, {}),
|
|
57
|
+
render: () => ((0, jsx_runtime_1.jsx)(PlusMinusRuleWizardSection_1.PlusMinusRuleWizardSection, { defaultPredicateId: "NonBlanks", onChange: setPlusMinus })),
|
|
65
58
|
},
|
|
66
59
|
{
|
|
67
60
|
title: 'Target',
|
|
@@ -70,9 +63,9 @@ const PlusMinusWizard = (props) => {
|
|
|
70
63
|
renderSummary: () => (0, NewScopeComponent_1.renderScopeSummary)(plusMinus.Scope, {
|
|
71
64
|
scopeWholeRow: 'Plus/Minus is applied for matching rows',
|
|
72
65
|
scopeColumns: 'Plus/Minus is applied in cells in selected columns',
|
|
73
|
-
scopeDataTypes: '
|
|
66
|
+
scopeDataTypes: '',
|
|
74
67
|
}),
|
|
75
|
-
render: () => (
|
|
68
|
+
render: () => (0, jsx_runtime_1.jsx)(PlusMinusScopeWizardSection_1.PlusMinusScopeWizardSection, { onChange: setPlusMinus }),
|
|
76
69
|
},
|
|
77
70
|
{
|
|
78
71
|
details: 'Select Plus/Minus Tags',
|
|
@@ -83,6 +76,7 @@ const PlusMinusWizard = (props) => {
|
|
|
83
76
|
},
|
|
84
77
|
'-',
|
|
85
78
|
{
|
|
79
|
+
details: 'Review the Plus/Minus Nudge',
|
|
86
80
|
render: () => {
|
|
87
81
|
return ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:p-2", children: (0, jsx_runtime_1.jsx)(OnePageAdaptableWizard_1.OnePageWizardSummary, {}) }));
|
|
88
82
|
},
|
|
@@ -7,10 +7,10 @@ const React = tslib_1.__importStar(require("react"));
|
|
|
7
7
|
const CheckBox_1 = require("../../../components/CheckBox");
|
|
8
8
|
const FormLayout_1 = tslib_1.__importStar(require("../../../components/FormLayout"));
|
|
9
9
|
const Radio_1 = tslib_1.__importDefault(require("../../../components/Radio"));
|
|
10
|
-
const Tabs_1 = require("../../../components/Tabs");
|
|
11
10
|
const AdaptableInput_1 = tslib_1.__importDefault(require("../../Components/AdaptableInput"));
|
|
12
11
|
const OnePageAdaptableWizard_1 = require("../../Wizard/OnePageAdaptableWizard");
|
|
13
12
|
const Flex_1 = require("../../../components/Flex");
|
|
13
|
+
const Card_1 = require("../../../components/Card");
|
|
14
14
|
const NewSelect_1 = require("../../../components/NewSelect");
|
|
15
15
|
const ObjectFactory_1 = tslib_1.__importDefault(require("../../../Utilities/ObjectFactory"));
|
|
16
16
|
const ScheduleHelper_1 = require("../../../Utilities/Helpers/ScheduleHelper");
|
|
@@ -160,6 +160,6 @@ const ScheduleBuilderWizard = (props) => {
|
|
|
160
160
|
commit({ customCron: value, preset: 'custom' });
|
|
161
161
|
};
|
|
162
162
|
const timeValue = `${`${hour}`.padStart(2, '0')}:${`${minute}`.padStart(2, '0')}`;
|
|
163
|
-
return ((0, jsx_runtime_1.jsx)(Flex_1.Box, { "data-name": "schedule-setup", children: (0, jsx_runtime_1.jsxs)(
|
|
163
|
+
return ((0, jsx_runtime_1.jsx)(Flex_1.Box, { "data-name": "schedule-setup", children: (0, jsx_runtime_1.jsxs)(Card_1.Card, { shadow: false, children: [(0, jsx_runtime_1.jsxs)(Card_1.Card.Title, { children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:font-medium", children: "Schedule" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[520px]", children: "Configure when this should run" })] }), (0, jsx_runtime_1.jsx)(Card_1.Card.Body, { children: (0, jsx_runtime_1.jsxs)(FormLayout_1.default, { children: [(0, jsx_runtime_1.jsxs)(FormLayout_1.FormRow, { label: "Frequency", children: [(0, jsx_runtime_1.jsx)(Radio_1.default, { "data-name": "frequency-recurring", className: "twa:mr-2", value: "recurring", checked: !isOneOff, onChange: (checked) => checked && handleFrequencyChange(false), children: "Recurring" }), (0, jsx_runtime_1.jsx)(Radio_1.default, { "data-name": "frequency-one-off", checked: isOneOff, value: "oneoff", onChange: (checked) => checked && handleFrequencyChange(true), children: "One-off" })] }), isOneOff ? ((0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: "Date", children: (0, jsx_runtime_1.jsx)(AdaptableInput_1.default, { "data-name": "one-off-date", className: "twa:w-[300px]", type: "date", placeholder: "Date", onChange: handleOneOffDateChange, value: oneOffDate }) })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: "Pattern", children: (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:max-w-[300px]", children: (0, jsx_runtime_1.jsx)(NewSelect_1.SingleSelect, { className: "twa:w-full", "data-name": "recurrence-preset", items: PRESET_OPTIONS, value: preset, placeholder: "Select pattern", onValueChange: handlePresetChange }) }) }), preset === 'selectedDays' && ((0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: "Days", children: daysMap.map((day) => ((0, jsx_runtime_1.jsx)(CheckBox_1.CheckBox, { "data-name": `day-${day.value}`, className: "twa:ml-2 twa:w-1/3", value: day.value, checked: selectedDays.includes(day.value), onChange: (checked) => handleDayChange(checked, day.value), children: day.label }, day.value))) })), preset === 'monthly' && ((0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: "Day of month", children: (0, jsx_runtime_1.jsx)(AdaptableInput_1.default, { "data-name": "day-of-month", className: "twa:w-[120px]", type: "number", min: 1, max: 31, value: dayOfMonth, onChange: handleDayOfMonthChange }) })), preset === 'custom' && ((0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: "Cron expression", children: (0, jsx_runtime_1.jsx)(AdaptableInput_1.default, { "data-name": "custom-cron", className: "twa:w-[300px]", placeholder: "minute hour day month weekday", value: customCron, onChange: handleCustomCronChange }) }))] })), (0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: "Time", children: (0, jsx_runtime_1.jsx)(AdaptableInput_1.default, { "data-name": "time", className: "twa:w-[300px]", value: timeValue, type: "time", onChange: handleTimeChange }) })] }) })] }) }));
|
|
164
164
|
};
|
|
165
165
|
exports.ScheduleBuilderWizard = ScheduleBuilderWizard;
|
|
@@ -6,25 +6,18 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
6
6
|
const React = tslib_1.__importStar(require("react"));
|
|
7
7
|
const OnePageAdaptableWizard_1 = require("../../Wizard/OnePageAdaptableWizard");
|
|
8
8
|
const NewScopeComponent_1 = require("../../Components/NewScopeComponent");
|
|
9
|
+
const Flex_1 = require("../../../components/Flex");
|
|
9
10
|
const ShortcutScopeWizardSection = (props) => {
|
|
10
11
|
const { data, api } = (0, OnePageAdaptableWizard_1.useOnePageAdaptableWizardContext)();
|
|
11
12
|
const availableColumns = React.useMemo(() => api.columnApi.getNumericColumns(), []);
|
|
12
|
-
return ((0, jsx_runtime_1.jsx)(
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
DataTypes: ['number'],
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
props.onChange({
|
|
25
|
-
...data,
|
|
26
|
-
Scope: preparedScope,
|
|
27
|
-
});
|
|
28
|
-
} }));
|
|
13
|
+
return ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "column", className: "twa:h-full", children: [(0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "row", alignItems: "center", className: "twa:p-2 twa:gap-3 twa:border-b twa:mb-2 twa:border-b-foreground/20", children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-5 twa:font-medium", children: "Target" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-xs twa:opacity-70 twa:max-w-[520px]", children: "Specify where the Shortcut should be applied (numeric columns only)" })] }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:flex-1 twa:min-h-0 twa:overflow-auto twa:p-2", children: (0, jsx_runtime_1.jsx)(NewScopeComponent_1.NewScopeComponent, { disableDataTypes: true, scopeColumns: availableColumns, scope: data.Scope, descriptions: {
|
|
14
|
+
rowScope: 'All Numeric Columns will have the Shortcut applied',
|
|
15
|
+
columnScope: 'Selected Columns will have the Shortcut applied',
|
|
16
|
+
}, updateScope: (Scope) => {
|
|
17
|
+
props.onChange({
|
|
18
|
+
...data,
|
|
19
|
+
Scope: Scope,
|
|
20
|
+
});
|
|
21
|
+
} }) })] }));
|
|
29
22
|
};
|
|
30
23
|
exports.ShortcutScopeWizardSection = ShortcutScopeWizardSection;
|
|
@@ -6,14 +6,12 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
6
6
|
const React = tslib_1.__importStar(require("react"));
|
|
7
7
|
const Input_1 = tslib_1.__importDefault(require("../../../components/Input"));
|
|
8
8
|
const shortcutOperations_1 = require("../shortcutOperations");
|
|
9
|
-
const FormLayout_1 = tslib_1.__importStar(require("../../../components/FormLayout"));
|
|
10
9
|
const OnePageAdaptableWizard_1 = require("../../Wizard/OnePageAdaptableWizard");
|
|
11
|
-
const Tabs_1 = require("../../../components/Tabs");
|
|
12
10
|
const OnePageAdaptableWizard_2 = require("../../../View/Wizard/OnePageAdaptableWizard");
|
|
13
11
|
const Tag_1 = require("../../../components/Tag");
|
|
14
|
-
const HelpBlock_1 = tslib_1.__importDefault(require("../../../components/HelpBlock"));
|
|
15
12
|
const Flex_1 = require("../../../components/Flex");
|
|
16
13
|
const NewSelect_1 = require("../../../components/NewSelect");
|
|
14
|
+
const Card_1 = require("../../../components/Card");
|
|
17
15
|
const isSettingsValid = (data, api) => {
|
|
18
16
|
if (!data.Name?.trim()) {
|
|
19
17
|
return 'Name is required';
|
|
@@ -64,12 +62,25 @@ const ShortcutSettingsWizard = (props) => {
|
|
|
64
62
|
const optionActions = shortcutOperations_1.shortcutOperationList.map((operation) => ({
|
|
65
63
|
value: operation,
|
|
66
64
|
label: operation,
|
|
67
|
-
// onClick: () => handleOperationChange(operation),
|
|
68
65
|
}));
|
|
69
66
|
const optionKeys = props.availableKeys.map((key) => ({
|
|
70
67
|
value: key,
|
|
71
68
|
label: key,
|
|
72
69
|
}));
|
|
73
|
-
|
|
70
|
+
const preview = React.useMemo(() => {
|
|
71
|
+
const { ShortcutOperation, ShortcutValue } = shortcut;
|
|
72
|
+
if (!ShortcutOperation || typeof ShortcutValue !== 'number') {
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
const result = (0, shortcutOperations_1.calculateShortcutResult)(shortcutOperations_1.SHORTCUT_PREVIEW_EXAMPLE_VALUE, ShortcutValue, ShortcutOperation);
|
|
76
|
+
if (result === null) {
|
|
77
|
+
return { error: 'Cannot divide by zero' };
|
|
78
|
+
}
|
|
79
|
+
return {
|
|
80
|
+
expression: `${shortcutOperations_1.SHORTCUT_PREVIEW_EXAMPLE_VALUE} ${(0, shortcutOperations_1.getShortcutOperationSymbol)(ShortcutOperation)} ${ShortcutValue}`,
|
|
81
|
+
result,
|
|
82
|
+
};
|
|
83
|
+
}, [shortcut.ShortcutOperation, shortcut.ShortcutValue]);
|
|
84
|
+
return ((0, jsx_runtime_1.jsx)(Flex_1.Box, { "data-name": "shortcut-column-settings", children: (0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "column", className: "twa:gap-3 twa:p-3", children: [(0, jsx_runtime_1.jsxs)(Card_1.Card, { shadow: false, children: [(0, jsx_runtime_1.jsxs)(Card_1.Card.Title, { children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:font-medium", children: "Name" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[520px]", children: "Provide a unique name for the Shortcut" })] }), (0, jsx_runtime_1.jsx)(Card_1.Card.Body, { className: "twa:p-1", children: (0, jsx_runtime_1.jsx)(Input_1.default, { "data-name": "shortcut-name", className: "twa:max-w-[300px] twa:w-full", onChange: handleNameChange, placeholder: "Enter Name", value: shortcut.Name ?? '' }) })] }), (0, jsx_runtime_1.jsxs)(Card_1.Card, { shadow: false, children: [(0, jsx_runtime_1.jsxs)(Card_1.Card.Title, { children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:font-medium", children: "Key" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[520px]", children: "Keyboard key that, when pressed, triggers the Shortcut" })] }), (0, jsx_runtime_1.jsx)(Card_1.Card.Body, { className: "twa:p-1", children: (0, jsx_runtime_1.jsx)(NewSelect_1.SingleSelect, { "data-name": "shortcut-key", ariaLabel: "Select Key", placeholder: "Select Key", items: optionKeys, className: "twa:max-w-[300px]", onValueChange: (key) => handleKeyChange(key), value: shortcut.ShortcutKey || undefined }) })] }), (0, jsx_runtime_1.jsxs)(Card_1.Card, { shadow: false, children: [(0, jsx_runtime_1.jsxs)(Card_1.Card.Title, { children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:font-medium", children: "Operation" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[520px]", children: "Mathematical operation performed on the cell's current value" })] }), (0, jsx_runtime_1.jsx)(Card_1.Card.Body, { className: "twa:p-1", children: (0, jsx_runtime_1.jsx)(NewSelect_1.SingleSelect, { "data-name": "shortcut-operation", placeholder: "Select Operation", ariaLabel: "Select Operation", className: "twa:max-w-[300px]", items: optionActions, onValueChange: (operation) => handleOperationChange(operation), value: shortcut.ShortcutOperation }) })] }), (0, jsx_runtime_1.jsxs)(Card_1.Card, { shadow: false, children: [(0, jsx_runtime_1.jsxs)(Card_1.Card.Title, { children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:font-medium", children: "Value" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[520px]", children: "Number used with the operation and current cell value to calculate the new total" })] }), (0, jsx_runtime_1.jsx)(Card_1.Card.Body, { className: "twa:p-1", children: (0, jsx_runtime_1.jsx)(Input_1.default, { "data-name": "shortcut-value", className: "twa:max-w-[300px] twa:w-full", onChange: handleOperationValueChange, placeholder: "Enter Number", type: "number", value: shortcut.ShortcutValue ?? '' }) })] }), preview ? ((0, jsx_runtime_1.jsxs)(Card_1.Card, { shadow: false, children: [(0, jsx_runtime_1.jsxs)(Card_1.Card.Title, { children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:font-medium", children: "Example" }), (0, jsx_runtime_1.jsxs)(Flex_1.Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[520px]", children: ["If a cell contains ", shortcutOperations_1.SHORTCUT_PREVIEW_EXAMPLE_VALUE, ", pressing this Shortcut would change it to:"] })] }), (0, jsx_runtime_1.jsx)(Card_1.Card.Body, { children: 'error' in preview ? ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-2 twa:text-error", children: preview.error })) : ((0, jsx_runtime_1.jsxs)(Flex_1.Box, { className: "twa:text-3 twa:font-medium", children: [preview.expression, " \u2192 ", preview.result] })) })] })) : null] }) }));
|
|
74
85
|
};
|
|
75
86
|
exports.ShortcutSettingsWizard = ShortcutSettingsWizard;
|
|
@@ -54,7 +54,7 @@ const ShortcutWizard = (props) => {
|
|
|
54
54
|
{
|
|
55
55
|
title: 'Settings',
|
|
56
56
|
isValid: ShortcutSettingsWizard_1.isSettingsValid,
|
|
57
|
-
details: ((0, jsx_runtime_1.
|
|
57
|
+
details: ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: "Provide details of the Shortcut" })),
|
|
58
58
|
renderSummary: () => (0, jsx_runtime_1.jsx)(ShortcutSettingsWizard_1.ShortcutSettingsSummary, {}),
|
|
59
59
|
render: () => ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:p-2", children: (0, jsx_runtime_1.jsx)(ShortcutSettingsWizard_1.ShortcutSettingsWizard, { availableKeys: props.availableKeys ?? availableKeys, onChange: setShortcut }) })),
|
|
60
60
|
},
|
|
@@ -65,7 +65,7 @@ const ShortcutWizard = (props) => {
|
|
|
65
65
|
renderSummary: () => (0, NewScopeComponent_1.renderScopeSummary)(shortcut.Scope, {
|
|
66
66
|
scopeWholeRow: 'Shortcut is triggered for all numeric cells',
|
|
67
67
|
scopeColumns: 'Shortcut is triggered for cells in selected columns',
|
|
68
|
-
scopeDataTypes: '
|
|
68
|
+
scopeDataTypes: '',
|
|
69
69
|
}),
|
|
70
70
|
render: () => ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:p-2", children: (0, jsx_runtime_1.jsx)(ShortcutScopeWizardSection_1.ShortcutScopeWizardSection, { onChange: setShortcut }) })),
|
|
71
71
|
},
|
|
@@ -1,2 +1,5 @@
|
|
|
1
1
|
import { MathOperation } from '../../AdaptableState/Common/Enums';
|
|
2
2
|
export declare const shortcutOperationList: Array<MathOperation>;
|
|
3
|
+
export declare const SHORTCUT_PREVIEW_EXAMPLE_VALUE = 100;
|
|
4
|
+
export declare function getShortcutOperationSymbol(operation: MathOperation): string;
|
|
5
|
+
export declare function calculateShortcutResult(cellValue: number, shortcutValue: number, operation: MathOperation): number | null;
|
|
@@ -1,10 +1,41 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.shortcutOperationList = void 0;
|
|
3
|
+
exports.SHORTCUT_PREVIEW_EXAMPLE_VALUE = exports.shortcutOperationList = void 0;
|
|
4
|
+
exports.getShortcutOperationSymbol = getShortcutOperationSymbol;
|
|
5
|
+
exports.calculateShortcutResult = calculateShortcutResult;
|
|
6
|
+
const tslib_1 = require("tslib");
|
|
4
7
|
const Enums_1 = require("../../AdaptableState/Common/Enums");
|
|
8
|
+
const NumberExtensions_1 = tslib_1.__importDefault(require("../../Utilities/Extensions/NumberExtensions"));
|
|
5
9
|
exports.shortcutOperationList = [
|
|
6
10
|
Enums_1.MathOperation.Add,
|
|
7
11
|
Enums_1.MathOperation.Subtract,
|
|
8
12
|
Enums_1.MathOperation.Multiply,
|
|
9
13
|
Enums_1.MathOperation.Divide,
|
|
10
14
|
];
|
|
15
|
+
exports.SHORTCUT_PREVIEW_EXAMPLE_VALUE = 100;
|
|
16
|
+
const shortcutOperationSymbols = {
|
|
17
|
+
[Enums_1.MathOperation.Add]: '+',
|
|
18
|
+
[Enums_1.MathOperation.Subtract]: '−',
|
|
19
|
+
[Enums_1.MathOperation.Multiply]: '×',
|
|
20
|
+
[Enums_1.MathOperation.Divide]: '÷',
|
|
21
|
+
};
|
|
22
|
+
function getShortcutOperationSymbol(operation) {
|
|
23
|
+
return shortcutOperationSymbols[operation];
|
|
24
|
+
}
|
|
25
|
+
function calculateShortcutResult(cellValue, shortcutValue, operation) {
|
|
26
|
+
if (operation === Enums_1.MathOperation.Divide && shortcutValue === 0) {
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
switch (operation) {
|
|
30
|
+
case Enums_1.MathOperation.Add:
|
|
31
|
+
return NumberExtensions_1.default.avoidJavascriptPrecisionIssues(cellValue + shortcutValue);
|
|
32
|
+
case Enums_1.MathOperation.Subtract:
|
|
33
|
+
return NumberExtensions_1.default.avoidJavascriptPrecisionIssues(cellValue - shortcutValue);
|
|
34
|
+
case Enums_1.MathOperation.Multiply:
|
|
35
|
+
return NumberExtensions_1.default.avoidJavascriptPrecisionIssues(cellValue * shortcutValue);
|
|
36
|
+
case Enums_1.MathOperation.Divide:
|
|
37
|
+
return NumberExtensions_1.default.avoidJavascriptPrecisionIssues(cellValue / shortcutValue);
|
|
38
|
+
default:
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -6,11 +6,12 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
6
6
|
const chunk_1 = tslib_1.__importDefault(require("../Utilities/utils/chunk"));
|
|
7
7
|
const CheckBox_1 = require("../components/CheckBox");
|
|
8
8
|
const FormLayout_1 = tslib_1.__importStar(require("../components/FormLayout"));
|
|
9
|
-
const Tabs_1 = require("../components/Tabs");
|
|
10
9
|
const AdaptableContext_1 = require("./AdaptableContext");
|
|
11
10
|
const Flex_1 = require("../components/Flex");
|
|
11
|
+
const Card_1 = require("../components/Card");
|
|
12
12
|
const SpecialColumnSettingsWizardStep = (props) => {
|
|
13
13
|
const adaptable = (0, AdaptableContext_1.useAdaptable)();
|
|
14
|
+
const behaviourSpellingVariant = adaptable.api.internalApi.getCorrectEnglishVariant('behaviours');
|
|
14
15
|
const possibleColumnTypes = adaptable.api.columnApi.getColumnTypes() ?? [];
|
|
15
16
|
const { Filterable, Resizable, Groupable, Sortable, Pivotable, Aggregatable, SuppressMenu, SuppressMovable, } = props.settings ?? {};
|
|
16
17
|
const handleColumnTypeChange = (columnType, checked) => {
|
|
@@ -34,10 +35,10 @@ const SpecialColumnSettingsWizardStep = (props) => {
|
|
|
34
35
|
...values,
|
|
35
36
|
});
|
|
36
37
|
};
|
|
37
|
-
return ((0, jsx_runtime_1.jsxs)(
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
38
|
+
return ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "column", className: "twa:gap-3", children: [(0, jsx_runtime_1.jsxs)(Card_1.Card, { shadow: false, children: [(0, jsx_runtime_1.jsxs)(Card_1.Card.Title, { children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:font-medium", children: "Column Properties" }), (0, jsx_runtime_1.jsxs)(Flex_1.Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[520px]", children: ["Choose which grid ", behaviourSpellingVariant, " apply to this Column"] })] }), (0, jsx_runtime_1.jsx)(Card_1.Card.Body, { children: (0, jsx_runtime_1.jsxs)(FormLayout_1.default, { className: "twa:w-full", columns: [
|
|
39
|
+
{ name: 'first', size: '30%' },
|
|
40
|
+
{ size: '30%', name: 'second' },
|
|
41
|
+
{ size: '30%', name: 'third' },
|
|
42
|
+
], children: [(0, jsx_runtime_1.jsxs)(FormLayout_1.FormRow, { children: [(0, jsx_runtime_1.jsx)(CheckBox_1.CheckBox, { "data-name": "filterable", checked: Filterable, onChange: (Filterable) => onSettingsChange({ Filterable }), disabled: !adaptable.api.optionsApi.getFilterOptions().enableFilterOnSpecialColumns, children: "Filterable" }), (0, jsx_runtime_1.jsx)(CheckBox_1.CheckBox, { "data-name": "resizable", checked: Resizable, onChange: (Resizable) => onSettingsChange({ Resizable }), children: "Resizable" }), (0, jsx_runtime_1.jsx)(CheckBox_1.CheckBox, { "data-name": "groupable", checked: Groupable, onChange: (Groupable) => onSettingsChange({ Groupable }), children: "Groupable" })] }), (0, jsx_runtime_1.jsxs)(FormLayout_1.FormRow, { children: [(0, jsx_runtime_1.jsx)(CheckBox_1.CheckBox, { "data-name": "sortable", checked: Sortable, onChange: (Sortable) => onSettingsChange({ Sortable }), children: "Sortable" }), (0, jsx_runtime_1.jsx)(CheckBox_1.CheckBox, { "data-name": "pivotable", checked: Pivotable, onChange: (Pivotable) => onSettingsChange({ Pivotable }), children: "Pivotable" }), (0, jsx_runtime_1.jsx)(CheckBox_1.CheckBox, { "data-name": "aggregatable", checked: Aggregatable, onChange: (Aggregatable) => onSettingsChange({ Aggregatable }), children: "Aggregatable" })] }), (0, jsx_runtime_1.jsxs)(FormLayout_1.FormRow, { children: [(0, jsx_runtime_1.jsx)(CheckBox_1.CheckBox, { "data-name": "suppres-smenu", checked: SuppressMenu, onChange: (SuppressMenu) => onSettingsChange({ SuppressMenu }), children: "Suppress Menu" }), (0, jsx_runtime_1.jsx)(CheckBox_1.CheckBox, { "data-name": "suppres-movable", checked: SuppressMovable, onChange: (SuppressMovable) => onSettingsChange({ SuppressMovable }), children: "Suppress Movable" }), (0, jsx_runtime_1.jsx)(CheckBox_1.CheckBox, { disabled: true, checked: props.isEditable, children: "Editable" })] })] }) })] }), Boolean(possibleColumnTypes?.length) && ((0, jsx_runtime_1.jsxs)(Card_1.Card, { shadow: false, children: [(0, jsx_runtime_1.jsxs)(Card_1.Card.Title, { children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:font-medium", children: "Column Types" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[520px]", children: "Assign custom column types to this column" })] }), (0, jsx_runtime_1.jsx)(Card_1.Card.Body, { children: (0, jsx_runtime_1.jsx)(FormLayout_1.default, { columns: [{ name: 'first', size: '30%' }, { name: 'second' }], children: (0, chunk_1.default)(possibleColumnTypes ?? [], 2)?.map(([first, second]) => ((0, jsx_runtime_1.jsxs)(FormLayout_1.FormRow, { children: [first && ((0, jsx_runtime_1.jsx)(CheckBox_1.CheckBox, { "data-name": first, onChange: (checked) => handleColumnTypeChange(first, checked), checked: props.settings?.ColumnTypes?.includes?.(first), children: first })), second && ((0, jsx_runtime_1.jsx)(CheckBox_1.CheckBox, { "data-name": second, onChange: (checked) => handleColumnTypeChange(second, checked), checked: props.settings?.ColumnTypes?.includes?.(second), children: second }))] }, first))) }) })] }))] }));
|
|
42
43
|
};
|
|
43
44
|
exports.SpecialColumnSettingsWizardStep = SpecialColumnSettingsWizardStep;
|
|
@@ -22,5 +22,10 @@ export interface BadgePillStyleEditorProps {
|
|
|
22
22
|
* - **No** `FontSize` — pills inherit cell font sizing.
|
|
23
23
|
*/
|
|
24
24
|
export declare const BadgePillStyleEditor: React.FunctionComponent<BadgePillStyleEditorProps>;
|
|
25
|
+
/** Descriptive pill properties for summary panels (`Label: value` strings). */
|
|
26
|
+
export declare const getBadgePillStyleSummaryItems: (pill: BadgePillStyle | undefined) => {
|
|
27
|
+
label: string;
|
|
28
|
+
value: string;
|
|
29
|
+
}[];
|
|
25
30
|
/** Compact summary tags for a {@link BadgePillStyle}; used by wizard summaries. */
|
|
26
31
|
export declare const renderBadgePillStyleSummaryTags: (pill: BadgePillStyle | undefined) => React.JSX.Element | null;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.renderBadgePillStyleSummaryTags = exports.BadgePillStyleEditor = void 0;
|
|
3
|
+
exports.renderBadgePillStyleSummaryTags = exports.getBadgePillStyleSummaryItems = exports.BadgePillStyleEditor = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
6
|
const CheckBox_1 = require("../../../components/CheckBox");
|
|
@@ -42,29 +42,39 @@ const BadgePillStyleEditor = (props) => {
|
|
|
42
42
|
return ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:mt-2 twa:rounded-standard twa:border twa:border-border twa:overflow-hidden twa:shadow-sm", children: (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:p-3", children: (0, jsx_runtime_1.jsxs)(FormLayout_1.default, { columns: [LABEL_COLUMN, CHILD_COLUMN], sizes: ['7.5rem', '1fr'], gridColumnGap: "0.75rem", children: [(0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: "Background", children: (0, jsx_runtime_1.jsxs)(Flex_1.Flex, { alignItems: "center", className: "twa:gap-2", children: [(0, jsx_runtime_1.jsx)(CheckBox_1.CheckBox, { disabled: disabled, checked: !!pill.BackColor, onChange: (checked) => update({ BackColor: checked ? pill.BackColor ?? '#cccccc' : undefined }), children: "Set" }), (0, jsx_runtime_1.jsx)(ColorPicker_1.ColorPicker, { disabled: disabled || !pill.BackColor, api: props.api, value: pill.BackColor || '#cccccc', onChange: (c) => update({ BackColor: c }) })] }) }), (0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: "Text", children: (0, jsx_runtime_1.jsxs)(Flex_1.Flex, { alignItems: "center", className: "twa:gap-2", children: [(0, jsx_runtime_1.jsx)(CheckBox_1.CheckBox, { disabled: disabled, checked: !!pill.ForeColor, onChange: (checked) => update({ ForeColor: checked ? pill.ForeColor ?? '#000000' : undefined }), children: "Set" }), (0, jsx_runtime_1.jsx)(ColorPicker_1.ColorPicker, { disabled: disabled || !pill.ForeColor, api: props.api, value: pill.ForeColor || '#000000', onChange: (c) => update({ ForeColor: c }) })] }) }), (0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: "Border", children: (0, jsx_runtime_1.jsxs)(Flex_1.Flex, { alignItems: "center", className: "twa:gap-2", children: [(0, jsx_runtime_1.jsx)(CheckBox_1.CheckBox, { disabled: disabled, checked: !!pill.BorderColor, onChange: (checked) => update({ BorderColor: checked ? pill.BorderColor ?? '#000000' : undefined }), children: "Set" }), (0, jsx_runtime_1.jsx)(ColorPicker_1.ColorPicker, { disabled: disabled || !pill.BorderColor, api: props.api, value: pill.BorderColor || '#000000', onChange: (c) => update({ BorderColor: c }) })] }) }), (0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: "Font", children: (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: disabledClass, children: (0, jsx_runtime_1.jsxs)(Flex_1.Flex, { alignItems: "center", className: "twa:gap-2 twa:flex-wrap", children: [(0, jsx_runtime_1.jsxs)(Toggle_1.ToggleGroup, { children: [(0, jsx_runtime_1.jsx)(Toggle_1.Toggle, { pressed: pill.FontStyle === 'Italic', onPressedChange: (pressed) => update({ FontStyle: pressed ? 'Italic' : undefined }), icon: "italic" }), (0, jsx_runtime_1.jsx)(Toggle_1.Toggle, { pressed: pill.FontWeight === 'Bold', onPressedChange: (pressed) => update({ FontWeight: pressed ? 'Bold' : undefined }), icon: "bold" })] }), (0, jsx_runtime_1.jsxs)(Toggle_1.ToggleGroup, { children: [(0, jsx_runtime_1.jsx)(Toggle_1.Toggle, { pressed: pill.TextDecoration === 'Underline', onPressedChange: (pressed) => update({ TextDecoration: pressed ? 'Underline' : undefined }), icon: "underline" }), (0, jsx_runtime_1.jsx)(Toggle_1.Toggle, { pressed: pill.TextDecoration === 'LineThrough', onPressedChange: (pressed) => update({ TextDecoration: pressed ? 'LineThrough' : undefined }), icon: "strikethrough" }), (0, jsx_runtime_1.jsx)(Toggle_1.Toggle, { pressed: pill.TextDecoration === 'Overline', onPressedChange: (pressed) => update({ TextDecoration: pressed ? 'Overline' : undefined }), icon: "overline" })] })] }) }) })] }) }) }));
|
|
43
43
|
};
|
|
44
44
|
exports.BadgePillStyleEditor = BadgePillStyleEditor;
|
|
45
|
-
/**
|
|
46
|
-
const
|
|
47
|
-
if (!pill)
|
|
48
|
-
return
|
|
49
|
-
|
|
45
|
+
/** Descriptive pill properties for summary panels (`Label: value` strings). */
|
|
46
|
+
const getBadgePillStyleSummaryItems = (pill) => {
|
|
47
|
+
if (!pill) {
|
|
48
|
+
return [];
|
|
49
|
+
}
|
|
50
|
+
const items = [];
|
|
50
51
|
if (pill.BackColor) {
|
|
51
|
-
|
|
52
|
+
items.push({ label: 'Pill Back Colour', value: pill.BackColor });
|
|
52
53
|
}
|
|
53
54
|
if (pill.ForeColor) {
|
|
54
|
-
|
|
55
|
+
items.push({ label: 'Pill Fore Colour', value: pill.ForeColor });
|
|
55
56
|
}
|
|
56
57
|
if (pill.BorderColor) {
|
|
57
|
-
|
|
58
|
+
items.push({ label: 'Pill Border Colour', value: pill.BorderColor });
|
|
59
|
+
}
|
|
60
|
+
if (pill.FontWeight === 'Bold') {
|
|
61
|
+
items.push({ label: 'Pill Font Weight', value: 'Bold' });
|
|
62
|
+
}
|
|
63
|
+
if (pill.FontStyle === 'Italic') {
|
|
64
|
+
items.push({ label: 'Pill Font Style', value: 'Italic' });
|
|
58
65
|
}
|
|
59
|
-
if (pill.FontWeight === 'Bold')
|
|
60
|
-
tags.push((0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: "Bold" }, "b"));
|
|
61
|
-
if (pill.FontStyle === 'Italic')
|
|
62
|
-
tags.push((0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: "Italic" }, "i"));
|
|
63
66
|
if (pill.TextDecoration && pill.TextDecoration !== 'None') {
|
|
64
|
-
|
|
67
|
+
items.push({ label: 'Pill Text Decoration', value: pill.TextDecoration });
|
|
65
68
|
}
|
|
66
|
-
|
|
69
|
+
return items;
|
|
70
|
+
};
|
|
71
|
+
exports.getBadgePillStyleSummaryItems = getBadgePillStyleSummaryItems;
|
|
72
|
+
/** Compact summary tags for a {@link BadgePillStyle}; used by wizard summaries. */
|
|
73
|
+
const renderBadgePillStyleSummaryTags = (pill) => {
|
|
74
|
+
const items = (0, exports.getBadgePillStyleSummaryItems)(pill);
|
|
75
|
+
if (!items.length) {
|
|
67
76
|
return null;
|
|
68
|
-
|
|
77
|
+
}
|
|
78
|
+
return ((0, jsx_runtime_1.jsx)(Flex_1.Flex, { alignItems: "center", className: "twa:gap-1 twa:flex-wrap", children: items.map(({ label, value }) => ((0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: `${label}: ${value}` }, label))) }));
|
|
69
79
|
};
|
|
70
80
|
exports.renderBadgePillStyleSummaryTags = renderBadgePillStyleSummaryTags;
|
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { StyledColumn } from '../../../types';
|
|
3
|
-
|
|
3
|
+
import { AdaptableApi } from '../../../Api/AdaptableApi';
|
|
4
|
+
export declare const getStyledColumnBadgeDefinitionViewValueGroups: (styledColumn: StyledColumn, api: AdaptableApi) => string[][];
|
|
5
|
+
export declare const getStyledColumnBadgeDefinitionViewValues: (styledColumn: StyledColumn, api: AdaptableApi) => string[];
|
|
6
|
+
export declare const getStyledColumnBadgeStyleViewValues: (styledColumn: StyledColumn, api?: AdaptableApi) => string[];
|
|
7
|
+
export declare const renderBadgeDefinitionSummaryTags: (styledColumn: StyledColumn, api: AdaptableApi) => React.JSX.Element;
|
|
8
|
+
export declare const StyledColumnBadgeDefinitionsView: React.FunctionComponent<React.PropsWithChildren<{
|
|
9
|
+
data: StyledColumn;
|
|
10
|
+
}>>;
|
|
11
|
+
export declare const renderBadgeSummary: (styledColumn: StyledColumn, api?: AdaptableApi) => React.JSX.Element;
|
|
4
12
|
export interface StyledColumnBadgeSectionProps {
|
|
5
13
|
onChange: (data: StyledColumn) => void;
|
|
6
14
|
}
|
|
@@ -9,4 +17,4 @@ export interface StyledColumnBadgeStyleSectionProps {
|
|
|
9
17
|
onChange: (data: StyledColumn) => void;
|
|
10
18
|
}
|
|
11
19
|
export declare const StyledColumnBadgeStyleSection: React.FunctionComponent<StyledColumnBadgeStyleSectionProps>;
|
|
12
|
-
export declare const renderBadgeStyleSummary: (styledColumn: StyledColumn) => React.JSX.Element;
|
|
20
|
+
export declare const renderBadgeStyleSummary: (styledColumn: StyledColumn, api?: AdaptableApi) => React.JSX.Element;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.renderBadgeStyleSummary = exports.StyledColumnBadgeStyleSection = exports.StyledColumnBadgeSection = exports.renderBadgeSummary = void 0;
|
|
3
|
+
exports.renderBadgeStyleSummary = exports.StyledColumnBadgeStyleSection = exports.StyledColumnBadgeSection = exports.renderBadgeSummary = exports.StyledColumnBadgeDefinitionsView = exports.renderBadgeDefinitionSummaryTags = exports.getStyledColumnBadgeStyleViewValues = exports.getStyledColumnBadgeDefinitionViewValues = exports.getStyledColumnBadgeDefinitionViewValueGroups = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
6
|
const DropdownButton_1 = tslib_1.__importDefault(require("../../../components/DropdownButton"));
|
|
@@ -13,7 +13,6 @@ const ObjectFactory_1 = tslib_1.__importDefault(require("../../../Utilities/Obje
|
|
|
13
13
|
const AdaptableIconSelector_1 = require("../../Components/AdaptableIconSelector");
|
|
14
14
|
const PredicateEditor_1 = require("../../Components/PredicateEditor/PredicateEditor");
|
|
15
15
|
const OnePageAdaptableWizard_1 = require("../../Wizard/OnePageAdaptableWizard");
|
|
16
|
-
const StyledColumnBadgePreview_1 = require("./StyledColumnWizardStyleSection/Components/StyledColumnBadgePreview");
|
|
17
16
|
const Badge_1 = require("../../Components/Badge");
|
|
18
17
|
const AdaptableIconComponent_1 = require("../../Components/AdaptableIconComponent");
|
|
19
18
|
const GeneralConstants_1 = require("../../../Utilities/Constants/GeneralConstants");
|
|
@@ -25,6 +24,8 @@ const Toggle_1 = require("../../../components/Toggle");
|
|
|
25
24
|
const BadgePillStyleEditor_1 = require("./BadgePillStyleEditor");
|
|
26
25
|
const StyledColumnSliceStyleEditors_1 = require("./StyledColumnSliceStyleEditors");
|
|
27
26
|
const Card_1 = require("../../../components/Card");
|
|
27
|
+
const AdaptableContext_1 = require("../../AdaptableContext");
|
|
28
|
+
const StyledColumnBadgePreview_1 = require("./StyledColumnWizardStyleSection/Components/StyledColumnBadgePreview");
|
|
28
29
|
const BADGE_STYLE_FORM_SIZES = ['200px', '1fr'];
|
|
29
30
|
const SHAPE_CHOICES = [
|
|
30
31
|
{ value: 'Pill', label: 'Pill' },
|
|
@@ -98,8 +99,93 @@ const BadgeEditor = (props) => {
|
|
|
98
99
|
});
|
|
99
100
|
} }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-xs twa:opacity-70", children: "px between icon and text \u2014 leave blank to follow Density" })] }) }))] }) })] }));
|
|
100
101
|
};
|
|
101
|
-
const
|
|
102
|
-
|
|
102
|
+
const getStyledColumnBadgeDefinitionViewValueGroups = (styledColumn, api) => {
|
|
103
|
+
const badgeStyle = styledColumn.BadgeStyle;
|
|
104
|
+
if (!badgeStyle?.Badges?.length) {
|
|
105
|
+
return [];
|
|
106
|
+
}
|
|
107
|
+
return badgeStyle.Badges.map((badge, index) => {
|
|
108
|
+
const items = [];
|
|
109
|
+
let rule = 'Always';
|
|
110
|
+
if (badge.Predicate) {
|
|
111
|
+
rule = api.predicateApi.predicateToString(badge.Predicate);
|
|
112
|
+
}
|
|
113
|
+
else if (badge.Expression) {
|
|
114
|
+
rule = badge.Expression.BooleanExpression;
|
|
115
|
+
}
|
|
116
|
+
items.push(`Badge ${index + 1}: ${rule}`);
|
|
117
|
+
items.push(`Shape: ${badge.Shape ?? 'Rounded'}`);
|
|
118
|
+
(0, BadgePillStyleEditor_1.getBadgePillStyleSummaryItems)(badge.PillStyle).forEach(({ label, value }) => {
|
|
119
|
+
items.push(`${label}: ${value}`);
|
|
120
|
+
});
|
|
121
|
+
if (badge.Icon) {
|
|
122
|
+
const iconName = 'name' in badge.Icon ? badge.Icon.name : 'Custom';
|
|
123
|
+
items.push(`Icon: ${iconName}`);
|
|
124
|
+
}
|
|
125
|
+
if (badge.IconOnly) {
|
|
126
|
+
items.push('Icon Only: Yes');
|
|
127
|
+
}
|
|
128
|
+
if (badge.Icon && badge.IconPosition) {
|
|
129
|
+
items.push(`Icon Position: ${badge.IconPosition}`);
|
|
130
|
+
}
|
|
131
|
+
if (typeof badge.IconGap === 'number') {
|
|
132
|
+
items.push(`Icon Gap: ${badge.IconGap}px`);
|
|
133
|
+
}
|
|
134
|
+
return items;
|
|
135
|
+
});
|
|
136
|
+
};
|
|
137
|
+
exports.getStyledColumnBadgeDefinitionViewValueGroups = getStyledColumnBadgeDefinitionViewValueGroups;
|
|
138
|
+
const getStyledColumnBadgeDefinitionViewValues = (styledColumn, api) => {
|
|
139
|
+
return (0, exports.getStyledColumnBadgeDefinitionViewValueGroups)(styledColumn, api).flat();
|
|
140
|
+
};
|
|
141
|
+
exports.getStyledColumnBadgeDefinitionViewValues = getStyledColumnBadgeDefinitionViewValues;
|
|
142
|
+
const isBadgeArrayColumn = (styledColumn, api) => {
|
|
143
|
+
if (!api || !styledColumn.ColumnId) {
|
|
144
|
+
return false;
|
|
145
|
+
}
|
|
146
|
+
const dataType = api.columnApi.getColumnDataTypeForColumnId(styledColumn.ColumnId);
|
|
147
|
+
return dataType === 'numberArray' || dataType === 'textArray';
|
|
148
|
+
};
|
|
149
|
+
const getStyledColumnBadgeStyleViewValues = (styledColumn, api) => {
|
|
150
|
+
const badgeStyle = styledColumn.BadgeStyle;
|
|
151
|
+
if (!badgeStyle) {
|
|
152
|
+
return [];
|
|
153
|
+
}
|
|
154
|
+
const items = [`Density: ${badgeStyle.Density ?? 'Normal'}`];
|
|
155
|
+
if (isBadgeArrayColumn(styledColumn, api)) {
|
|
156
|
+
if (typeof badgeStyle.Spacing === 'number') {
|
|
157
|
+
items.push(`Spacing: ${badgeStyle.Spacing}px`);
|
|
158
|
+
}
|
|
159
|
+
items.push(`Overflow: ${badgeStyle.OverflowMode ?? 'Truncate'}`);
|
|
160
|
+
}
|
|
161
|
+
(0, StyledColumnSliceStyleEditors_1.getCellFontStyleSummaryItems)(badgeStyle.Font).forEach(({ label, value }) => {
|
|
162
|
+
items.push(`${label}: ${value}`);
|
|
163
|
+
});
|
|
164
|
+
(0, StyledColumnSliceStyleEditors_1.getCellBoxStyleSummaryItems)(badgeStyle.Cell).forEach(({ label, value }) => {
|
|
165
|
+
items.push(`${label}: ${value}`);
|
|
166
|
+
});
|
|
167
|
+
return items;
|
|
168
|
+
};
|
|
169
|
+
exports.getStyledColumnBadgeStyleViewValues = getStyledColumnBadgeStyleViewValues;
|
|
170
|
+
const renderBadgeDefinitionSummaryTags = (styledColumn, api) => {
|
|
171
|
+
const groups = (0, exports.getStyledColumnBadgeDefinitionViewValueGroups)(styledColumn, api);
|
|
172
|
+
if (!groups.length) {
|
|
173
|
+
return (0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: "No Badges Defined" });
|
|
174
|
+
}
|
|
175
|
+
return ((0, jsx_runtime_1.jsx)(Flex_1.Flex, { flexDirection: "column", className: "twa:gap-2", children: groups.map((items, index) => ((0, jsx_runtime_1.jsx)(Flex_1.Flex, { alignItems: "center", className: "twa:flex-wrap twa:gap-2", children: items.map((item, itemIndex) => ((0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: item }, `${index}-${itemIndex}`))) }, index))) }));
|
|
176
|
+
};
|
|
177
|
+
exports.renderBadgeDefinitionSummaryTags = renderBadgeDefinitionSummaryTags;
|
|
178
|
+
const StyledColumnBadgeDefinitionsView = ({ data }) => {
|
|
179
|
+
const { api } = (0, AdaptableContext_1.useAdaptable)();
|
|
180
|
+
return (0, exports.renderBadgeDefinitionSummaryTags)(data, api);
|
|
181
|
+
};
|
|
182
|
+
exports.StyledColumnBadgeDefinitionsView = StyledColumnBadgeDefinitionsView;
|
|
183
|
+
const renderBadgeSummary = (styledColumn, api) => {
|
|
184
|
+
if (!api) {
|
|
185
|
+
const { api: adaptableApi } = (0, OnePageAdaptableWizard_1.useOnePageAdaptableWizardContext)();
|
|
186
|
+
api = adaptableApi;
|
|
187
|
+
}
|
|
188
|
+
return (0, exports.renderBadgeDefinitionSummaryTags)(styledColumn, api);
|
|
103
189
|
};
|
|
104
190
|
exports.renderBadgeSummary = renderBadgeSummary;
|
|
105
191
|
const StyledColumnBadgeSection = (props) => {
|
|
@@ -182,19 +268,18 @@ const StyledColumnBadgeStyleSection = (props) => {
|
|
|
182
268
|
delete cleaned.Cell;
|
|
183
269
|
props.onChange({ ...data, BadgeStyle: cleaned });
|
|
184
270
|
}
|
|
185
|
-
} }) })] })] })] }));
|
|
271
|
+
} }) })] })] }), (0, jsx_runtime_1.jsx)(StyledColumnBadgePreview_1.StyledColumnBadgePreviewCard, { data: data })] }));
|
|
186
272
|
};
|
|
187
273
|
exports.StyledColumnBadgeStyleSection = StyledColumnBadgeStyleSection;
|
|
188
|
-
const renderBadgeStyleSummary = (styledColumn) => {
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
274
|
+
const renderBadgeStyleSummary = (styledColumn, api) => {
|
|
275
|
+
if (!api) {
|
|
276
|
+
const { api: adaptableApi } = (0, OnePageAdaptableWizard_1.useOnePageAdaptableWizardContext)();
|
|
277
|
+
api = adaptableApi;
|
|
278
|
+
}
|
|
279
|
+
const items = (0, exports.getStyledColumnBadgeStyleViewValues)(styledColumn, api);
|
|
280
|
+
if (!items.length) {
|
|
281
|
+
return (0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: "No Style Defined" });
|
|
192
282
|
}
|
|
193
|
-
|
|
194
|
-
const spacing = typeof badgeStyle.Spacing === 'number' ? badgeStyle.Spacing : null;
|
|
195
|
-
const overflow = badgeStyle.OverflowMode ?? 'Truncate';
|
|
196
|
-
const alignment = badgeStyle.Font?.Alignment;
|
|
197
|
-
const cellTags = (0, StyledColumnSliceStyleEditors_1.renderCellStyleSummaryTags)(badgeStyle.Cell);
|
|
198
|
-
return ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { alignItems: "center", className: "twa:flex-wrap twa:gap-2", children: [(0, jsx_runtime_1.jsxs)(Flex_1.Box, { children: ["Density: ", (0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: density })] }), spacing != null && ((0, jsx_runtime_1.jsxs)(Flex_1.Box, { children: ["Spacing: ", (0, jsx_runtime_1.jsxs)(Tag_1.Tag, { children: [spacing, "px"] })] })), (0, jsx_runtime_1.jsxs)(Flex_1.Box, { children: ["Overflow: ", (0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: overflow })] }), alignment && ((0, jsx_runtime_1.jsxs)(Flex_1.Box, { children: ["Align: ", (0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: alignment })] })), cellTags && (0, jsx_runtime_1.jsxs)(Flex_1.Box, { children: ["Cell: ", cellTags] })] }));
|
|
283
|
+
return ((0, jsx_runtime_1.jsx)(Flex_1.Flex, { alignItems: "center", className: "twa:flex-wrap twa:gap-2", children: items.map((item) => ((0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: item }, item))) }));
|
|
199
284
|
};
|
|
200
285
|
exports.renderBadgeStyleSummary = renderBadgeStyleSummary;
|
|
@@ -39,10 +39,24 @@ export interface StyledColumnCellStyleEditorProps {
|
|
|
39
39
|
* key is unset) which the host wizard merges back into its `*Style` patch.
|
|
40
40
|
*/
|
|
41
41
|
export declare const StyledColumnCellStyleEditor: React.FunctionComponent<StyledColumnCellStyleEditorProps>;
|
|
42
|
+
/**
|
|
43
|
+
* Descriptive font properties for summary panels (`Label: value` strings).
|
|
44
|
+
*/
|
|
45
|
+
export declare const getCellFontStyleSummaryItems: (font: CellFontStyle | undefined) => {
|
|
46
|
+
label: string;
|
|
47
|
+
value: string;
|
|
48
|
+
}[];
|
|
42
49
|
/**
|
|
43
50
|
* Compact summary tags for the Font slice; used by wizard summary panels.
|
|
44
51
|
*/
|
|
45
52
|
export declare const renderFontStyleSummaryTags: (font: CellFontStyle | undefined) => React.JSX.Element | null;
|
|
53
|
+
/**
|
|
54
|
+
* Descriptive cell box properties for summary panels (`Label: value` strings).
|
|
55
|
+
*/
|
|
56
|
+
export declare const getCellBoxStyleSummaryItems: (cell: CellBoxStyle | undefined) => {
|
|
57
|
+
label: string;
|
|
58
|
+
value: string;
|
|
59
|
+
}[];
|
|
46
60
|
/**
|
|
47
61
|
* Compact summary tags for the Cell slice; used by wizard summary panels.
|
|
48
62
|
*/
|