@adaptabletools/adaptable 22.0.0-canary.9 → 22.0.1-canary.0
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 +1157 -1319
- package/index.css.map +1 -1
- package/index.d.ts +8 -8
- package/index.js +8 -8
- package/package.json +1 -4
- package/src/AdaptableInterfaces/IAdaptable.d.ts +1 -0
- package/src/AdaptableOptions/UserInterfaceOptions.d.ts +2 -2
- package/src/AdaptableState/Common/AdaptableColumn.d.ts +3 -3
- package/src/AdaptableState/Common/AdaptableForm.d.ts +1 -1
- package/src/AdaptableState/Common/AggregationColumns.d.ts +1 -0
- package/src/AdaptableState/Common/AggregationColumns.js +1 -0
- package/src/AdaptableState/Common/DataUpdateConfig.d.ts +15 -5
- package/src/AdaptableState/Common/TransposeConfig.d.ts +4 -9
- package/src/AdaptableState/InitialState.d.ts +1 -1
- package/src/AdaptableState/UserInterfaceState.d.ts +1 -1
- package/src/Api/ColumnApi.d.ts +1 -1
- package/src/Api/GridApi.d.ts +8 -0
- package/src/Api/Implementation/ApiBase.d.ts +1 -1
- package/src/Api/Implementation/ApiBase.js +1 -1
- package/src/Api/Implementation/ColumnApiImpl.d.ts +1 -1
- package/src/Api/Implementation/ColumnApiImpl.js +4 -4
- package/src/Api/Implementation/GridApiImpl.d.ts +2 -0
- package/src/Api/Implementation/GridApiImpl.js +9 -5
- package/src/Api/Implementation/LayoutHelpers.js +1 -1
- package/src/Api/Implementation/RowFormApiImpl.d.ts +1 -0
- package/src/Api/Implementation/RowFormApiImpl.js +13 -0
- package/src/Api/Internal/ActionColumnInternalApi.js +2 -19
- package/src/Api/Internal/ColumnInternalApi.d.ts +1 -1
- package/src/Api/Internal/ColumnInternalApi.js +5 -3
- package/src/Api/Internal/EventInternalApi.js +1 -1
- package/src/Api/Internal/ExportInternalApi.js +1 -1
- package/src/Api/RowFormApi.d.ts +5 -0
- package/src/Redux/Store/AdaptableReduxLocalStorageEngine.js +1 -1
- package/src/Redux/Store/AdaptableReduxMerger.js +5 -6
- package/src/Strategy/CellSummaryModule.d.ts +1 -0
- package/src/Strategy/CellSummaryModule.js +3 -0
- package/src/Strategy/FormatColumnModule.js +2 -2
- package/src/Strategy/LayoutModule.js +23 -19
- package/src/Strategy/PlusMinusModule.d.ts +1 -0
- package/src/Strategy/PlusMinusModule.js +8 -2
- package/src/Strategy/StyledColumnModule.js +14 -6
- package/src/Strategy/TeamSharingModule.js +2 -2
- package/src/Strategy/Utilities/FormatColumn/{getFormatColumnSettingsTargetItems.d.ts → getFormatColumnRowTargetItems.d.ts} +1 -1
- package/src/Strategy/Utilities/FormatColumn/getFormatColumnRowTargetItems.js +22 -0
- package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsViewItems.js +5 -13
- package/src/Utilities/ExpressionFunctions/aggregatedBooleanExpressionFunctions.js +1 -1
- package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +1 -1
- package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.js +1 -1
- package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +1 -1
- package/src/Utilities/Extensions/StringExtensions.js +1 -1
- package/src/Utilities/Helpers/AdaptableHelper.js +2 -2
- package/src/Utilities/Helpers/FormatHelper.js +1 -1
- package/src/Utilities/Hooks/index.d.ts +1 -2
- package/src/Utilities/Hooks/index.js +1 -2
- package/src/Utilities/Services/LicenseService/index.js +1 -1
- package/src/Utilities/Services/RowSummaryService.d.ts +1 -1
- package/src/Utilities/Services/RowSummaryService.js +2 -2
- package/src/Utilities/getScopeViewItems.js +1 -1
- package/src/Utilities/only.d.ts +18 -0
- package/src/Utilities/only.js +40 -0
- package/src/Utilities/utils/chunk.d.ts +6 -0
- package/src/Utilities/utils/chunk.js +17 -0
- package/src/Utilities/utils/clamp.d.ts +5 -0
- package/src/Utilities/utils/clamp.js +7 -0
- package/src/Utilities/utils/cloneDeepWith.d.ts +9 -0
- package/src/Utilities/utils/cloneDeepWith.js +67 -0
- package/src/Utilities/utils/debounce.d.ts +20 -0
- package/src/Utilities/utils/debounce.js +121 -0
- package/src/Utilities/utils/flatten.d.ts +5 -0
- package/src/Utilities/utils/flatten.js +7 -0
- package/src/Utilities/utils/flattenDeep.d.ts +5 -0
- package/src/Utilities/utils/flattenDeep.js +7 -0
- package/src/Utilities/utils/get.d.ts +6 -0
- package/src/Utilities/utils/get.js +35 -0
- package/src/Utilities/utils/index.d.ts +22 -0
- package/src/Utilities/utils/index.js +22 -0
- package/src/Utilities/utils/isArray.d.ts +6 -0
- package/src/Utilities/utils/isArray.js +6 -0
- package/src/Utilities/utils/isEqual.d.ts +5 -0
- package/src/Utilities/utils/isEqual.js +124 -0
- package/src/Utilities/utils/isObject.d.ts +6 -0
- package/src/Utilities/utils/isObject.js +9 -0
- package/src/Utilities/utils/isPlainObject.d.ts +6 -0
- package/src/Utilities/utils/isPlainObject.js +17 -0
- package/src/Utilities/utils/kebabCase.d.ts +5 -0
- package/src/Utilities/utils/kebabCase.js +8 -0
- package/src/Utilities/utils/merge.d.ts +11 -0
- package/src/Utilities/utils/merge.js +40 -0
- package/src/Utilities/utils/mergeWith.d.ts +7 -0
- package/src/Utilities/utils/mergeWith.js +46 -0
- package/src/Utilities/utils/orderBy.d.ts +8 -0
- package/src/Utilities/utils/orderBy.js +30 -0
- package/src/Utilities/utils/parseInt.d.ts +6 -0
- package/src/Utilities/utils/parseInt.js +9 -0
- package/src/Utilities/utils/sentenceCase.d.ts +6 -0
- package/src/Utilities/utils/sentenceCase.js +15 -0
- package/src/Utilities/utils/startCase.d.ts +5 -0
- package/src/Utilities/utils/startCase.js +11 -0
- package/src/Utilities/utils/throttle.d.ts +17 -0
- package/src/Utilities/utils/throttle.js +19 -0
- package/src/Utilities/utils/toNumber.d.ts +5 -0
- package/src/Utilities/utils/toNumber.js +39 -0
- package/src/Utilities/utils/uniq.d.ts +7 -0
- package/src/Utilities/utils/uniq.js +9 -0
- package/src/Utilities/utils/uniqBy.d.ts +8 -0
- package/src/Utilities/utils/uniqBy.js +22 -0
- package/src/Utilities/utils/words.d.ts +7 -0
- package/src/Utilities/utils/words.js +10 -0
- package/src/Utilities/weightedAverage.d.ts +11 -0
- package/src/Utilities/weightedAverage.js +60 -46
- package/src/View/AdaptableComputedCSSVarsContext.js +1 -1
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ColumnsList.js +1 -1
- package/src/View/Alert/Wizard/AlertButtonsEditor.js +1 -1
- package/src/View/Charting/ChartingWizard/AgChargingWizard/PreviewChartSection.js +1 -1
- package/src/View/Components/ColumnFilter/components/ColumnFilterInput.js +1 -1
- package/src/View/Components/ColumnFilter/components/ColumnFilterInputList.js +1 -1
- package/src/View/Components/ColumnFilter/components/FloatingFilterInputList.js +1 -1
- package/src/View/Components/RangesComponent.js +1 -1
- package/src/View/Components/Selectors/PermittedValuesSelector.js +1 -1
- package/src/View/Components/ToolPanel/AdaptableToolPanel.js +1 -1
- package/src/View/Components/ToolPanel/CustomToolPanelContent.js +1 -1
- package/src/View/Components/ValueSelector/index.js +7 -2
- package/src/View/Dashboard/CustomDashboardButton.js +1 -1
- package/src/View/Dashboard/Dashboard.js +1 -1
- package/src/View/Dashboard/DashboardPopup.js +4 -3
- package/src/View/DataImport/DataImportWizard/sections/DataPreview.js +1 -1
- package/src/View/DataSet/DataSetViewPanel.d.ts +1 -1
- package/src/View/Export/Wizard/NewReportWizard.js +8 -8
- package/src/View/Filter/FilterViewPanel.d.ts +1 -1
- package/src/View/FlashingCell/Wizard/FlashingCellSettingsWizardSection.js +19 -10
- package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +1 -1
- package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +2 -2
- package/src/View/FormatColumn/Wizard/FormatColumnRowScopeWizardSection.d.ts +8 -0
- package/src/View/FormatColumn/Wizard/FormatColumnRowScopeWizardSection.js +80 -0
- package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +22 -61
- package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +22 -8
- package/src/View/GridFilter/GridFilterViewPanel.js +3 -3
- package/src/View/Layout/LayoutViewPanel.js +1 -1
- package/src/View/Layout/TransposedPopup.js +0 -1
- package/src/View/Layout/Wizard/sections/ColumnsSection.js +1 -1
- package/src/View/Note/NoteEditor.js +1 -1
- package/src/View/QuickSearch/useQuickSearchDebounced.js +1 -1
- package/src/View/SpecialColumnSettingsWizardStep.js +1 -1
- package/src/View/StyledColumn/Wizard/StyledColumnBadgeRowsSection.d.ts +8 -0
- package/src/View/StyledColumn/Wizard/{StyledColumnWizardSettingsSection.js → StyledColumnBadgeRowsSection.js} +19 -19
- package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +10 -11
- package/src/View/SystemStatus/SystemStatusViewPanel.d.ts +1 -1
- package/src/View/Theme/ThemeEditor.js +1 -1
- package/src/View/Theme/ThemeField.js +1 -1
- package/src/View/Wizard/OnePageAdaptableWizard.js +1 -1
- package/src/View/Wizard/OnePageWizards.js +1 -1
- package/src/agGrid/AdaptableAgGrid.d.ts +1 -0
- package/src/agGrid/AdaptableAgGrid.js +29 -7
- package/src/agGrid/AgGridAdapter.js +4 -4
- package/src/agGrid/AgGridColumnAdapter.js +11 -4
- package/src/agGrid/AgGridExportAdapter.d.ts +2 -2
- package/src/agGrid/AgGridExportAdapter.js +7 -6
- package/src/agGrid/cellRenderers/PercentBarRenderer.js +17 -5
- package/src/components/ColorPicker/ColorPicker.js +1 -1
- package/src/components/DropdownButton/renderItem.js +1 -1
- package/src/components/ExpressionEditor/QueryBuilder/QueryBuilderInputs.js +1 -1
- package/src/components/FormLayout/index.js +1 -1
- package/src/components/OverlayTrigger/index.js +1 -1
- package/src/components/Select/Select.js +4 -0
- package/src/env.js +2 -2
- package/src/layout-manager/src/isLayoutEqual.js +1 -1
- package/src/metamodel/adaptable.metamodel.d.ts +12 -1
- package/src/metamodel/adaptable.metamodel.js +1 -1
- package/src/migration/VersionUpgrade22.js +9 -0
- package/themes/dark.css +2 -3
- package/themes/light.css +1 -1
- package/tsconfig.esm.tsbuildinfo +1 -1
- package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsTargetItems.js +0 -12
- package/src/Utilities/Hooks/useAdaptableState.d.ts +0 -3
- package/src/Utilities/Hooks/useAdaptableState.js +0 -39
- package/src/View/FormatColumn/Wizard/FormatColumnTargetWizardSection.d.ts +0 -8
- package/src/View/FormatColumn/Wizard/FormatColumnTargetWizardSection.js +0 -31
- package/src/View/StyledColumn/Wizard/StyledColumnWizardSettingsSection.d.ts +0 -8
- /package/src/View/FormatColumn/Wizard/{FormatColumnScopeWizardSection.d.ts → FormatColumnColumnScopeWizardSection.d.ts} +0 -0
- /package/src/View/FormatColumn/Wizard/{FormatColumnScopeWizardSection.js → FormatColumnColumnScopeWizardSection.js} +0 -0
package/src/Api/GridApi.d.ts
CHANGED
|
@@ -537,6 +537,10 @@ export interface GridApi {
|
|
|
537
537
|
* @param rowNodes AG Grid rows
|
|
538
538
|
*/
|
|
539
539
|
refreshRowNodes(rowNodes?: IRowNode[]): void;
|
|
540
|
+
/**
|
|
541
|
+
* Forces a re-render of the Grid Header
|
|
542
|
+
*/
|
|
543
|
+
refreshGridHeader(): void;
|
|
540
544
|
/**
|
|
541
545
|
* Forces a re-render of all Group Rows (including aggregations)
|
|
542
546
|
*/
|
|
@@ -596,6 +600,10 @@ export interface GridApi {
|
|
|
596
600
|
* Opens a window with a transposed view of Grid
|
|
597
601
|
*/
|
|
598
602
|
showTransposedView(transposeConfig?: TransposeConfig): void;
|
|
603
|
+
/**
|
|
604
|
+
* Closes the transposed view of the Grid (if open)
|
|
605
|
+
*/
|
|
606
|
+
closeTransposedView(): void;
|
|
599
607
|
/**
|
|
600
608
|
* Return all AG Grid columns
|
|
601
609
|
*/
|
|
@@ -19,7 +19,7 @@ export declare abstract class ApiBase {
|
|
|
19
19
|
protected _adaptable: IAdaptable;
|
|
20
20
|
/**
|
|
21
21
|
* Constructor for all the api classes which simply takes and assigns an instance of Adaptable
|
|
22
|
-
* @param _adaptable
|
|
22
|
+
* @param _adaptable core IAdaptable object - for INTERNAL USE ONLY and not part of public API
|
|
23
23
|
*/
|
|
24
24
|
constructor(_adaptable: IAdaptable);
|
|
25
25
|
protected getAdatableLogger(): AdaptableLogger;
|
|
@@ -5,7 +5,7 @@ export class ApiBase {
|
|
|
5
5
|
_adaptable;
|
|
6
6
|
/**
|
|
7
7
|
* Constructor for all the api classes which simply takes and assigns an instance of Adaptable
|
|
8
|
-
* @param _adaptable
|
|
8
|
+
* @param _adaptable core IAdaptable object - for INTERNAL USE ONLY and not part of public API
|
|
9
9
|
*/
|
|
10
10
|
constructor(_adaptable) {
|
|
11
11
|
this._adaptable = _adaptable;
|
|
@@ -78,7 +78,7 @@ export declare class ColumnApiImpl extends ApiBase implements ColumnApi {
|
|
|
78
78
|
getAggregatableColumns(): AdaptableColumn[];
|
|
79
79
|
getQueryableColumns(): AdaptableColumn[];
|
|
80
80
|
getExportableColumns(): AdaptableColumn[];
|
|
81
|
-
|
|
81
|
+
getUIHiddenColumns(): AdaptableColumn[];
|
|
82
82
|
private logMissingColumnWarning;
|
|
83
83
|
getPrimaryKeyColumn(): AdaptableColumn<any>;
|
|
84
84
|
getDefaultAggFunc(columnId: string): string;
|
|
@@ -15,7 +15,7 @@ const ROW_GROUP_COLUMN_DEFAULTS = {
|
|
|
15
15
|
readOnly: false,
|
|
16
16
|
resizable: true,
|
|
17
17
|
visible: true,
|
|
18
|
-
|
|
18
|
+
isUIHiddenColumn: false,
|
|
19
19
|
fieldOnly: false,
|
|
20
20
|
queryable: false,
|
|
21
21
|
sortable: false,
|
|
@@ -118,7 +118,7 @@ export class ColumnApiImpl extends ApiBase {
|
|
|
118
118
|
return this.getGridApi().getInternalState().Columns ?? [];
|
|
119
119
|
}
|
|
120
120
|
getUIAvailableColumns() {
|
|
121
|
-
return this.getColumns().filter((c) => !c.
|
|
121
|
+
return this.getColumns().filter((c) => !c.isUIHiddenColumn &&
|
|
122
122
|
!c.isGeneratedSelectionColumn &&
|
|
123
123
|
// currently (20.0.7) we don't display Pivot Totals in UI
|
|
124
124
|
!c.isPivotTotalColumn);
|
|
@@ -467,8 +467,8 @@ export class ColumnApiImpl extends ApiBase {
|
|
|
467
467
|
getExportableColumns() {
|
|
468
468
|
return this.getColumns().filter((c) => c.exportable);
|
|
469
469
|
}
|
|
470
|
-
|
|
471
|
-
return this.getColumns().filter((c) => c.
|
|
470
|
+
getUIHiddenColumns() {
|
|
471
|
+
return this.getColumns().filter((c) => c.isUIHiddenColumn);
|
|
472
472
|
}
|
|
473
473
|
logMissingColumnWarning(columnId) {
|
|
474
474
|
if (this.getColumnOptions().showMissingColumnsWarning === true) {
|
|
@@ -138,6 +138,7 @@ export declare class GridApiImpl extends ApiBase implements GridApi {
|
|
|
138
138
|
refreshRowNode(rowNode: IRowNode): void;
|
|
139
139
|
refreshRowNodes(rowNodes?: IRowNode[]): void;
|
|
140
140
|
refreshGroupRowNodes(): void;
|
|
141
|
+
refreshGridHeader(): void;
|
|
141
142
|
isCellEditable(gridCell: GridCell): boolean;
|
|
142
143
|
isCellEdited(gridCell: GridCell): boolean;
|
|
143
144
|
isEveryCellEditable(gridCells: GridCell[]): boolean;
|
|
@@ -152,6 +153,7 @@ export declare class GridApiImpl extends ApiBase implements GridApi {
|
|
|
152
153
|
openGridInfoSettingsPanel(): void;
|
|
153
154
|
getAgGridRowModelType(): RowModelType;
|
|
154
155
|
showTransposedView(transposeConfig?: TransposeConfig): void;
|
|
156
|
+
closeTransposedView(): void;
|
|
155
157
|
getAllAgGridColumns(): Column<any>[];
|
|
156
158
|
updateAgGridColumnState(columnState: ColumnState): void;
|
|
157
159
|
updateAgGridColumnStates(columnStates: ColumnState[]): void;
|
|
@@ -98,15 +98,15 @@ export class GridApiImpl extends ApiBase {
|
|
|
98
98
|
async manageGridData(dataRowConfig, dataUpdateConfig) {
|
|
99
99
|
const transactionResult = await this._adaptable.manageGridRows(dataRowConfig, dataUpdateConfig);
|
|
100
100
|
if (Array.isArray(transactionResult.removedRows) && transactionResult.removedRows.length) {
|
|
101
|
-
const rowDataChangedInfo = this.getAdaptableInternalApi().buildRowDataChangedInfo(dataRowConfig.
|
|
101
|
+
const rowDataChangedInfo = this.getAdaptableInternalApi().buildRowDataChangedInfo(dataRowConfig.deleteRows, transactionResult.removedRows, 'Delete');
|
|
102
102
|
this.getAdaptableInternalApi().getDataService().CreateRowDataChangedEvent(rowDataChangedInfo);
|
|
103
103
|
}
|
|
104
104
|
if (Array.isArray(transactionResult.updatedRows) && transactionResult.updatedRows.length) {
|
|
105
|
-
const rowDataChangedInfo = this.getAdaptableInternalApi().buildRowDataChangedInfo(dataRowConfig.
|
|
105
|
+
const rowDataChangedInfo = this.getAdaptableInternalApi().buildRowDataChangedInfo(dataRowConfig.updateRows, transactionResult.updatedRows, 'Update');
|
|
106
106
|
this.getAdaptableInternalApi().getDataService().CreateRowDataChangedEvent(rowDataChangedInfo);
|
|
107
107
|
}
|
|
108
108
|
if (Array.isArray(transactionResult.addedRows) && transactionResult.addedRows.length) {
|
|
109
|
-
const rowDataChangedInfo = this.getAdaptableInternalApi().buildRowDataChangedInfo(dataRowConfig.
|
|
109
|
+
const rowDataChangedInfo = this.getAdaptableInternalApi().buildRowDataChangedInfo(dataRowConfig.addRows, transactionResult.addedRows, 'Add');
|
|
110
110
|
this.getAdaptableInternalApi().getDataService().CreateRowDataChangedEvent(rowDataChangedInfo);
|
|
111
111
|
}
|
|
112
112
|
return transactionResult;
|
|
@@ -547,6 +547,9 @@ export class GridApiImpl extends ApiBase {
|
|
|
547
547
|
this.getAgGridApi().refreshClientSideRowModel('group');
|
|
548
548
|
this._adaptable.updateRowGroupsAndColumnGroupsExpandedState();
|
|
549
549
|
}
|
|
550
|
+
refreshGridHeader() {
|
|
551
|
+
this._adaptable.refreshGridHeader();
|
|
552
|
+
}
|
|
550
553
|
isCellEditable(gridCell) {
|
|
551
554
|
// If not Grid Cell or Column then return false - GridCell.column may be undefined for cells from synthetic columns created by AG Grid (ex. autoGroup columns)
|
|
552
555
|
if (!gridCell || !gridCell.column || !gridCell.rowNode) {
|
|
@@ -607,7 +610,6 @@ export class GridApiImpl extends ApiBase {
|
|
|
607
610
|
showTransposedView(transposeConfig = {}) {
|
|
608
611
|
const transposedColumnId = transposeConfig.transposedColumnId ?? this.getOptionsApi().getPrimaryKey();
|
|
609
612
|
const hideTransposedColumn = transposeConfig.hideTransposedColumn ?? true;
|
|
610
|
-
const autosize = transposeConfig.autosize ?? true;
|
|
611
613
|
const columnsToTranspose = transposeConfig.columnsToTranspose;
|
|
612
614
|
const rowsToTranspose = transposeConfig.rowsToTranspose;
|
|
613
615
|
this.getAdaptableInternalApi().showPopupWindow({
|
|
@@ -618,12 +620,14 @@ export class GridApiImpl extends ApiBase {
|
|
|
618
620
|
popupProps: {
|
|
619
621
|
transposedColumnId,
|
|
620
622
|
hideTransposedColumn,
|
|
621
|
-
autosize,
|
|
622
623
|
columnsToTranspose,
|
|
623
624
|
rowsToTranspose,
|
|
624
625
|
},
|
|
625
626
|
});
|
|
626
627
|
}
|
|
628
|
+
closeTransposedView() {
|
|
629
|
+
this.getUserInterfaceApi().closeCustomWindowPopup('WINDOW_SHOW_TRANSPOSED_VIEW');
|
|
630
|
+
}
|
|
627
631
|
getAllAgGridColumns() {
|
|
628
632
|
return this._adaptable.getAllGridColumns();
|
|
629
633
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import isEqual from '
|
|
1
|
+
import isEqual from '../../Utilities/utils/isEqual';
|
|
2
2
|
import { isPivotLayoutModel } from '../../layout-manager/src/isPivotLayoutModel';
|
|
3
3
|
import { normalizeTableLayoutModel, normalizePivotLayoutModel, } from '../../layout-manager/src/normalizeLayoutModel';
|
|
4
4
|
import { simplifyTableLayoutModel, simplifyPivotLayoutModel, } from '../../layout-manager/src/simplifyLayoutModel';
|
|
@@ -44,4 +44,17 @@ export class RowFormApiImpl extends ApiBase {
|
|
|
44
44
|
},
|
|
45
45
|
}));
|
|
46
46
|
}
|
|
47
|
+
displayDeleteRowForm(primaryKey) {
|
|
48
|
+
const rowNode = this.getGridApi().getRowNodeForPrimaryKey(primaryKey);
|
|
49
|
+
if (!rowNode) {
|
|
50
|
+
this.logWarn(`Can NOT delete row: rowNode not found for primaryKey ${primaryKey}`);
|
|
51
|
+
}
|
|
52
|
+
const eventInfo = {
|
|
53
|
+
type: 'rowDeleted',
|
|
54
|
+
rowNode: rowNode,
|
|
55
|
+
...this.getAdaptableInternalApi().buildBaseContext(),
|
|
56
|
+
};
|
|
57
|
+
this.getEventApi().internalApi.fireRowFormSubmittedEvent(eventInfo);
|
|
58
|
+
this.getRowFormOptions().onRowFormSubmit?.(eventInfo);
|
|
59
|
+
}
|
|
47
60
|
}
|
|
@@ -109,27 +109,10 @@ export class ActionColumnInternalApi extends ApiBase {
|
|
|
109
109
|
break;
|
|
110
110
|
case 'delete':
|
|
111
111
|
button.onClick = (button, context) => {
|
|
112
|
-
|
|
113
|
-
type: 'rowDeleted',
|
|
114
|
-
rowNode: context.rowNode,
|
|
115
|
-
...this.getAdaptableInternalApi().buildBaseContext(),
|
|
116
|
-
};
|
|
117
|
-
this.getEventApi().internalApi.fireRowFormSubmittedEvent(eventInfo);
|
|
118
|
-
this.getRowFormOptions().onRowFormSubmit?.(eventInfo);
|
|
112
|
+
this.getRowFormApi().displayDeleteRowForm(context.primaryKeyValue);
|
|
119
113
|
};
|
|
120
114
|
button.tooltip = button.tooltip ? button.tooltip : 'Delete Row';
|
|
121
|
-
button.icon = button.icon ?? {
|
|
122
|
-
name: 'delete',
|
|
123
|
-
};
|
|
124
|
-
break;
|
|
125
|
-
case 'edit':
|
|
126
|
-
button.onClick = (button, context) => {
|
|
127
|
-
this.getRowFormApi().displayEditRowForm(context.primaryKeyValue);
|
|
128
|
-
};
|
|
129
|
-
button.tooltip = button.tooltip ? button.tooltip : 'Edit Row';
|
|
130
|
-
button.icon = button.icon ?? {
|
|
131
|
-
name: 'edit',
|
|
132
|
-
};
|
|
115
|
+
button.icon = button.icon ?? { name: 'delete' };
|
|
133
116
|
break;
|
|
134
117
|
}
|
|
135
118
|
}
|
|
@@ -32,6 +32,6 @@ export declare class ColumnInternalApi extends ApiBase {
|
|
|
32
32
|
private buildColumnHeaderContext;
|
|
33
33
|
hasArrayDataType(column: AdaptableColumn): boolean;
|
|
34
34
|
getQueryableColumnsForUIEditor(): AdaptableColumn[];
|
|
35
|
-
|
|
35
|
+
isColumnUIHidden(columnIdentifier: string | ColDef): boolean;
|
|
36
36
|
getColumnDateTypes(): AdaptableColumnDataType[];
|
|
37
37
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ApiBase } from '../Implementation/ApiBase';
|
|
2
2
|
import { AG_GRID_GROUPED_COLUMN } from '../../Utilities/Constants/GeneralConstants';
|
|
3
|
-
import uniq from '
|
|
3
|
+
import uniq from '../../Utilities/utils/uniq';
|
|
4
4
|
import StringExtensions from '../../Utilities/Extensions/StringExtensions';
|
|
5
5
|
import { isPivotGrandTotal, isPivotResultColumn } from '../Implementation/ColumnApiImpl';
|
|
6
6
|
import { destructurePivotColumnId } from '../../layout-manager/src/destructurePivotColumnId';
|
|
@@ -277,9 +277,11 @@ export class ColumnInternalApi extends ApiBase {
|
|
|
277
277
|
getQueryableColumnsForUIEditor() {
|
|
278
278
|
return this.getColumnApi()
|
|
279
279
|
.getQueryableColumns()
|
|
280
|
-
.filter((column) => !column.isGeneratedPivotResultColumn &&
|
|
280
|
+
.filter((column) => !column.isGeneratedPivotResultColumn &&
|
|
281
|
+
!column.isGeneratedRowGroupColumn &&
|
|
282
|
+
!column.isGeneratedSelectionColumn);
|
|
281
283
|
}
|
|
282
|
-
|
|
284
|
+
isColumnUIHidden(columnIdentifier) {
|
|
283
285
|
return this.getColumnApi().hasColumnType(columnIdentifier, HIDDEN_COLUMN_TYPE);
|
|
284
286
|
}
|
|
285
287
|
getColumnDateTypes() {
|
|
@@ -41,7 +41,7 @@ export class ExportInternalApi extends ApiBase {
|
|
|
41
41
|
}
|
|
42
42
|
break;
|
|
43
43
|
case 'VisibleColumns':
|
|
44
|
-
// hope that
|
|
44
|
+
// hope that visible column property is updated whenever the layout changes... (need to check!)
|
|
45
45
|
if (!cellDataChangedInfo.column.visible) {
|
|
46
46
|
return false;
|
|
47
47
|
}
|
package/src/Api/RowFormApi.d.ts
CHANGED
|
@@ -16,4 +16,9 @@ export interface RowFormApi {
|
|
|
16
16
|
* @param primaryKey - Primary Key of the duplicated row
|
|
17
17
|
*/
|
|
18
18
|
displayCloneRowForm(primaryKey?: any): void;
|
|
19
|
+
/**
|
|
20
|
+
* Deletes row from grid (with event fired) - note: no visible Row Form is displayed
|
|
21
|
+
* @param primaryKey - Primary Key of the deleted row
|
|
22
|
+
*/
|
|
23
|
+
displayDeleteRowForm(primaryKey?: any): void;
|
|
19
24
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import debounce from '
|
|
1
|
+
import debounce from '../../Utilities/utils/debounce';
|
|
2
2
|
import { MergeStateFunction } from './AdaptableReduxMerger';
|
|
3
3
|
import { AdaptableLogger } from '../../agGrid/AdaptableLogger';
|
|
4
4
|
import { buildAdaptableStateFunctionConfig } from './buildAdaptableStateFunctionConfig';
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import mergeWith from '
|
|
2
|
-
import merge from '
|
|
3
|
-
import isArray from '
|
|
4
|
-
import
|
|
5
|
-
import isObject from 'lodash/isObject';
|
|
1
|
+
import mergeWith from '../../Utilities/utils/mergeWith';
|
|
2
|
+
import merge from '../../Utilities/utils/merge';
|
|
3
|
+
import isArray from '../../Utilities/utils/isArray';
|
|
4
|
+
import isObject from '../../Utilities/utils/isObject';
|
|
6
5
|
import { AdaptableLogger } from '../../agGrid/AdaptableLogger';
|
|
7
6
|
import AdaptableHelper from '../../Utilities/Helpers/AdaptableHelper';
|
|
8
7
|
function customizer(objValue, srcValue) {
|
|
@@ -112,7 +111,7 @@ export function MergeStateFunction(oldState, newState) {
|
|
|
112
111
|
}
|
|
113
112
|
// main merge function
|
|
114
113
|
export function MergeState(oldState, newState) {
|
|
115
|
-
const result =
|
|
114
|
+
const result = Object.assign({}, oldState);
|
|
116
115
|
for (const key in newState) {
|
|
117
116
|
if (!newState.hasOwnProperty(key)) {
|
|
118
117
|
continue;
|
|
@@ -18,6 +18,7 @@ export type WeightedAverageConfig = {
|
|
|
18
18
|
export declare class CellSummaryModule extends AdaptableModuleBase implements ICellSummaryModule {
|
|
19
19
|
cachedCellSummary: WeakMap<SelectedCellInfo<any>, CellSummmaryInfo>;
|
|
20
20
|
constructor(api: AdaptableApi);
|
|
21
|
+
isModuleAvailable(): boolean;
|
|
21
22
|
getViewAccessLevel(): AccessLevel;
|
|
22
23
|
createColumnMenuItems(column: AdaptableColumn): import("../Utilities/MenuItem").MenuItemShowPopup<"separator" | "calculated-column-edit" | "cell-summary-show" | "chart-show" | "column-group" | "column-filter-group" | "column-filter-bar-hide" | "column-filter-bar-show" | "column-filter-clear" | "column-filter-suspend" | "column-filter-unsuspend" | "column-info-show" | "custom-sort-add" | "custom-sort-edit" | "dashboard-group" | "dashboard-collapse" | "dashboard-configure" | "dashboard-dock" | "dashboard-expand" | "dashboard-float" | "dashboard-hide" | "dashboard-show" | "data-import" | "flashing-cell-add" | "flashing-cell-delete" | "format-column-add" | "format-column-edit" | "free-text-column-edit" | "grid-group" | "grid-info-show" | "layout-column-caption-change" | "layout-column-hide" | "layout-edit" | "layout-column-select" | "layout-column-select-preserve" | "layout-column-select-reset" | "layout-grid-select" | "plus-minus-add" | "settings-panel-open" | "styling-group" | "styled-column-badge-add" | "styled-column-badge-edit" | "styled-column-gradient-add" | "styled-column-gradient-edit" | "styled-column-percent-bar-add" | "styled-column-percent-bar-edit" | "styled-column-sparkline-add" | "styled-column-sparkline-edit" | "system-status-show" | "_navbar">[];
|
|
23
24
|
createContextMenuItems(menuContext: ContextMenuContext): import("../Utilities/MenuItem").MenuItemShowPopup<"calculated-column-edit" | "cell-summary-show" | "column-group" | "column-filter-group" | "column-filter-clear" | "column-filter-suspend" | "column-filter-unsuspend" | "column-info-show" | "dashboard-group" | "dashboard-collapse" | "dashboard-configure" | "dashboard-dock" | "dashboard-expand" | "dashboard-float" | "dashboard-hide" | "dashboard-show" | "data-import" | "grid-group" | "grid-info-show" | "layout-edit" | "settings-panel-open" | "system-status-show" | "menu-group" | "alert-clear" | "bulk-update-apply" | "column-filter-on-cell-value" | "comment-add" | "comment-remove" | "edit-group" | "export-group" | "export-all-data" | "export-all-data-excel-download" | "export-all-data-visualexcel-download" | "export-all-data-csv" | "export-all-data-csv-download" | "export-all-data-csv-clipboard" | "export-all-data-json" | "export-all-data-json-download" | "export-all-data-json-clipboard" | "export-current-layout" | "export-current-layout-excel-download" | "export-current-layout-visualexcel-download" | "export-current-layout-csv" | "export-current-layout-csv-download" | "export-current-layout-csv-clipboard" | "export-current-layout-json" | "export-current-layout-json-download" | "export-current-layout-json-clipboard" | "export-selected-data" | "export-selected-data-excel-download" | "export-selected-data-visualexcel-download" | "export-selected-data-csv" | "export-selected-data-csv-download" | "export-selected-data-csv-clipboard" | "export-selected-data-json" | "export-selected-data-json-download" | "export-selected-data-json-clipboard" | "fdc3-broadcast" | "fdc3-raise-intent" | "flashing-cell-clear" | "flashing-row-clear" | "layout-aggregated-view" | "layout-auto-size" | "layout-clear-selection" | "layout-select-all" | "note-add" | "note-remove" | "smart-edit-apply">[];
|
|
@@ -12,6 +12,9 @@ export class CellSummaryModule extends AdaptableModuleBase {
|
|
|
12
12
|
constructor(api) {
|
|
13
13
|
super(ModuleConstants.CellSummaryModuleId, ModuleConstants.CellSummaryFriendlyName, 'cells', 'CellSummaryPopup', 'See summary information on a group of numeric cells using multiple summary operations', api);
|
|
14
14
|
}
|
|
15
|
+
isModuleAvailable() {
|
|
16
|
+
return super.isModuleAvailable() && this.api.gridApi.isGridRangeSelectable();
|
|
17
|
+
}
|
|
15
18
|
getViewAccessLevel() {
|
|
16
19
|
return 'Full';
|
|
17
20
|
}
|
|
@@ -9,7 +9,7 @@ import { MoveFormatColumn } from '../View/FormatColumn/MoveFormatColumn';
|
|
|
9
9
|
import { getObjectTagsViewItems } from '../Utilities/getObjectTagsViewItems';
|
|
10
10
|
import { getRuleViewItems } from '../Utilities/getRuleViewItems';
|
|
11
11
|
import { getScopeViewItems } from '../Utilities/getScopeViewItems';
|
|
12
|
-
import {
|
|
12
|
+
import { getFormatColumnRowTargetItems } from './Utilities/FormatColumn/getFormatColumnRowTargetItems';
|
|
13
13
|
import { renderFormatColumnStyleSummary } from '../View/FormatColumn/Wizard/FormatColumnStyleWizardSection';
|
|
14
14
|
export class FormatColumnModule extends AdaptableModuleBase {
|
|
15
15
|
constructor(api) {
|
|
@@ -87,7 +87,7 @@ export class FormatColumnModule extends AdaptableModuleBase {
|
|
|
87
87
|
values: [formatColumn.Name],
|
|
88
88
|
},
|
|
89
89
|
getScopeViewItems(formatColumn.Scope, this.api),
|
|
90
|
-
|
|
90
|
+
getFormatColumnRowTargetItems(formatColumn),
|
|
91
91
|
formatColumn.Rule && getRuleViewItems(formatColumn.Rule, this.api),
|
|
92
92
|
{
|
|
93
93
|
name: 'Style',
|
|
@@ -11,7 +11,7 @@ import { getLayoutFilterViewItems } from './Utilities/Layout/getLayoutFilterView
|
|
|
11
11
|
import { getLayoutSortViewItems } from './Utilities/Layout/getLayoutSortViewItems';
|
|
12
12
|
import { WEIGHTED_AVERAGE_AGG_FN_NAME } from '../AdaptableState/Common/AggregationColumns';
|
|
13
13
|
import { SHOW_PIVOT_COLUMN_DETAILS } from '../View/Components/Popups/WindowPopups/windowFactory';
|
|
14
|
-
import flattenDeep from '
|
|
14
|
+
import flattenDeep from '../Utilities/utils/flattenDeep';
|
|
15
15
|
import StringExtensions from '../Utilities/Extensions/StringExtensions';
|
|
16
16
|
import { getGridFilterViewItems } from '../View/Layout/Wizard/getGridFilterPreview';
|
|
17
17
|
import { RowSummaryService } from '../Utilities/Services/RowSummaryService';
|
|
@@ -143,24 +143,26 @@ export class LayoutModule extends AdaptableModuleBase {
|
|
|
143
143
|
this.api.columnApi.hideColumn(column.columnId);
|
|
144
144
|
}));
|
|
145
145
|
}
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
this.
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
this.
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
this.
|
|
146
|
+
if (this.api.gridApi.isGridRangeSelectable()) {
|
|
147
|
+
const hasExistingSelection = this.api.gridApi.getSelectedCellInfo()?.gridCells?.length;
|
|
148
|
+
if (hasExistingSelection) {
|
|
149
|
+
returnColumnMenuItems.push(this.createMenuItemClickFunction('layout-column-select-preserve', 'Select Column (Preserve Selection)', 'select-fwd', () => {
|
|
150
|
+
this.api.columnApi.addColumnToSelection(column.columnId);
|
|
151
|
+
}));
|
|
152
|
+
returnColumnMenuItems.push(this.createMenuItemClickFunction('layout-column-select-reset', 'Select Column (Reset Selection)', 'tab-unselected', () => {
|
|
153
|
+
this.api.columnApi.selectColumn(column.columnId);
|
|
154
|
+
}));
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
returnColumnMenuItems.push(this.createMenuItemClickFunction('layout-column-select', 'Select Column', 'tab-unselected', () => {
|
|
158
|
+
this.api.columnApi.selectColumn(column.columnId);
|
|
159
|
+
}));
|
|
160
|
+
}
|
|
161
|
+
returnColumnMenuItems.push(this.createMenuItemClickFunction('layout-grid-select', 'Select Grid', 'select-all', () => {
|
|
162
|
+
this.api.gridApi.selectAll();
|
|
158
163
|
}));
|
|
159
164
|
}
|
|
160
165
|
}
|
|
161
|
-
returnColumnMenuItems.push(this.createMenuItemClickFunction('layout-grid-select', 'Select Grid', 'select-all', () => {
|
|
162
|
-
this.api.gridApi.selectAll();
|
|
163
|
-
}));
|
|
164
166
|
return returnColumnMenuItems;
|
|
165
167
|
}
|
|
166
168
|
createContextMenuItems(menuContext) {
|
|
@@ -179,9 +181,11 @@ export class LayoutModule extends AdaptableModuleBase {
|
|
|
179
181
|
this.api.gridApi.deselectAll();
|
|
180
182
|
}));
|
|
181
183
|
}
|
|
182
|
-
|
|
183
|
-
this.
|
|
184
|
-
|
|
184
|
+
if (this.api.gridApi.isGridRangeSelectable()) {
|
|
185
|
+
returnColumnMenuItems.push(this.createMenuItemClickFunction('layout-select-all', 'Select Grid', 'select-all', () => {
|
|
186
|
+
this.api.gridApi.selectAll();
|
|
187
|
+
}));
|
|
188
|
+
}
|
|
185
189
|
returnColumnMenuItems.push(this.createMenuItemClickFunction('layout-auto-size', 'Auto Size', 'arrow-expand', () => {
|
|
186
190
|
this.api.columnApi.autosizeAllColumns();
|
|
187
191
|
}));
|
|
@@ -12,6 +12,7 @@ export declare class PlusMinusModule extends AdaptableModuleBase implements IPlu
|
|
|
12
12
|
private shouldHandleKeyDown;
|
|
13
13
|
private adaptable;
|
|
14
14
|
constructor(api: AdaptableApi);
|
|
15
|
+
isModuleAvailable(): boolean;
|
|
15
16
|
getModuleAdaptableObjects(config?: LayoutExtendedConfig): AdaptableObject[];
|
|
16
17
|
getExplicitlyReferencedColumnIds(plusMinusNudge: PlusMinusNudge): string[];
|
|
17
18
|
getReferencedNamedQueryNames(plusMinusNudge: PlusMinusNudge): string[];
|
|
@@ -18,6 +18,9 @@ export class PlusMinusModule extends AdaptableModuleBase {
|
|
|
18
18
|
this.shouldHandleKeyDown = false;
|
|
19
19
|
this.adaptable = api.internalApi.getAdaptableInstance();
|
|
20
20
|
}
|
|
21
|
+
isModuleAvailable() {
|
|
22
|
+
return super.isModuleAvailable() && this.api.gridApi.isGridRangeSelectable();
|
|
23
|
+
}
|
|
21
24
|
getModuleAdaptableObjects(config) {
|
|
22
25
|
return this.api.plusMinusApi.getAllPlusMinus(config);
|
|
23
26
|
}
|
|
@@ -36,11 +39,14 @@ export class PlusMinusModule extends AdaptableModuleBase {
|
|
|
36
39
|
return this.api.namedQueryApi.internalApi.getReferencedNamedQueryNames(plusMinusNudge.Rule?.BooleanExpression);
|
|
37
40
|
}
|
|
38
41
|
onAdaptableReady() {
|
|
39
|
-
|
|
40
|
-
this.shouldHandleKeyDown =
|
|
42
|
+
const hasPlusMinusNudges = ArrayExtensions.IsNotNullOrEmpty(this.api.plusMinusApi.getAllPlusMinus());
|
|
43
|
+
this.shouldHandleKeyDown = this.isModuleAvailable() && hasPlusMinusNudges;
|
|
41
44
|
if (this.shouldHandleKeyDown) {
|
|
42
45
|
this.setupKeyDownListener();
|
|
43
46
|
}
|
|
47
|
+
else if (hasPlusMinusNudges && !this.api.gridApi.isGridRangeSelectable()) {
|
|
48
|
+
this.api.consoleWarn('Plus/Minus module is not available because AG Grid is not selectable');
|
|
49
|
+
}
|
|
44
50
|
}
|
|
45
51
|
setupKeyDownListener() {
|
|
46
52
|
this.adaptable._on('KeyDown', (keyDownEvent) => {
|
|
@@ -187,14 +187,22 @@ export class StyledColumnModule extends AdaptableModuleBase {
|
|
|
187
187
|
});
|
|
188
188
|
}
|
|
189
189
|
if (styledColumn.BadgeStyle) {
|
|
190
|
+
let rowTypes = [];
|
|
191
|
+
if (!styledColumn.BadgeStyle?.RowScope?.ExcludeDataRows) {
|
|
192
|
+
rowTypes.push('Data');
|
|
193
|
+
}
|
|
194
|
+
if (!styledColumn.BadgeStyle?.RowScope?.ExcludeGroupRows) {
|
|
195
|
+
rowTypes.push('Group');
|
|
196
|
+
}
|
|
197
|
+
if (!styledColumn.BadgeStyle?.RowScope?.ExcludeSummaryRows) {
|
|
198
|
+
rowTypes.push('Summary');
|
|
199
|
+
}
|
|
200
|
+
if (!styledColumn.BadgeStyle?.RowScope?.ExcludeTotalRows) {
|
|
201
|
+
rowTypes.push('Total');
|
|
202
|
+
}
|
|
190
203
|
specificTypeItems.push({
|
|
191
204
|
name: 'Rows',
|
|
192
|
-
values:
|
|
193
|
-
`Data Rows: ${styledColumn.BadgeStyle?.RowScope?.ExcludeDataRows ? 'No' : 'Yes'}`,
|
|
194
|
-
`Group Rows: ${styledColumn.BadgeStyle?.RowScope?.ExcludeGroupRows ? 'No' : 'Yes'}`,
|
|
195
|
-
`Summary Rows: ${styledColumn.BadgeStyle?.RowScope?.ExcludeSummaryRows ? 'No' : 'Yes'}`,
|
|
196
|
-
`Total Rows: ${styledColumn.BadgeStyle?.RowScope?.ExcludeTotalRows ? 'No' : 'Yes'}`,
|
|
197
|
-
],
|
|
205
|
+
values: rowTypes
|
|
198
206
|
});
|
|
199
207
|
}
|
|
200
208
|
if (styledColumn.BadgeStyle) {
|
|
@@ -2,13 +2,13 @@ import { AdaptableModuleBase } from './AdaptableModuleBase';
|
|
|
2
2
|
import * as ModuleConstants from '../Utilities/Constants/ModuleConstants';
|
|
3
3
|
import { TEAMSHARING_GET, TEAMSHARING_IMPORT_ITEM, TEAMSHARING_LINK_ITEM, TEAMSHARING_PROCESS_IMPORT, TEAMSHARING_REMOVE_ITEM, TEAMSHARING_SET, TEAMSHARING_SHARE, TEAMSHARING_UPDATE_ITEM, TeamSharingUpdateItem, } from '../Redux/ActionsReducers/TeamSharingRedux';
|
|
4
4
|
import * as TeamSharingRedux from '../Redux/ActionsReducers/TeamSharingRedux';
|
|
5
|
-
import isEqual from '
|
|
5
|
+
import isEqual from '../Utilities/utils/isEqual';
|
|
6
6
|
import { LAYOUT_SAVE } from '../Redux/ActionsReducers/LayoutRedux';
|
|
7
7
|
import { getSharedEntityStaleDepsItemView, SharedEntityTypeItemView, getSharedEntityActiveStatusObjectView, } from '../View/TeamSharing/SharedEntityObjectView';
|
|
8
8
|
import { TeamSharingApplyButton } from '../View/TeamSharing/TeamSharingApplyButton';
|
|
9
9
|
import { SharedEntityDependencies } from '../View/TeamSharing/SharedEntityDependencies';
|
|
10
10
|
import ArrayExtensions from '../Utilities/Extensions/ArrayExtensions';
|
|
11
|
-
import flatten from '
|
|
11
|
+
import flatten from '../Utilities/utils/flatten';
|
|
12
12
|
import AdaptableHelper from '../Utilities/Helpers/AdaptableHelper';
|
|
13
13
|
export class TeamSharingModule extends AdaptableModuleBase {
|
|
14
14
|
SKIP_TEAMSHARING_UPDATE_ACTIONS = [
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FormatColumn } from '../../../AdaptableState/FormatColumnState';
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const getFormatColumnRowTargetItems: (formatColumn: FormatColumn) => {
|
|
3
3
|
name: string;
|
|
4
4
|
values: string[];
|
|
5
5
|
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export const getFormatColumnRowTargetItems = (formatColumn) => {
|
|
2
|
+
let values = [];
|
|
3
|
+
if (formatColumn.RowScope) {
|
|
4
|
+
if (!formatColumn.RowScope.ExcludeDataRows) {
|
|
5
|
+
values.push('Data');
|
|
6
|
+
}
|
|
7
|
+
if (!formatColumn.RowScope.ExcludeGroupRows) {
|
|
8
|
+
values.push('Group');
|
|
9
|
+
}
|
|
10
|
+
if (!formatColumn.RowScope.ExcludeSummaryRows) {
|
|
11
|
+
values.push('Summary');
|
|
12
|
+
}
|
|
13
|
+
if (!formatColumn.RowScope.ExcludeTotalRows) {
|
|
14
|
+
values.push('Total');
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
values = values.filter(Boolean);
|
|
18
|
+
return {
|
|
19
|
+
name: 'Rows',
|
|
20
|
+
values: values.length > 0 ? values : ['-'],
|
|
21
|
+
};
|
|
22
|
+
};
|
|
@@ -1,18 +1,10 @@
|
|
|
1
1
|
export const getFormatColumnSettingsViewItems = (formatColumn) => {
|
|
2
2
|
let values = [];
|
|
3
|
-
if (formatColumn.
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
values.push('Exclude Group Rows');
|
|
9
|
-
}
|
|
10
|
-
if (formatColumn.RowScope.ExcludeSummaryRows) {
|
|
11
|
-
values.push('Exclude Summary Rows');
|
|
12
|
-
}
|
|
13
|
-
if (formatColumn.RowScope.ExcludeTotalRows) {
|
|
14
|
-
values.push('Exclude Total Rows');
|
|
15
|
-
}
|
|
3
|
+
if (!formatColumn.Target || formatColumn.Target === 'cell') {
|
|
4
|
+
values.push('Target: Column Cells');
|
|
5
|
+
}
|
|
6
|
+
else {
|
|
7
|
+
values.push('Target: Column Header');
|
|
16
8
|
}
|
|
17
9
|
if (formatColumn.ColumnGroupScope) {
|
|
18
10
|
values.push(`Column Groups: ${formatColumn.ColumnGroupScope === 'Both' ? 'Always' : formatColumn.ColumnGroupScope}`);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import parseInt from '
|
|
1
|
+
import parseInt from '../utils/parseInt';
|
|
2
2
|
import { ExpressionEvaluationError } from '../../parser/src/ExpressionEvaluationError';
|
|
3
3
|
import { handleColumnFunction, handleWhereFunction, } from './expressionFunctionUtils';
|
|
4
4
|
import { aggregatedScalarExpressionFunctions, } from './aggregatedScalarExpressionFunctions';
|
|
@@ -451,7 +451,7 @@ export const aggregatedScalarExpressionFunctions = {
|
|
|
451
451
|
handler(args, context) {
|
|
452
452
|
const distinctColumnParameter = extractColumnParameter('ONLY', args);
|
|
453
453
|
const onlyColumnName = distinctColumnParameter.value;
|
|
454
|
-
const columnType = validateColumnType(onlyColumnName, ['number'], 'ONLY', context.adaptableApi);
|
|
454
|
+
const columnType = validateColumnType(onlyColumnName, ['number', 'text'], 'ONLY', context.adaptableApi);
|
|
455
455
|
const groupByParameter = extractParameter('ONLY', 'operand', ['GROUP_BY'], args, {
|
|
456
456
|
isOptional: true,
|
|
457
457
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ExpressionEvaluationError } from '../../parser/src/ExpressionEvaluationError';
|
|
2
2
|
import StringExtensions from '../Extensions/StringExtensions';
|
|
3
3
|
import { filter } from 'rxjs/operators';
|
|
4
|
-
import toNumber from '
|
|
4
|
+
import toNumber from '../utils/toNumber';
|
|
5
5
|
import { evaluateNode } from '../../parser/src/evaluator';
|
|
6
6
|
// string functions may be case (in)sensitive, see internalApi.isTextComparisonCaseSensitive()
|
|
7
7
|
// if case is insensitive, we convert ALL involved strings to lower case
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defer, of } from 'rxjs';
|
|
2
2
|
import { count, debounceTime, delay, filter, map, mergeAll, mergeMap, startWith, takeUntil, tap, withLatestFrom, } from 'rxjs/operators';
|
|
3
|
-
import parseInt from '
|
|
3
|
+
import parseInt from '../utils/parseInt';
|
|
4
4
|
import { ExpressionEvaluationError } from '../../parser/src/ExpressionEvaluationError';
|
|
5
5
|
import { extractColumnParameter, extractParameter, getDataChangeLog$, getGridChangeLog$, getNumericValue, handleColumnFunction, handleWhereFunction, validateColumnType, } from './expressionFunctionUtils';
|
|
6
6
|
import { getTypedKeys } from '../Extensions/TypeExtensions';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import cloneDeepWith from '
|
|
2
|
-
import isPlainObject from '
|
|
1
|
+
import cloneDeepWith from '../utils/cloneDeepWith';
|
|
2
|
+
import isPlainObject from '../utils/isPlainObject';
|
|
3
3
|
import { createUuid } from '../../AdaptableState/Uuid';
|
|
4
4
|
import packageJson from '../../../package.json';
|
|
5
5
|
const GET_CURRENT_VERSION = () => {
|