@adaptabletools/adaptable 10.0.0 → 10.0.4-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.
Files changed (169) hide show
  1. package/base.css +77 -29
  2. package/index.css +89 -31
  3. package/package.json +1 -5
  4. package/publishTimestamp.d.ts +1 -1
  5. package/publishTimestamp.js +1 -1
  6. package/src/AdaptableInterfaces/IAdaptable.d.ts +12 -2
  7. package/src/AdaptableOptions/FilterOptions.d.ts +14 -7
  8. package/src/AdaptableOptions/LayoutOptions.d.ts +1 -1
  9. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +88 -4
  10. package/src/Api/AlertApi.d.ts +1 -1
  11. package/src/Api/CalculatedColumnApi.d.ts +15 -0
  12. package/src/Api/ColumnApi.d.ts +39 -0
  13. package/src/Api/ConfigApi.d.ts +8 -0
  14. package/src/Api/GridApi.d.ts +34 -8
  15. package/src/Api/Implementation/AlertApiImpl.d.ts +1 -1
  16. package/src/Api/Implementation/AlertApiImpl.js +16 -9
  17. package/src/Api/Implementation/CalculatedColumnApiImpl.d.ts +3 -0
  18. package/src/Api/Implementation/CalculatedColumnApiImpl.js +23 -0
  19. package/src/Api/Implementation/ColumnApiImpl.d.ts +8 -0
  20. package/src/Api/Implementation/ColumnApiImpl.js +69 -36
  21. package/src/Api/Implementation/ConfigApiImpl.d.ts +1 -1
  22. package/src/Api/Implementation/ConfigApiImpl.js +28 -17
  23. package/src/Api/Implementation/ExportApiImpl.js +4 -4
  24. package/src/Api/Implementation/FormatColumnApiImpl.js +1 -1
  25. package/src/Api/Implementation/FreeTextColumnApiImpl.js +9 -3
  26. package/src/Api/Implementation/GridApiImpl.d.ts +9 -0
  27. package/src/Api/Implementation/GridApiImpl.js +25 -10
  28. package/src/Api/Implementation/InternalApiImpl.d.ts +3 -1
  29. package/src/Api/Implementation/InternalApiImpl.js +20 -4
  30. package/src/Api/Implementation/LayoutApiImpl.js +3 -3
  31. package/src/Api/Implementation/QueryLanguageApiImpl.d.ts +2 -0
  32. package/src/Api/Implementation/QueryLanguageApiImpl.js +3 -0
  33. package/src/Api/Implementation/ScopeApiImpl.js +11 -11
  34. package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +12 -8
  35. package/src/Api/Implementation/UserInterfaceApiImpl.js +59 -86
  36. package/src/Api/InternalApi.d.ts +3 -1
  37. package/src/Api/QueryLanguageApi.d.ts +5 -0
  38. package/src/Api/UserInterfaceApi.d.ts +16 -6
  39. package/src/PredefinedConfig/AlertState.d.ts +10 -0
  40. package/src/PredefinedConfig/CalculatedColumnState.d.ts +4 -37
  41. package/src/PredefinedConfig/Common/AdaptableColumn.d.ts +33 -33
  42. package/src/PredefinedConfig/Common/AdaptableColumn.js +5 -5
  43. package/src/PredefinedConfig/Common/AdaptablePredicate.js +19 -18
  44. package/src/PredefinedConfig/Common/DataChangedInfo.d.ts +3 -2
  45. package/src/PredefinedConfig/Common/DataUpdateConfig.d.ts +5 -1
  46. package/src/PredefinedConfig/Common/SpecialColumnSettings.d.ts +49 -0
  47. package/src/{Utilities/Interface/ProgressIndicator.js → PredefinedConfig/Common/SpecialColumnSettings.js} +0 -0
  48. package/src/PredefinedConfig/FilterState.d.ts +1 -1
  49. package/src/PredefinedConfig/FreeTextColumnState.d.ts +10 -0
  50. package/src/PredefinedConfig/Selection/GridCell.d.ts +2 -1
  51. package/src/PredefinedConfig/Selection/GridRow.d.ts +12 -4
  52. package/src/PredefinedConfig/SystemState.d.ts +4 -1
  53. package/src/Redux/ActionsReducers/SystemRedux.js +1 -1
  54. package/src/Redux/Store/AdaptableReduxMerger.js +7 -1
  55. package/src/Redux/Store/AdaptableStore.js +7 -3
  56. package/src/Strategy/AdaptableModuleBase.js +8 -8
  57. package/src/Strategy/AlertModule.js +12 -11
  58. package/src/Strategy/BulkUpdateModule.js +5 -5
  59. package/src/Strategy/CalculatedColumnModule.js +1 -1
  60. package/src/Strategy/CellSummaryModule.js +3 -3
  61. package/src/Strategy/ConditionalStyleModule.js +3 -3
  62. package/src/Strategy/CustomSortModule.js +2 -2
  63. package/src/Strategy/ExportModule.d.ts +0 -2
  64. package/src/Strategy/ExportModule.js +59 -62
  65. package/src/Strategy/FilterModule.js +4 -4
  66. package/src/Strategy/FormatColumnModule.js +5 -5
  67. package/src/Strategy/FreeTextColumnModule.js +1 -1
  68. package/src/Strategy/LayoutModule.js +3 -3
  69. package/src/Strategy/PlusMinusModule.js +8 -9
  70. package/src/Strategy/SmartEditModule.js +6 -6
  71. package/src/Utilities/Defaults/DefaultAdaptableOptions.js +1 -0
  72. package/src/Utilities/ExpressionFunctions/booleanExpressionFunctions.js +1 -1
  73. package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.js +2 -2
  74. package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +3 -2
  75. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +1 -1
  76. package/src/Utilities/Helpers/DateHelper.d.ts +8 -2
  77. package/src/Utilities/Helpers/DateHelper.js +42 -20
  78. package/src/Utilities/Helpers/PreviewHelper.js +2 -2
  79. package/src/Utilities/ObjectFactory.d.ts +1 -1
  80. package/src/Utilities/ObjectFactory.js +14 -2
  81. package/src/Utilities/Services/DataService.js +5 -5
  82. package/src/Utilities/Services/MetamodelService.js +1 -0
  83. package/src/Utilities/Services/ModuleService.js +31 -24
  84. package/src/Utilities/Services/ReportService.js +12 -12
  85. package/src/Utilities/Services/ValidationService.js +4 -5
  86. package/src/Utilities/runIfNotResolvedIn.d.ts +8 -0
  87. package/src/Utilities/runIfNotResolvedIn.js +23 -0
  88. package/src/View/AdaptableView.js +1 -1
  89. package/src/View/Alert/AlertPopup.js +1 -1
  90. package/src/View/Alert/Wizard/AlertDisplayWizardSection.js +19 -5
  91. package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.js +1 -1
  92. package/src/View/BulkUpdate/BulkUpdatePopup.d.ts +2 -0
  93. package/src/View/BulkUpdate/BulkUpdatePopup.js +6 -4
  94. package/src/View/BulkUpdate/BulkUpdateViewPanel.d.ts +2 -0
  95. package/src/View/BulkUpdate/BulkUpdateViewPanel.js +3 -1
  96. package/src/View/CalculatedColumn/CalculatedColumnPopup.js +1 -1
  97. package/src/View/CalculatedColumn/CalculatedColumnSummary.js +1 -1
  98. package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.js +1 -1
  99. package/src/View/Components/ColumnSelector/index.js +2 -2
  100. package/src/View/Components/FilterForm/FilterForm.d.ts +3 -51
  101. package/src/View/Components/FilterForm/FilterForm.js +53 -32
  102. package/src/View/Components/FilterForm/ListBoxFilterForm.d.ts +3 -0
  103. package/src/View/Components/FilterForm/ListBoxFilterForm.js +14 -5
  104. package/src/View/Components/FilterForm/QuickFilterForm.d.ts +3 -43
  105. package/src/View/Components/FilterForm/QuickFilterForm.js +72 -31
  106. package/src/View/Components/FilterForm/getDefaultColumnFilterPredicate.d.ts +3 -0
  107. package/src/View/Components/FilterForm/getDefaultColumnFilterPredicate.js +8 -0
  108. package/src/View/Components/NewScopeComponent.js +1 -1
  109. package/src/View/Components/Popups/AdaptablePopup.d.ts +1 -1
  110. package/src/View/Components/PreviewResultsPanel.js +1 -1
  111. package/src/View/Components/RangesComponent.js +2 -2
  112. package/src/View/Components/Selectors/ColumnSelector.js +5 -5
  113. package/src/View/Components/Selectors/ColumnValueSelector.d.ts +10 -2
  114. package/src/View/Components/Selectors/ColumnValueSelector.js +47 -15
  115. package/src/View/Components/ToolPanel/AdaptableToolPanel.js +6 -6
  116. package/src/View/ConditionalStyle/ConditionalStylePopup.js +1 -1
  117. package/src/View/ConditionalStyle/ConditionalStyleSummary.js +1 -1
  118. package/src/View/CustomSort/CustomSortEntityRow.js +2 -2
  119. package/src/View/CustomSort/CustomSortPopup.js +1 -1
  120. package/src/View/CustomSort/CustomSortSummary.js +3 -3
  121. package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +3 -3
  122. package/src/View/CustomSort/Wizard/CustomSortValuesWizardSection.js +24 -6
  123. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +3 -3
  124. package/src/View/DataChangeHistory/DataChangeHistoryPopup.js +4 -1
  125. package/src/View/Filter/FilterSummary.js +2 -2
  126. package/src/View/FormatColumn/FormatColumnPopup.js +1 -1
  127. package/src/View/FormatColumn/FormatColumnSummary.js +1 -1
  128. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +1 -1
  129. package/src/View/FreeTextColumn/FreeTextColumnPopup.js +4 -2
  130. package/src/View/FreeTextColumn/FreeTextColumnSummary.js +5 -3
  131. package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +1 -1
  132. package/src/View/GridInfo/ColumnInfoComponent.js +16 -16
  133. package/src/View/GridInfo/GridInfoPopup.js +4 -1
  134. package/src/View/Layout/Wizard/LayoutEditor/ColumnList.js +6 -6
  135. package/src/View/Layout/Wizard/LayoutEditor/ColumnSortList.js +1 -1
  136. package/src/View/Layout/Wizard/LayoutEditor/PivotList.js +1 -1
  137. package/src/View/Layout/Wizard/LayoutEditor/RowGroupsList.js +1 -1
  138. package/src/View/Layout/Wizard/LayoutEditor/getItemStyle.js +2 -2
  139. package/src/View/Layout/Wizard/LayoutEditor/index.js +41 -41
  140. package/src/View/PlusMinus/PlusMinusPopup.js +1 -1
  141. package/src/View/PlusMinus/PlusMinusSummary.js +1 -1
  142. package/src/View/Query/QueryViewPanel.js +3 -3
  143. package/src/View/Schedule/Wizard/ScheduleScheduleWizard.d.ts +1 -1
  144. package/src/View/Schedule/Wizard/ScheduleScheduleWizard.js +6 -8
  145. package/src/View/UIHelper.d.ts +2 -0
  146. package/src/View/UIHelper.js +10 -1
  147. package/src/agGrid/ActionColumnRenderer.d.ts +2 -1
  148. package/src/agGrid/ActionColumnRenderer.js +20 -3
  149. package/src/agGrid/Adaptable.d.ts +20 -4
  150. package/src/agGrid/Adaptable.js +234 -102
  151. package/src/agGrid/agGridHelper.js +32 -32
  152. package/src/agGrid/agGridMenuHelper.js +2 -2
  153. package/src/components/Dashboard/Dashboard.js +1 -1
  154. package/src/components/DropdownButton/index.js +1 -1
  155. package/src/components/ExpressionEditor/index.js +8 -7
  156. package/src/components/Loader/Loader.d.ts +7 -0
  157. package/src/components/Loader/Loader.js +13 -0
  158. package/src/components/Loader/index.d.ts +2 -0
  159. package/src/components/Loader/index.js +7 -0
  160. package/src/components/ProgressIndicator/ProgressIndicator.d.ts +2 -0
  161. package/src/components/ProgressIndicator/ProgressIndicator.js +54 -0
  162. package/src/metamodel/adaptable.metamodel.d.ts +125 -7
  163. package/src/metamodel/adaptable.metamodel.js +416 -101
  164. package/src/types.d.ts +4 -3
  165. package/version.d.ts +1 -1
  166. package/version.js +1 -1
  167. package/src/Utilities/Interface/ProgressIndicator.d.ts +0 -4
  168. package/src/View/Export/ProgressIndicator.d.ts +0 -6
  169. package/src/View/Export/ProgressIndicator.js +0 -25
@@ -1,4 +1,5 @@
1
1
  import { AdaptableModule } from '../PredefinedConfig/Common/Types';
2
+ import { ExpressionFunctionMap } from '../types';
2
3
  /**
3
4
  * Manages AdapTableQL (Query Language)
4
5
  */
@@ -33,6 +34,10 @@ export interface QueryLanguageApi {
33
34
  * Returns all columns that can be used in an Expression
34
35
  */
35
36
  getQueryableColumnIds(): string[];
37
+ /**
38
+ * Returns the current Module Expression Map
39
+ */
40
+ getModuleExpressionFunctionMap(): ExpressionFunctionMap;
36
41
  /**
37
42
  * Runs the AST that AdapTableQL creates for a expression - useful when evaluating remotely
38
43
  * @param expression expression to be run
@@ -1,7 +1,8 @@
1
1
  import { AdaptableColumn } from '../PredefinedConfig/Common/AdaptableColumn';
2
2
  import { AdaptableStyle } from '../PredefinedConfig/Common/AdaptableStyle';
3
3
  import { UserMenuItem } from '../PredefinedConfig/Common/Menu';
4
- import { ActionColumn, CellValuesList } from '../AdaptableOptions/UserInterfaceOptions';
4
+ import { ActionColumn, BulkUpdatePermittedValues, CustomSortPermittedValues, EditLookUpPermittedValues, FilterPermittedValues, PermittedValues } from '../AdaptableOptions/UserInterfaceOptions';
5
+ import { GridCell } from '../PredefinedConfig/Selection/GridCell';
5
6
  /**
6
7
  * Functions relating to User Interface section of Adaptable State
7
8
  */
@@ -17,27 +18,36 @@ export interface UserInterfaceApi {
17
18
  /**
18
19
  * Retrieves `permittedValues` property from User Interface Options
19
20
  */
20
- getAllPermittedValuesItems(): CellValuesList[];
21
+ getAllPermittedValuesItems(): PermittedValues[];
21
22
  /**
22
23
  * Retrieves Permitted Values for a given Column
23
24
  * @param column column for which to retrieve Permitted Values
24
25
  */
25
26
  getPermittedValuesForColumn(column: AdaptableColumn): any[];
27
+ /**
28
+ * Retrieves Permitted values for filtering by column values in Floating Filter and dropdown Filter.
29
+ */
30
+ getFilterPermittedValuesForColumn(column: AdaptableColumn): FilterPermittedValues | undefined;
31
+ /**
32
+ * Retrieves Permitted values for Custom sort.
33
+ */
34
+ getCustomSortPermittedValuesForColumn(column: AdaptableColumn): CustomSortPermittedValues | undefined;
35
+ getBulkUpdatePermittedValuesForColumn(column: AdaptableColumn): BulkUpdatePermittedValues | undefined;
26
36
  /**
27
37
  * Retrieves `editLookUpItems` property from User Interface Options
28
38
  */
29
- getAllEditLookUpItems(): CellValuesList[];
39
+ getAllEditLookUpItems(): EditLookUpPermittedValues[];
30
40
  /**
31
41
  * Retrieves EditLookUpItems for a given Column
32
42
  * @param columnId Column for which to retrieve EditLookUpItems
33
43
  */
34
- getEditLookUpItemForColumn(columnId: string): CellValuesList | undefined;
44
+ getEditLookUpItemForColumn(column: AdaptableColumn): EditLookUpPermittedValues | undefined;
35
45
  /**
36
46
  * Retrieves actual Look Up Values from an EditLookUpItem
37
47
  * @param editLookUpItem editLookUpItem to check
38
- * @param columnId Column to check
48
+ * @param gridCell: the currently edited Grid Cell
39
49
  */
40
- getEditLookUpValuesForEditLookUpItem(editLookUpItem: CellValuesList, columnId: string): any[] | undefined;
50
+ getEditLookUpValuesForEditLookUpItem(editLookUpItem: EditLookUpPermittedValues, gridCell: GridCell): any[] | undefined;
41
51
  /**
42
52
  * Adds menu item to Column Menu
43
53
  * @param userMenuItem Menu Item to add
@@ -11,6 +11,7 @@ import { XOR } from '../Utilities/Extensions/TypeExtensions';
11
11
  import { AdaptableAggregationQuery, AdaptableBooleanQuery, AdaptableObservableQuery } from './Common/AdaptableQuery';
12
12
  import { ButtonStyle } from './Common/ButtonStyle';
13
13
  import { AlertButtonContext } from '../AdaptableOptions/NotificationsOptions';
14
+ import { DataChangedInfo } from './Common/DataChangedInfo';
14
15
  /**
15
16
  * Predefined Configuration for Alert function
16
17
  */
@@ -45,22 +46,27 @@ export interface BaseAlertDefinition extends SuspendableObject {
45
46
  export interface FlashingAlertProperties {
46
47
  /**
47
48
  * Should a cell or whole row flash
49
+ * @defaultValue 'cell'
48
50
  */
49
51
  FlashTarget?: 'row' | 'cell';
50
52
  /**
51
53
  * Style for 'Down' value changes
54
+ * @defaultValue Red BackColour
52
55
  */
53
56
  DownChangeStyle?: AdaptableStyle;
54
57
  /**
55
58
  * Style for 'Up' value changes
59
+ * @defaultValue Green BackColour
56
60
  */
57
61
  UpChangeStyle?: AdaptableStyle;
58
62
  /**
59
63
  * Style for 'Neutral' value changes
64
+ * @defaultValue Gray BackColour
60
65
  */
61
66
  NeutralChangeStyle?: AdaptableStyle;
62
67
  /**
63
68
  * Duration of Flash - can be number (in ms) or 'always'
69
+ * @defaultValue 500ms
64
70
  */
65
71
  FlashDuration?: number | 'always';
66
72
  }
@@ -77,6 +83,10 @@ export interface AlertDefinition extends BaseAlertDefinition {
77
83
  * Type of Alert: 'Info', 'Success', 'Warning', 'Error'; influences Alert colour, icon and logging
78
84
  */
79
85
  MessageType: AdaptableMessageType;
86
+ /**
87
+ * Alert Message - can be string or function; if not provided AdapTable creates dynamically using Rule & Scope
88
+ */
89
+ MessageText?: string | ((scope: AdaptableScope, rule: AlertRule, dataChangedInfo?: DataChangedInfo) => string);
80
90
  /**
81
91
  * Series of properties which set what happens when Alert is triggered
82
92
  */
@@ -1,6 +1,7 @@
1
1
  import { ConfigState } from './ConfigState';
2
2
  import { AdaptableObject } from './Common/AdaptableObject';
3
3
  import { AdaptableScalarQuery } from './Common/AdaptableQuery';
4
+ import { SpecialColumnSettings } from './Common/SpecialColumnSettings';
4
5
  /**
5
6
  * Predefined Configuration for Calculated Column function
6
7
  **/
@@ -24,7 +25,7 @@ export interface CalculatedColumn extends AdaptableObject {
24
25
  */
25
26
  FriendlyName?: string;
26
27
  /**
27
- * Addtional optional properties for Column (e.g. filterable, resizable)
28
+ * Additional optional properties for Column (e.g. filterable, resizable)
28
29
  */
29
30
  CalculatedColumnSettings?: CalculatedColumnSettings;
30
31
  /**
@@ -35,9 +36,9 @@ export interface CalculatedColumn extends AdaptableObject {
35
36
  /**
36
37
  * Set of optional properties that define a Calculated Column's behaviour
37
38
  */
38
- export interface CalculatedColumnSettings {
39
+ export interface CalculatedColumnSettings extends SpecialColumnSettings {
39
40
  /**
40
- * Expression's return value DataType; inferred by AdapTable but setable by User
41
+ * Expression's return value DataType; inferred by AdapTable but settable by User
41
42
  */
42
43
  DataType?: 'String' | 'Number' | 'Boolean' | 'Date';
43
44
  /**
@@ -45,38 +46,4 @@ export interface CalculatedColumnSettings {
45
46
  * @defaultValue false
46
47
  */
47
48
  ShowToolTip?: boolean;
48
- /**
49
- * Preferred width (in pixels) for Column; if unset, calculated dynamically by underlying Grid
50
- */
51
- Width?: number;
52
- /**
53
- * Whether Column is filterable
54
- * @defaultValue true
55
- */
56
- Filterable?: boolean;
57
- /**
58
- * Whether Column can be resized (by dragging column header edges)
59
- * @defaultValue true
60
- */
61
- Resizable?: boolean;
62
- /**
63
- * Whether Column can be grouped
64
- * @defaultValue true
65
- */
66
- Groupable?: boolean;
67
- /**
68
- * Whether Column is sortable
69
- * @defaultValue true
70
- */
71
- Sortable?: boolean;
72
- /**
73
- * Whether Column can be used when grid is in pivot mode
74
- * @defaultValue true
75
- */
76
- Pivotable?: boolean;
77
- /**
78
- * Whether Column can be used in an aggregation when grouping
79
- * @defaultValue true
80
- */
81
- Aggregatable?: boolean;
82
49
  }
@@ -6,15 +6,15 @@ export interface AdaptableColumnBase extends AdaptableObject {
6
6
  /**
7
7
  * Name of Column in underlying grid (e.g. field or colId)
8
8
  */
9
- ColumnId: string;
9
+ columnId: string;
10
10
  /**
11
11
  * How Column is referred to in Adaptable UI; 'Caption' or 'Header' property in underlying grid
12
12
  */
13
- FriendlyName: string;
13
+ friendlyName: string;
14
14
  /**
15
15
  * DataType of the column
16
16
  */
17
- DataType: 'String' | 'Number' | 'NumberArray' | 'Boolean' | 'Date' | 'Object' | 'Unknown';
17
+ dataType: 'String' | 'Number' | 'NumberArray' | 'Boolean' | 'Date' | 'Object' | 'Unknown';
18
18
  }
19
19
  export declare const isValidOrderForColumnGroups: ({ oldColumns, newColumns, }: {
20
20
  oldColumns: AdaptableColumn[];
@@ -24,10 +24,10 @@ export declare const isValidOrderForColumnGroups: ({ oldColumns, newColumns, }:
24
24
  * Defines a Column Group
25
25
  */
26
26
  export interface AdaptableColumnGroup {
27
- AllowGroupSplit: boolean;
28
- ColumnGroupId: string;
29
- FriendlyName: string;
30
- GroupCount: number;
27
+ allowGroupSplit: boolean;
28
+ columnGroupId: string;
29
+ friendlyName: string;
30
+ groupCount: number;
31
31
  }
32
32
  /**
33
33
  * Defines an Adaptable Column - created at run-time based on vendor grid column definition
@@ -36,89 +36,89 @@ export interface AdaptableColumn extends AdaptableColumnBase {
36
36
  /**
37
37
  * Is this the Primary Key column
38
38
  */
39
- IsPrimaryKey: boolean;
39
+ isPrimaryKey: boolean;
40
40
  /**
41
41
  * Column width
42
42
  */
43
- Width?: number;
43
+ width?: number;
44
44
  /**
45
45
  * Flex details of the column
46
46
  */
47
- Flex?: number;
47
+ flex?: number;
48
48
  /**
49
49
  * Is column editable
50
50
  */
51
- ReadOnly: boolean;
51
+ readOnly: boolean;
52
52
  /**
53
53
  * Is Column currently visible
54
54
  */
55
- Visible: boolean;
55
+ visible: boolean;
56
56
  /**
57
57
  * Is Column sortable
58
58
  */
59
- Sortable: boolean;
59
+ sortable: boolean;
60
60
  /**
61
61
  * Is Column able to be filtered
62
62
  */
63
- Filterable: boolean;
63
+ filterable: boolean;
64
64
  /**
65
65
  * Can Column be moved at run-time to a new position
66
66
  */
67
- Moveable: boolean;
67
+ moveable: boolean;
68
68
  /**
69
69
  * Can Column be removed from the grid
70
70
  */
71
- Hideable: boolean;
71
+ hideable: boolean;
72
72
  /**
73
73
  * Can Column form a Row Group
74
74
  */
75
- Groupable: boolean;
75
+ groupable: boolean;
76
76
  /**
77
77
  * Can Column be used in a Pivot Grid
78
78
  */
79
- Pivotable: boolean;
79
+ pivotable: boolean;
80
80
  /**
81
81
  * Is Column able to display aggregations (e.g. 'sum') when grouped
82
82
  */
83
- Aggregatable: boolean;
83
+ aggregatable: boolean;
84
84
  /**
85
85
  * Can the Column be in included in Queries / Expressions
86
86
  */
87
- Queryable: boolean;
87
+ queryable: boolean;
88
88
  /**
89
89
  * Available aggregations for the Column
90
90
  */
91
- AvailableAggregationFunctions?: string[];
91
+ availableAggregationFunctions?: string[];
92
92
  /**
93
93
  * Custom aggregation function for the Column
94
94
  */
95
- AggregationFunction?: string;
95
+ aggregationFunction?: string;
96
96
  /**
97
97
  * Is Column currently grouped
98
98
  */
99
- IsGrouped: boolean;
99
+ isGrouped: boolean;
100
100
  /**
101
101
  * Is Column pinned or locked into position
102
102
  */
103
- IsFixed: boolean;
103
+ isFixed: boolean;
104
104
  /**
105
105
  * Is it a Sparkline Column
106
106
  */
107
- IsSparkline: boolean;
107
+ isSparkline: boolean;
108
108
  /**
109
109
  * Has colummn been excluded from Quick Search results
110
110
  */
111
- IsExcludedFromQuickSearch: boolean;
111
+ isExcludedFromQuickSearch: boolean;
112
112
  /**
113
113
  * The parent column group, if the column belongs to one
114
114
  */
115
- ColumnGroup?: AdaptableColumnGroup;
115
+ columnGroup?: AdaptableColumnGroup;
116
116
  }
117
117
  export interface AdaptableColumnProperties {
118
- Sortable: boolean;
119
- Filterable: boolean;
120
- Moveable: boolean;
121
- Groupable: boolean;
122
- Pivotable: boolean;
123
- Aggregatable: boolean;
118
+ sortable: boolean;
119
+ filterable: boolean;
120
+ moveable: boolean;
121
+ groupable: boolean;
122
+ pivotable: boolean;
123
+ aggregatable: boolean;
124
124
  }
@@ -8,14 +8,14 @@ exports.isValidOrderForColumnGroups = ({ oldColumns, newColumns, }) => {
8
8
  let count = 0;
9
9
  columns.forEach((column) => {
10
10
  var _a, _b;
11
- if (column.ColumnGroup &&
12
- column.ColumnGroup.GroupCount > 1 &&
13
- !column.ColumnGroup.AllowGroupSplit) {
14
- if (prevGroup !== column.ColumnGroup.ColumnGroupId) {
11
+ if (column.columnGroup &&
12
+ column.columnGroup.groupCount > 1 &&
13
+ !column.columnGroup.allowGroupSplit) {
14
+ if (prevGroup !== column.columnGroup.columnGroupId) {
15
15
  count++;
16
16
  }
17
17
  }
18
- prevGroup = (_b = (_a = column.ColumnGroup) === null || _a === void 0 ? void 0 : _a.ColumnGroupId) !== null && _b !== void 0 ? _b : '';
18
+ prevGroup = (_b = (_a = column.columnGroup) === null || _a === void 0 ? void 0 : _a.columnGroupId) !== null && _b !== void 0 ? _b : '';
19
19
  });
20
20
  return count;
21
21
  };
@@ -16,6 +16,7 @@ const isAfter_1 = tslib_1.__importDefault(require("date-fns/isAfter"));
16
16
  const isBefore_1 = tslib_1.__importDefault(require("date-fns/isBefore"));
17
17
  const isSameDay_1 = tslib_1.__importDefault(require("date-fns/isSameDay"));
18
18
  const CalendarHelper_1 = tslib_1.__importDefault(require("../../Utilities/Helpers/CalendarHelper"));
19
+ const DateHelper_1 = require("../../Utilities/Helpers/DateHelper");
19
20
  /**
20
21
  * Array of Predicate Defs which are shipped by AdapTable
21
22
  */
@@ -273,7 +274,7 @@ exports.SystemPredicateDefs = [
273
274
  icon: { path: 'calendar' },
274
275
  columnScope: { DataTypes: ['Date'] },
275
276
  moduleScope: ['filter', 'alert', 'conditionalstyle'],
276
- handler: ({ value }) => isToday_1.default(value),
277
+ handler: ({ value }) => isToday_1.default(DateHelper_1.parseDateValue(value)),
277
278
  },
278
279
  {
279
280
  id: 'Yesterday',
@@ -281,7 +282,7 @@ exports.SystemPredicateDefs = [
281
282
  icon: { path: 'calendar' },
282
283
  columnScope: { DataTypes: ['Date'] },
283
284
  moduleScope: ['filter', 'alert', 'conditionalstyle'],
284
- handler: ({ value }) => isYesterday_1.default(value),
285
+ handler: ({ value }) => isYesterday_1.default(DateHelper_1.parseDateValue(value)),
285
286
  },
286
287
  {
287
288
  id: 'Tomorrow',
@@ -289,7 +290,7 @@ exports.SystemPredicateDefs = [
289
290
  icon: { path: 'calendar' },
290
291
  columnScope: { DataTypes: ['Date'] },
291
292
  moduleScope: ['filter', 'alert', 'conditionalstyle'],
292
- handler: ({ value }) => isTomorrow_1.default(value),
293
+ handler: ({ value }) => isTomorrow_1.default(DateHelper_1.parseDateValue(value)),
293
294
  },
294
295
  {
295
296
  id: 'ThisWeek',
@@ -297,7 +298,7 @@ exports.SystemPredicateDefs = [
297
298
  icon: { path: 'calendar' },
298
299
  columnScope: { DataTypes: ['Date'] },
299
300
  moduleScope: ['filter', 'alert', 'conditionalstyle'],
300
- handler: ({ value }) => isThisWeek_1.default(value),
301
+ handler: ({ value }) => isThisWeek_1.default(DateHelper_1.parseDateValue(value)),
301
302
  },
302
303
  {
303
304
  id: 'ThisMonth',
@@ -305,7 +306,7 @@ exports.SystemPredicateDefs = [
305
306
  icon: { path: 'calendar' },
306
307
  columnScope: { DataTypes: ['Date'] },
307
308
  moduleScope: ['filter', 'alert', 'conditionalstyle'],
308
- handler: ({ value }) => isThisMonth_1.default(value),
309
+ handler: ({ value }) => isThisMonth_1.default(DateHelper_1.parseDateValue(value)),
309
310
  },
310
311
  {
311
312
  id: 'ThisQuarter',
@@ -313,7 +314,7 @@ exports.SystemPredicateDefs = [
313
314
  icon: { path: 'calendar' },
314
315
  columnScope: { DataTypes: ['Date'] },
315
316
  moduleScope: ['filter', 'alert', 'conditionalstyle'],
316
- handler: ({ value }) => isThisQuarter_1.default(value),
317
+ handler: ({ value }) => isThisQuarter_1.default(DateHelper_1.parseDateValue(value)),
317
318
  },
318
319
  {
319
320
  id: 'ThisYear',
@@ -321,7 +322,7 @@ exports.SystemPredicateDefs = [
321
322
  icon: { path: 'calendar' },
322
323
  columnScope: { DataTypes: ['Date'] },
323
324
  moduleScope: ['filter', 'alert', 'conditionalstyle'],
324
- handler: ({ value }) => isThisYear_1.default(value),
325
+ handler: ({ value }) => isThisYear_1.default(DateHelper_1.parseDateValue(value)),
325
326
  },
326
327
  {
327
328
  id: 'InPast',
@@ -329,7 +330,7 @@ exports.SystemPredicateDefs = [
329
330
  icon: { path: 'calendar' },
330
331
  columnScope: { DataTypes: ['Date'] },
331
332
  moduleScope: ['filter', 'alert', 'conditionalstyle'],
332
- handler: ({ value }) => isPast_1.default(value),
333
+ handler: ({ value }) => isPast_1.default(DateHelper_1.parseDateValue(value)),
333
334
  },
334
335
  {
335
336
  id: 'InFuture',
@@ -337,7 +338,7 @@ exports.SystemPredicateDefs = [
337
338
  icon: { path: 'calendar' },
338
339
  columnScope: { DataTypes: ['Date'] },
339
340
  moduleScope: ['filter', 'alert', 'conditionalstyle'],
340
- handler: ({ value }) => isFuture_1.default(value),
341
+ handler: ({ value }) => isFuture_1.default(DateHelper_1.parseDateValue(value)),
341
342
  },
342
343
  {
343
344
  id: 'After',
@@ -346,7 +347,7 @@ exports.SystemPredicateDefs = [
346
347
  columnScope: { DataTypes: ['Date'] },
347
348
  moduleScope: ['filter', 'alert', 'conditionalstyle'],
348
349
  inputs: [{ type: 'date' }],
349
- handler: ({ value, inputs }) => isAfter_1.default(value, new Date(inputs[0])),
350
+ handler: ({ value, inputs }) => isAfter_1.default(DateHelper_1.parseDateValue(value), new Date(inputs[0])),
350
351
  toString: ({ inputs }) => `> ${inputs[0]}`,
351
352
  },
352
353
  {
@@ -356,7 +357,7 @@ exports.SystemPredicateDefs = [
356
357
  columnScope: { DataTypes: ['Date'] },
357
358
  moduleScope: ['filter', 'alert', 'conditionalstyle'],
358
359
  inputs: [{ type: 'date' }],
359
- handler: ({ value, inputs }) => isBefore_1.default(value, new Date(inputs[0])),
360
+ handler: ({ value, inputs }) => isBefore_1.default(DateHelper_1.parseDateValue(value), new Date(inputs[0])),
360
361
  toString: ({ inputs }) => `< ${inputs[0]}`,
361
362
  },
362
363
  {
@@ -366,7 +367,7 @@ exports.SystemPredicateDefs = [
366
367
  columnScope: { DataTypes: ['Date'] },
367
368
  moduleScope: ['filter', 'alert', 'conditionalstyle'],
368
369
  inputs: [{ type: 'date' }],
369
- handler: ({ value, inputs }) => isSameDay_1.default(value, new Date(inputs[0])),
370
+ handler: ({ value, inputs }) => isSameDay_1.default(DateHelper_1.parseDateValue(value), new Date(inputs[0])),
370
371
  toString: ({ inputs }) => `= ${inputs[0]}`,
371
372
  },
372
373
  {
@@ -376,7 +377,7 @@ exports.SystemPredicateDefs = [
376
377
  columnScope: { DataTypes: ['Date'] },
377
378
  moduleScope: ['filter', 'alert', 'conditionalstyle'],
378
379
  inputs: [{ type: 'date' }],
379
- handler: ({ value, inputs }) => !isSameDay_1.default(value, new Date(inputs[0])),
380
+ handler: ({ value, inputs }) => !isSameDay_1.default(DateHelper_1.parseDateValue(value), new Date(inputs[0])),
380
381
  toString: ({ inputs }) => `!= ${inputs[0]}`,
381
382
  },
382
383
  {
@@ -385,7 +386,7 @@ exports.SystemPredicateDefs = [
385
386
  icon: { path: 'calendar' },
386
387
  columnScope: { DataTypes: ['Date'] },
387
388
  moduleScope: ['filter', 'alert', 'conditionalstyle'],
388
- handler: ({ value, api }) => isSameDay_1.default(value, CalendarHelper_1.default.getNextWorkingDay()),
389
+ handler: ({ value, api }) => isSameDay_1.default(DateHelper_1.parseDateValue(value), CalendarHelper_1.default.getNextWorkingDay()),
389
390
  },
390
391
  {
391
392
  id: 'LastWorkDay',
@@ -393,7 +394,7 @@ exports.SystemPredicateDefs = [
393
394
  icon: { path: 'calendar' },
394
395
  columnScope: { DataTypes: ['Date'] },
395
396
  moduleScope: ['filter', 'alert', 'conditionalstyle'],
396
- handler: ({ value, api }) => isSameDay_1.default(value, CalendarHelper_1.default.getPreviousWorkingDay()),
397
+ handler: ({ value, api }) => isSameDay_1.default(DateHelper_1.parseDateValue(value), CalendarHelper_1.default.getPreviousWorkingDay()),
397
398
  },
398
399
  {
399
400
  id: 'InRange',
@@ -466,7 +467,7 @@ exports.SystemPredicateDefs = [
466
467
  columnScope: { All: true },
467
468
  moduleScope: ['alert'],
468
469
  handler: ({ value, column, api, node }) => {
469
- return (column === null || column === void 0 ? void 0 : column.IsPrimaryKey) ? api.columnApi.getDistinctRawValuesForColumn(column.ColumnId, node).includes(value)
470
+ return (column === null || column === void 0 ? void 0 : column.isPrimaryKey) ? api.columnApi.getDistinctRawValuesForColumn(column.columnId, node).includes(value)
470
471
  : false;
471
472
  },
472
473
  },
@@ -477,7 +478,7 @@ exports.SystemPredicateDefs = [
477
478
  moduleScope: ['alert'],
478
479
  handler: ({ value, api, column, node }) => {
479
480
  const distinctValues = column
480
- ? api.columnApi.getDistinctRawValuesForColumn(column.ColumnId, node)
481
+ ? api.columnApi.getDistinctRawValuesForColumn(column.columnId, node)
481
482
  : [];
482
483
  return !distinctValues.includes(value);
483
484
  },
@@ -489,7 +490,7 @@ exports.SystemPredicateDefs = [
489
490
  moduleScope: ['alert'],
490
491
  handler: ({ value, api, column, node }) => {
491
492
  const distinctValues = column
492
- ? api.columnApi.getDistinctRawValuesForColumn(column.ColumnId, node)
493
+ ? api.columnApi.getDistinctRawValuesForColumn(column.columnId, node)
493
494
  : [];
494
495
  return distinctValues.includes(value);
495
496
  },
@@ -1,4 +1,5 @@
1
1
  import { RowNode } from '@ag-grid-community/all-modules';
2
+ import { AdaptableColumn } from './AdaptableColumn';
2
3
  /**
3
4
  * Defines a Cell Edit - includes full details of old and new values, the column and the enclosing Row
4
5
  */
@@ -16,9 +17,9 @@ export interface DataChangedInfo {
16
17
  */
17
18
  newValue: any;
18
19
  /**
19
- * Id of the Column in which the cell is situated
20
+ * Column in which cell is situated
20
21
  */
21
- columnId: string;
22
+ column: AdaptableColumn;
22
23
  /**
23
24
  * Primary Key Column's value for the row where edited cell is situated
24
25
  */
@@ -3,11 +3,15 @@
3
3
  */
4
4
  export interface DataUpdateConfig {
5
5
  /**
6
- * Whether data should be updated aysnchoronously
6
+ * Whether data should be updated asynchronously
7
7
  */
8
8
  runAsync?: boolean;
9
9
  /**
10
10
  * Callback function invoked when a batch successfully updates
11
11
  */
12
12
  callback?: (res: any) => void;
13
+ /**
14
+ * Index where to add new rows
15
+ */
16
+ addIndex?: number;
13
17
  }
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Base Settings for SpecialColumns
3
+ */
4
+ export interface SpecialColumnSettings {
5
+ /**
6
+ * Preferred width (in pixels) for Column; if unset, calculated dynamically by underlying Grid
7
+ */
8
+ Width?: number;
9
+ /**
10
+ * Whether Column is filterable
11
+ * @defaultValue true
12
+ */
13
+ Filterable?: boolean;
14
+ /**
15
+ * Whether Column can be resized (by dragging column header edges)
16
+ * @defaultValue true
17
+ */
18
+ Resizable?: boolean;
19
+ /**
20
+ * Whether Column can be grouped
21
+ * @defaultValue true
22
+ */
23
+ Groupable?: boolean;
24
+ /**
25
+ * Whether Column is sortable
26
+ * @defaultValue true
27
+ */
28
+ Sortable?: boolean;
29
+ /**
30
+ * Whether Column can be used when grid is in pivot mode
31
+ * @defaultValue true
32
+ */
33
+ Pivotable?: boolean;
34
+ /**
35
+ * Whether Column can be used in an aggregation when grouping
36
+ * @defaultValue true
37
+ */
38
+ Aggregatable?: boolean;
39
+ /**
40
+ * Whether if no menu should be shown for this Column header.
41
+ * @defaultValue false
42
+ */
43
+ SuppressMenu?: boolean;
44
+ /**
45
+ * Whether if this Column should be movable via dragging
46
+ * @defaultValue false
47
+ */
48
+ SuppressMovable?: boolean;
49
+ }
@@ -48,4 +48,4 @@ export interface ColumnFilterPredicate extends AdaptablePredicate {
48
48
  PredicateId: TypeHint<string, SystemFilterPredicateId>;
49
49
  }
50
50
  export declare type SystemFilterPredicateIds = SystemFilterPredicateId[];
51
- export declare type SystemFilterPredicateId = 'Values' | 'Blanks' | 'NonBlanks' | 'Equals' | 'NotEquals' | 'GreaterThan' | 'LessThan' | 'Positive' | 'Negative' | 'Zero' | 'Between' | 'NotBetween' | 'Is' | 'IsNot' | 'Contains' | 'NotContains' | 'StartsWith' | 'EndsWith' | 'Regex' | 'Today' | 'Yesterday' | 'Tomorrow' | 'ThisWeek' | 'ThisMonth' | 'ThisQuarter' | 'ThisYear' | 'InPast' | 'InFuture' | 'Before' | 'After' | 'InRange' | 'On' | 'NotOn' | 'NextWorkDay' | 'LastWorkDay' | 'True' | 'False';
51
+ export declare type SystemFilterPredicateId = 'Values' | 'Blanks' | 'NonBlanks' | 'Equals' | 'NotEquals' | 'GreaterThan' | 'LessThan' | 'Positive' | 'Negative' | 'Zero' | 'Between' | 'NotBetween' | 'Is' | 'IsNot' | 'Contains' | 'NotContains' | 'StartsWith' | 'EndsWith' | 'Regex' | 'Today' | 'Yesterday' | 'Tomorrow' | 'ThisWeek' | 'ThisMonth' | 'ThisQuarter' | 'ThisYear' | 'InPast' | 'InFuture' | 'Before' | 'After' | 'InRange' | 'On' | 'NotOn' | 'NextWorkDay' | 'LastWorkDay' | 'True' | 'False' | 'BooleanToggle';
@@ -1,5 +1,6 @@
1
1
  import { ConfigState } from './ConfigState';
2
2
  import { AdaptableObject } from './Common/AdaptableObject';
3
+ import { SpecialColumnSettings } from './Common/SpecialColumnSettings';
3
4
  /**
4
5
  * Predefined Configuration for the Free Text Column function
5
6
  */
@@ -39,6 +40,10 @@ export interface FreeTextColumn extends AdaptableObject {
39
40
  * @defaultValue 'String'
40
41
  */
41
42
  DataType?: 'String' | 'Number' | 'Boolean' | 'Date';
43
+ /**
44
+ * Additional optional properties for Column (e.g. filterable, resizable)
45
+ */
46
+ FreeTextColumnSettings?: FreeTextColumnSettings;
42
47
  }
43
48
  /**
44
49
  * Defines a cell value stored in a Free Text Column
@@ -53,3 +58,8 @@ export interface FreeTextStoredValue {
53
58
  */
54
59
  FreeText: any;
55
60
  }
61
+ /**
62
+ * Set of optional properties that define a FreeText Columns behaviour
63
+ */
64
+ export interface FreeTextColumnSettings extends SpecialColumnSettings {
65
+ }
@@ -1,4 +1,5 @@
1
1
  import { RowNode } from '@ag-grid-community/all-modules';
2
+ import { AdaptableColumn } from '../Common/AdaptableColumn';
2
3
  /**
3
4
  * Defines a Cell in Adaptable - every cell is an intersection of a Column Id and a Primary Key Value
4
5
  */
@@ -6,7 +7,7 @@ export interface GridCell {
6
7
  /**
7
8
  * Column in which cell is situtated
8
9
  */
9
- columnId: string;
10
+ column: AdaptableColumn;
10
11
  /**
11
12
  * Actual raw value of cell
12
13
  */