@adaptabletools/adaptable-cjs 23.0.0-canary.4 → 23.0.0-canary.6
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 +117 -62
- package/package.json +9 -4
- package/src/AdaptableOptions/EditOptions.d.ts +2 -2
- package/src/AdaptableState/Common/AggregationColumns.d.ts +14 -6
- package/src/AdaptableState/Common/AggregationColumns.js +30 -3
- package/src/AdaptableState/Common/ColumnScope.d.ts +4 -0
- package/src/AdaptableState/Common/Enums.d.ts +5 -5
- package/src/AdaptableState/Common/Enums.js +4 -4
- 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 +19 -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/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/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 +32 -41
- 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/components/ColumnFilterInput.js +0 -1
- package/src/View/Components/ColumnFilter/components/ColumnFilterInputList.js +3 -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/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 +19 -20
- 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/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/agGrid/AdaptableAgGrid.d.ts +1 -0
- package/src/agGrid/AdaptableAgGrid.js +34 -24
- package/src/agGrid/AgGridAdapter.d.ts +1 -1
- package/src/agGrid/AgGridAdapter.js +27 -17
- package/src/agGrid/AgGridColumnAdapter.js +9 -15
- 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/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/env.js +2 -2
- package/src/layout-manager/src/index.js +2 -9
- package/src/metamodel/adaptable.metamodel.d.ts +39 -29
- package/src/metamodel/adaptable.metamodel.js +1 -1
- package/src/types.d.ts +5 -4
- package/themes/dark.css +1 -68
- package/themes/light.css +1 -5
- package/tsconfig.cjs.tsbuildinfo +1 -1
- 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/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
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isRuleValid = exports.PlusMinusRuleStepSummary = void 0;
|
|
3
4
|
exports.PlusMinusRuleSummary = PlusMinusRuleSummary;
|
|
4
5
|
exports.PlusMinusRuleWizardSection = PlusMinusRuleWizardSection;
|
|
5
6
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
7
|
const OnePageAdaptableWizard_1 = require("../../Wizard/OnePageAdaptableWizard");
|
|
7
8
|
const EntityRulesEditor_1 = require("../../Components/EntityRulesEditor");
|
|
8
9
|
const CodeBlock_1 = require("../../../components/CodeBlock");
|
|
10
|
+
const Utilities_1 = require("../../Components/EntityRulesEditor/Utilities");
|
|
11
|
+
const Flex_1 = require("../../../components/Flex");
|
|
12
|
+
const Card_1 = require("../../../components/Card");
|
|
13
|
+
const TypeRadio_1 = require("../../Wizard/TypeRadio");
|
|
14
|
+
const Tag_1 = require("../../../components/Tag");
|
|
9
15
|
function PlusMinusRuleSummary() {
|
|
10
16
|
const { data } = (0, OnePageAdaptableWizard_1.useOnePageAdaptableWizardContext)();
|
|
11
17
|
return ((0, jsx_runtime_1.jsx)(EntityRulesEditor_1.EntityRulesSummary, { data: data, renderPredicate: (contents) => {
|
|
@@ -14,22 +20,49 @@ function PlusMinusRuleSummary() {
|
|
|
14
20
|
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Apply Plus Minus when", ' ', (0, jsx_runtime_1.jsx)("b", { children: (0, jsx_runtime_1.jsx)(CodeBlock_1.CodeBlock, { children: contents }) })] }));
|
|
15
21
|
} }));
|
|
16
22
|
}
|
|
23
|
+
const PlusMinusRuleStepSummary = () => {
|
|
24
|
+
const { data } = (0, OnePageAdaptableWizard_1.useOnePageAdaptableWizardContext)();
|
|
25
|
+
const hasCondition = Boolean(data.Rule);
|
|
26
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(OnePageAdaptableWizard_1.SummaryText, { children: ["Nudge Type ", (0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: hasCondition ? 'Conditional' : 'Always Apply' })] }), hasCondition ? (0, jsx_runtime_1.jsx)(PlusMinusRuleSummary, {}) : null] }));
|
|
27
|
+
};
|
|
28
|
+
exports.PlusMinusRuleStepSummary = PlusMinusRuleStepSummary;
|
|
29
|
+
const isRuleValid = (data, api, context) => {
|
|
30
|
+
if (!data.Rule) {
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
if (!data.Rule.BooleanExpression) {
|
|
34
|
+
return 'A valid rule is required.';
|
|
35
|
+
}
|
|
36
|
+
const ruleValidation = (0, Utilities_1.isAdaptableRuleValid)(data, api, context);
|
|
37
|
+
if (typeof ruleValidation === 'string') {
|
|
38
|
+
return ruleValidation;
|
|
39
|
+
}
|
|
40
|
+
return true;
|
|
41
|
+
};
|
|
42
|
+
exports.isRuleValid = isRuleValid;
|
|
17
43
|
function PlusMinusRuleWizardSection(props) {
|
|
18
44
|
const { data, moduleInfo } = (0, OnePageAdaptableWizard_1.useOnePageAdaptableWizardContext)();
|
|
45
|
+
const hasCondition = Boolean(data.Rule);
|
|
46
|
+
const handleNudgeTypeChange = (conditional) => {
|
|
47
|
+
if (conditional) {
|
|
48
|
+
props.onChange({
|
|
49
|
+
...data,
|
|
50
|
+
Rule: data.Rule ?? { BooleanExpression: '' },
|
|
51
|
+
});
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
const preparedData = { ...data };
|
|
55
|
+
delete preparedData.Rule;
|
|
56
|
+
props.onChange(preparedData);
|
|
57
|
+
};
|
|
19
58
|
const plusMinusNudge = {
|
|
20
59
|
...data,
|
|
21
60
|
Rule: data?.Rule ?? { BooleanExpression: '' },
|
|
22
61
|
};
|
|
23
|
-
return ((0, jsx_runtime_1.jsx)(EntityRulesEditor_1.EntityRulesEditor, { module: moduleInfo.ModuleName,
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
onChange: (plusMinus) => props.onChange(plusMinus), descriptions: {
|
|
30
|
-
selectPredicate: null,
|
|
31
|
-
useBooleanQuery: ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Use an BooleanQuery if ", (0, jsx_runtime_1.jsx)("i", { children: "Scope" }), " is 'All Columns' - so any data change may be evaluated in a complex BooleanExpression"] })),
|
|
32
|
-
useObservableQuery: null,
|
|
33
|
-
useAggregationQuery: null,
|
|
34
|
-
} }));
|
|
62
|
+
return ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "column", className: "twa:h-full 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: "Nudge Type" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[520px]", children: "Choose whether the nudge is always applied or only when a condition is met" })] }), (0, jsx_runtime_1.jsx)(Card_1.Card.Body, { children: (0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "column", children: [(0, jsx_runtime_1.jsx)(TypeRadio_1.TypeRadio, { "data-name": "nudge-type-always", text: "Always Apply", description: "The nudge value is always applied when using Plus/Minus", checked: !hasCondition, onClick: () => handleNudgeTypeChange(false) }), (0, jsx_runtime_1.jsx)(TypeRadio_1.TypeRadio, { "data-name": "nudge-type-condition", text: "Conditional", description: "Apply the nudge only when the row matches a rule", checked: hasCondition, onClick: () => handleNudgeTypeChange(true) })] }) })] }), hasCondition ? ((0, jsx_runtime_1.jsxs)(Card_1.Card, { shadow: false, className: "twa:flex-1 twa:min-h-0", children: [(0, jsx_runtime_1.jsxs)(Card_1.Card.Title, { children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:font-medium", children: "Condition" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[520px]", children: "Build a rule that determines when the nudge should be applied" })] }), (0, jsx_runtime_1.jsx)(Card_1.Card.Body, { className: "twa:flex-1 twa:min-h-0", children: (0, jsx_runtime_1.jsx)(EntityRulesEditor_1.EntityRulesEditor, { module: moduleInfo.ModuleName, flexProps: { style: { minHeight: 0 } }, defaultPredicateId: props.defaultPredicateId, predicateDefs: [], showAggregation: false, showObservable: false, showPredicate: false, data: plusMinusNudge, onChange: (plusMinus) => props.onChange(plusMinus), descriptions: {
|
|
63
|
+
selectPredicate: null,
|
|
64
|
+
useBooleanQuery: ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: ["Use an BooleanQuery if ", (0, jsx_runtime_1.jsx)("i", { children: "Scope" }), " is 'All Columns' - so any data change may be evaluated in a complex BooleanExpression"] })),
|
|
65
|
+
useObservableQuery: null,
|
|
66
|
+
useAggregationQuery: null,
|
|
67
|
+
} }) })] })) : null] }));
|
|
35
68
|
}
|
|
@@ -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 PlusMinusScopeWizardSection = (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 Plus/Minus Nudge 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: 'Matching rows will have the plus/minus applied',
|
|
15
|
+
columnScope: 'Selected Columns will have the plus/minus applied',
|
|
16
|
+
}, updateScope: (Scope) => {
|
|
17
|
+
props.onChange({
|
|
18
|
+
...data,
|
|
19
|
+
Scope: Scope,
|
|
20
|
+
});
|
|
21
|
+
} }) })] }));
|
|
29
22
|
};
|
|
30
23
|
exports.PlusMinusScopeWizardSection = PlusMinusScopeWizardSection;
|
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { OnePageAdaptableWizardContextType } from '../../Wizard/OnePageAdaptableWizard';
|
|
3
3
|
import { AdaptableApi, PlusMinusNudge } from '../../../types';
|
|
4
|
-
export declare const PlusMinusSettingsSummary: React.FunctionComponent
|
|
5
|
-
|
|
6
|
-
}>;
|
|
7
|
-
export declare const isSettingsValid: (hasCondition: boolean) => (data: PlusMinusNudge, api: AdaptableApi, context: OnePageAdaptableWizardContextType<PlusMinusNudge>) => string | true;
|
|
4
|
+
export declare const PlusMinusSettingsSummary: React.FunctionComponent;
|
|
5
|
+
export declare const isSettingsValid: (data: PlusMinusNudge, api: AdaptableApi, _context: OnePageAdaptableWizardContextType<PlusMinusNudge>) => true | "A name is required." | "A Plus/Minus Nudge with this name already exists." | "A nudge value is required." | "Nudge value must not be zero." | "Increment and decrement keys cannot be the same for this nudge.";
|
|
8
6
|
interface PlusMinusSettingsWizardSectionProps {
|
|
9
7
|
onChange: (plusMinusNudge: PlusMinusNudge) => void;
|
|
10
|
-
hasCondition: boolean;
|
|
11
|
-
onConditionChange: (hasCondition: boolean) => void;
|
|
12
8
|
}
|
|
13
9
|
export declare const PlusMinusSettingsWizardSection: React.FunctionComponent<PlusMinusSettingsWizardSectionProps>;
|
|
14
10
|
export {};
|
|
@@ -5,25 +5,18 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
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
|
-
const FormLayout_1 = tslib_1.__importStar(require("../../../components/FormLayout"));
|
|
9
|
-
const Tabs_1 = require("../../../components/Tabs");
|
|
10
8
|
const OnePageAdaptableWizard_1 = require("../../Wizard/OnePageAdaptableWizard");
|
|
11
|
-
const PlusMinusRuleWizardSection_1 = require("./PlusMinusRuleWizardSection");
|
|
12
|
-
const Utilities_1 = require("../../Components/EntityRulesEditor/Utilities");
|
|
13
9
|
const Tag_1 = require("../../../components/Tag");
|
|
14
10
|
const Flex_1 = require("../../../components/Flex");
|
|
11
|
+
const Card_1 = require("../../../components/Card");
|
|
15
12
|
const plusMinusTriggerKeys_1 = require("../../../Utilities/Helpers/plusMinusTriggerKeys");
|
|
16
|
-
const
|
|
17
|
-
{ name: 'label', style: { textAlign: 'start' } },
|
|
18
|
-
{ name: 'children' },
|
|
19
|
-
];
|
|
20
|
-
const PlusMinusSettingsSummary = (props) => {
|
|
13
|
+
const PlusMinusSettingsSummary = () => {
|
|
21
14
|
const { data, api } = (0, OnePageAdaptableWizard_1.useOnePageAdaptableWizardContext)();
|
|
22
15
|
const { incrementKey, decrementKey } = (0, plusMinusTriggerKeys_1.resolvePlusMinusTriggerKeysForNudge)(data, api.optionsApi.getEditOptions().plusMinusOptions ?? {});
|
|
23
|
-
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(OnePageAdaptableWizard_1.SummaryText, { children: ["Name ", (0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: data.Name || 'Not specified' })] }), (0, jsx_runtime_1.jsxs)(OnePageAdaptableWizard_1.SummaryText, { children: ["Nudge Value ", (0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: data.NudgeValue ?? 'Not selected' })] }), (0, jsx_runtime_1.jsxs)(OnePageAdaptableWizard_1.SummaryText, { children: ["Keys ", (0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: incrementKey }), " / ", (0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: decrementKey })] })
|
|
16
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(OnePageAdaptableWizard_1.SummaryText, { children: ["Name ", (0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: data.Name || 'Not specified' })] }), (0, jsx_runtime_1.jsxs)(OnePageAdaptableWizard_1.SummaryText, { children: ["Nudge Value ", (0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: data.NudgeValue ?? 'Not selected' })] }), (0, jsx_runtime_1.jsxs)(OnePageAdaptableWizard_1.SummaryText, { children: ["Keys ", (0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: incrementKey }), " / ", (0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: decrementKey })] })] }));
|
|
24
17
|
};
|
|
25
18
|
exports.PlusMinusSettingsSummary = PlusMinusSettingsSummary;
|
|
26
|
-
const isSettingsValid = (
|
|
19
|
+
const isSettingsValid = (data, api, _context) => {
|
|
27
20
|
if (!data.Name?.trim()) {
|
|
28
21
|
return 'A name is required.';
|
|
29
22
|
}
|
|
@@ -32,15 +25,6 @@ const isSettingsValid = (hasCondition) => (data, api, context) => {
|
|
|
32
25
|
if (isDuplicateName) {
|
|
33
26
|
return 'A Plus/Minus Nudge with this name already exists.';
|
|
34
27
|
}
|
|
35
|
-
if (hasCondition) {
|
|
36
|
-
if (!data?.Rule?.BooleanExpression) {
|
|
37
|
-
return 'A valid rule is required.';
|
|
38
|
-
}
|
|
39
|
-
const ruleValidation = (0, Utilities_1.isAdaptableRuleValid)(data, api, context);
|
|
40
|
-
if (typeof ruleValidation === 'string') {
|
|
41
|
-
return ruleValidation;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
28
|
if (typeof data.NudgeValue !== 'number') {
|
|
45
29
|
return 'A nudge value is required.';
|
|
46
30
|
}
|
|
@@ -131,6 +115,6 @@ const PlusMinusSettingsWizardSection = (props) => {
|
|
|
131
115
|
commitDecrementKey(event.target.value);
|
|
132
116
|
setDecrementEdit(undefined);
|
|
133
117
|
};
|
|
134
|
-
return ((0, jsx_runtime_1.
|
|
118
|
+
return ((0, jsx_runtime_1.jsx)(Flex_1.Box, { "data-name": "plus-minus-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 Plus/Minus Nudge" })] }), (0, jsx_runtime_1.jsx)(Card_1.Card.Body, { className: "twa:p-1", children: (0, jsx_runtime_1.jsx)(Input_1.default, { "data-name": "plus-minus-name", className: "twa:max-w-[300px] twa:w-full", onChange: handleNameChange, placeholder: "Enter Name", value: data.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: "Nudge Value" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[520px]", children: "Amount added to or subtracted from the cell value when Plus/Minus is used" })] }), (0, jsx_runtime_1.jsx)(Card_1.Card.Body, { className: "twa:p-1", children: (0, jsx_runtime_1.jsx)(Input_1.default, { "data-name": "nudge-value", className: "twa:max-w-[300px] twa:w-full", onChange: handleNudgeValueChange, placeholder: "Enter Number", type: "number", value: data.NudgeValue ?? '' }) })] }), (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: "Trigger Keys" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[520px]", children: "Keyboard keys that trigger increment and decrement" })] }), (0, jsx_runtime_1.jsx)(Card_1.Card.Body, { className: "twa:p-1", children: (0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "column", className: "twa:gap-3", children: [(0, jsx_runtime_1.jsxs)(Flex_1.Box, { children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-2 twa:mb-1 twa:opacity-80", children: "Increment key" }), (0, jsx_runtime_1.jsx)(Input_1.default, { "data-name": "plus-minus-increment-key", className: "twa:max-w-[300px] twa:w-full", onBlur: handleIncrementKeyBlur, onChange: handleIncrementKeyChange, onFocus: handleIncrementKeyFocus, value: incrementDisplayValue })] }), (0, jsx_runtime_1.jsxs)(Flex_1.Box, { children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-2 twa:mb-1 twa:opacity-80", children: "Decrement key" }), (0, jsx_runtime_1.jsx)(Input_1.default, { "data-name": "plus-minus-decrement-key", className: "twa:max-w-[300px] twa:w-full", onBlur: handleDecrementKeyBlur, onChange: handleDecrementKeyChange, onFocus: handleDecrementKeyFocus, value: decrementDisplayValue })] })] }) })] })] }) }));
|
|
135
119
|
};
|
|
136
120
|
exports.PlusMinusSettingsWizardSection = PlusMinusSettingsWizardSection;
|
|
@@ -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;
|