@adaptabletools/adaptable 17.0.0-canary.8 → 17.0.0-canary.9
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/bundle.cjs.js +125 -125
- package/package.json +1 -1
- package/publishTimestamp.d.ts +1 -1
- package/publishTimestamp.js +1 -1
- package/src/AdaptableOptions/ColumnFilterOptions.d.ts +8 -8
- package/src/Utilities/Defaults/DefaultAdaptableOptions.js +1 -1
- package/src/Utilities/Services/ModuleService.js +1 -1
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.js +1 -1
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +1 -1
- package/src/View/Components/FilterForm/FilterForm.js +9 -2
- package/src/View/Components/FilterForm/QuickFilterForm.js +4 -3
- package/src/View/Components/FilterForm/QuickFilterValues.d.ts +2 -2
- package/src/View/Components/FilterForm/QuickFilterValues.js +1 -1
- package/src/View/GridFilter/GridFilterPopup.js +7 -5
- package/src/View/GridFilter/GridFilterViewPanel.js +1 -1
- package/src/View/GridFilter/useGridFilterExpressionEditor.d.ts +2 -0
- package/src/View/GridFilter/useGridFilterExpressionEditor.js +9 -1
- package/src/components/Datepicker/index.js +3 -3
- package/src/components/ExpressionEditor/QueryBuilder/QueryBuilder.js +2 -2
- package/src/components/Select/Select.js +3 -1
- package/src/metamodel/adaptable.metamodel.js +1 -1
- package/src/renderReactRoot.js +16 -10
- package/version.d.ts +1 -1
- package/version.js +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adaptabletools/adaptable",
|
|
3
|
-
"version": "17.0.0-canary.
|
|
3
|
+
"version": "17.0.0-canary.9",
|
|
4
4
|
"description": "Powerful data-agnostic HTML5 AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"web-components",
|
package/publishTimestamp.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default:
|
|
1
|
+
declare const _default: 1705222747066;
|
|
2
2
|
export default _default;
|
package/publishTimestamp.js
CHANGED
|
@@ -127,14 +127,6 @@ export interface QuickFilterOptions<TData = any> {
|
|
|
127
127
|
* @noCodeItem
|
|
128
128
|
*/
|
|
129
129
|
quickFilterTrigger?: 'mouseenter' | 'click';
|
|
130
|
-
/**
|
|
131
|
-
* Open Quick Filter Values dropdown with mouse hover or click
|
|
132
|
-
*
|
|
133
|
-
* @defaultValue 'mouseenter'
|
|
134
|
-
* @gridInfoItem
|
|
135
|
-
* @noCodeItem
|
|
136
|
-
*/
|
|
137
|
-
quickFilterValuesTrigger?: 'mouseenter' | 'click';
|
|
138
130
|
/**
|
|
139
131
|
* Sets a height for Quick Filter Bar (if not provided AG Grid's default is used)
|
|
140
132
|
*
|
|
@@ -231,6 +223,14 @@ export interface ValuesFilterOptions<TData = any> {
|
|
|
231
223
|
* @gridInfoItem
|
|
232
224
|
*/
|
|
233
225
|
sortValuesFilter?: boolean;
|
|
226
|
+
/**
|
|
227
|
+
* Open Values dropdown with mouse hover or click
|
|
228
|
+
*
|
|
229
|
+
* @defaultValue 'mouseenter'
|
|
230
|
+
* @gridInfoItem
|
|
231
|
+
* @noCodeItem
|
|
232
|
+
*/
|
|
233
|
+
valuesFilterTrigger?: 'mouseenter' | 'click';
|
|
234
234
|
}
|
|
235
235
|
/**
|
|
236
236
|
* Context provided when Column Filtering
|
|
@@ -186,7 +186,6 @@ exports.DefaultAdaptableOptions = {
|
|
|
186
186
|
hideQuickFilterDropdown: undefined,
|
|
187
187
|
hideQuickFilterInput: undefined,
|
|
188
188
|
quickFilterTrigger: 'mouseenter',
|
|
189
|
-
quickFilterValuesTrigger: 'mouseenter',
|
|
190
189
|
quickFilterDebounce: 250,
|
|
191
190
|
quickFilterHeight: null,
|
|
192
191
|
showQuickFilter: true,
|
|
@@ -198,6 +197,7 @@ exports.DefaultAdaptableOptions = {
|
|
|
198
197
|
defaultFilterFormTab: 'Values',
|
|
199
198
|
},
|
|
200
199
|
valuesFilterOptions: {
|
|
200
|
+
valuesFilterTrigger: 'mouseenter',
|
|
201
201
|
sortValuesFilter: false,
|
|
202
202
|
filterValuesUsingTime: false,
|
|
203
203
|
showDistinctFilteredValuesOnly: false,
|
|
@@ -106,7 +106,7 @@ class ModuleService {
|
|
|
106
106
|
case 'ColumnFilter':
|
|
107
107
|
return learnUrl + 'handbook-column-filter';
|
|
108
108
|
case 'GridFilter':
|
|
109
|
-
return learnUrl + 'handbook-
|
|
109
|
+
return learnUrl + 'handbook-grid-filter';
|
|
110
110
|
case 'FlashingCell':
|
|
111
111
|
return learnUrl + 'handbook-flashing-cell';
|
|
112
112
|
case 'FormatColumn':
|
|
@@ -50,7 +50,7 @@ const CalculatedColumnExpressionWizardSection = (props) => {
|
|
|
50
50
|
return 'quantileAggregatedScalar';
|
|
51
51
|
}
|
|
52
52
|
};
|
|
53
|
-
return (React.createElement(Tabs_1.Tabs, { autoFocus: false },
|
|
53
|
+
return (React.createElement(Tabs_1.Tabs, { autoFocus: false, height: "100%" },
|
|
54
54
|
React.createElement(Tabs_1.Tabs.Tab, null, (0, StringExtensions_1.Humanize)(props.expressionType)),
|
|
55
55
|
React.createElement(Tabs_1.Tabs.Content, null, (() => {
|
|
56
56
|
switch (props.expressionType) {
|
|
@@ -100,7 +100,7 @@ const CalculatedColumnWizard = (props) => {
|
|
|
100
100
|
isValid: CalculatedColumnExpressionWizardSection_1.isValidCalculatedColumnExpression,
|
|
101
101
|
renderSummary: CalculatedColumnExpressionWizardSection_1.renderCalculatedColumnExpressionSummary,
|
|
102
102
|
render: () => {
|
|
103
|
-
return (React.createElement(rebass_1.Box, { p: 2 },
|
|
103
|
+
return (React.createElement(rebass_1.Box, { height: "100%", p: 2 },
|
|
104
104
|
React.createElement(CalculatedColumnExpressionWizardSection_1.CalculatedColumnExpressionWizardSection, { expressionType: expressionType, onChange: setCalculatedColumn })));
|
|
105
105
|
},
|
|
106
106
|
},
|
|
@@ -110,7 +110,8 @@ class FilterFormComponent extends React.Component {
|
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
112
|
async loadPermittedValues(filter = '') {
|
|
113
|
-
const { values: distinctColumnValues, suppressClientSideFilter } = await (0, runIfNotResolvedIn_1.runIfNotResolvedIn)(this.props.api.gridApi.internalApi.getDistinctFilterDisplayValuesForColumn(this.props.currentColumn.columnId, filter, this.props.api.optionsApi.getColumnFilterOptions().valuesFilterOptions
|
|
113
|
+
const { values: distinctColumnValues, suppressClientSideFilter } = await (0, runIfNotResolvedIn_1.runIfNotResolvedIn)(this.props.api.gridApi.internalApi.getDistinctFilterDisplayValuesForColumn(this.props.currentColumn.columnId, filter, this.props.api.optionsApi.getColumnFilterOptions().valuesFilterOptions
|
|
114
|
+
.showDistinctFilteredValuesOnly), () => this._isMounted && this.setState({ isDistinctColumnValuesLoading: true }));
|
|
114
115
|
if (this._isMounted) {
|
|
115
116
|
this.setState({
|
|
116
117
|
distinctColumnValues,
|
|
@@ -178,7 +179,13 @@ class FilterFormComponent extends React.Component {
|
|
|
178
179
|
} })));
|
|
179
180
|
}
|
|
180
181
|
return (_a = predicateDef.inputs) === null || _a === void 0 ? void 0 : _a.map((predicateInput, index) => (React.createElement(rebass_1.Flex, { key: index, flexDirection: "row" },
|
|
181
|
-
React.createElement(AdaptableInput_1.default, {
|
|
182
|
+
React.createElement(AdaptableInput_1.default, { onMouseDown: (event) => {
|
|
183
|
+
console.log('onMouseDown', predicateInput.type, event);
|
|
184
|
+
if (predicateInput.type === 'date') {
|
|
185
|
+
// This prevents the ag-grid dropdown closing when a date is selected
|
|
186
|
+
event.stopPropagation();
|
|
187
|
+
}
|
|
188
|
+
}, disabled: this.isFilterDisabled(), type: predicateInput.type, autoFocus: index === 0, value: filter.Predicate.Inputs[index], onChange: (e) => this.changeColumnPredicateInput(e.target.value, index), mb: 1, flex: 1, fontSize: 2 }))));
|
|
182
189
|
}
|
|
183
190
|
isFilterDisabled() {
|
|
184
191
|
var _a;
|
|
@@ -57,7 +57,8 @@ class QuickFilterFormComponent extends React.Component {
|
|
|
57
57
|
hideEvent = 'blur';
|
|
58
58
|
}
|
|
59
59
|
let showQuickFilterDropdown = true;
|
|
60
|
-
let hideQuickFilterDropdownFunction = this.props.api.optionsApi.getColumnFilterOptions().quickFilterOptions
|
|
60
|
+
let hideQuickFilterDropdownFunction = this.props.api.optionsApi.getColumnFilterOptions().quickFilterOptions
|
|
61
|
+
.hideQuickFilterDropdown;
|
|
61
62
|
if (hideQuickFilterDropdownFunction) {
|
|
62
63
|
const columnFilterContext = {
|
|
63
64
|
column: this.props.currentColumn,
|
|
@@ -102,7 +103,7 @@ class QuickFilterFormComponent extends React.Component {
|
|
|
102
103
|
api.show();
|
|
103
104
|
this.shouldOpenValuesDropdown = false;
|
|
104
105
|
}
|
|
105
|
-
},
|
|
106
|
+
}, valuesFilterTrigger: this.props.valuesFilterTrigger }));
|
|
106
107
|
}
|
|
107
108
|
return (activePredicateDef &&
|
|
108
109
|
(activePredicateDef === null || activePredicateDef === void 0 ? void 0 : activePredicateDef.inputs) === undefined && (React.createElement(rebass_1.Box, { color: this.isFilterDisabled() ? undefined : 'var(--ab-color-text-on-primary)', disabled: this.isFilterDisabled(), p: 1, alignSelf: "center" }, activePredicateDef.label)));
|
|
@@ -252,6 +253,6 @@ function mapDispatchToProps(dispatch) {
|
|
|
252
253
|
const QuickFilterForm = (0, react_redux_1.connect)(mapStateToProps, mapDispatchToProps)(QuickFilterFormComponent);
|
|
253
254
|
const QuickFilterFormReact = (columnFilterProps) => {
|
|
254
255
|
var _a, _b, _c;
|
|
255
|
-
return (0, renderWithAdaptableContext_1.renderWithAdaptableContext)(React.createElement(QuickFilterForm, { api: columnFilterProps.Adaptable.api, quickFilterTrigger: (_a = columnFilterProps.Adaptable.adaptableOptions.columnFilterOptions) === null || _a === void 0 ? void 0 : _a.quickFilterOptions.quickFilterTrigger,
|
|
256
|
+
return (0, renderWithAdaptableContext_1.renderWithAdaptableContext)(React.createElement(QuickFilterForm, { api: columnFilterProps.Adaptable.api, quickFilterTrigger: (_a = columnFilterProps.Adaptable.adaptableOptions.columnFilterOptions) === null || _a === void 0 ? void 0 : _a.quickFilterOptions.quickFilterTrigger, valuesFilterTrigger: (_b = columnFilterProps.Adaptable.adaptableOptions.columnFilterOptions) === null || _b === void 0 ? void 0 : _b.valuesFilterOptions.valuesFilterTrigger, quickFilterDebounce: (_c = columnFilterProps.Adaptable.adaptableOptions.columnFilterOptions) === null || _c === void 0 ? void 0 : _c.quickFilterOptions.quickFilterDebounce, currentColumn: columnFilterProps.Column, teamSharingActivated: false, embedColumnMenu: columnFilterProps.Adaptable.embedColumnMenu }), columnFilterProps.Adaptable);
|
|
256
257
|
};
|
|
257
258
|
exports.QuickFilterFormReact = QuickFilterFormReact;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { ColumnFilter } from '../../../PredefinedConfig/Common/ColumnFilter';
|
|
3
3
|
import { AdaptableApi } from '../../../Api/AdaptableApi';
|
|
4
4
|
import { AdaptableColumn } from '../../../PredefinedConfig/Common/AdaptableColumn';
|
|
5
|
-
import {
|
|
5
|
+
import { ValuesFilterOptions } from '../../../types';
|
|
6
6
|
export interface QuickFilterValuesProps {
|
|
7
7
|
api: AdaptableApi;
|
|
8
8
|
currentColumn: AdaptableColumn;
|
|
@@ -14,6 +14,6 @@ export interface QuickFilterValuesProps {
|
|
|
14
14
|
show: () => any;
|
|
15
15
|
hide: () => any;
|
|
16
16
|
}) => void;
|
|
17
|
-
|
|
17
|
+
valuesFilterTrigger?: ValuesFilterOptions['valuesFilterTrigger'];
|
|
18
18
|
}
|
|
19
19
|
export declare const QuickFilterValues: (props: QuickFilterValuesProps) => JSX.Element;
|
|
@@ -99,7 +99,7 @@ const QuickFilterValues = (props) => {
|
|
|
99
99
|
}
|
|
100
100
|
};
|
|
101
101
|
let showEvent = 'mouseenter';
|
|
102
|
-
if (props.
|
|
102
|
+
if (props.valuesFilterTrigger === 'click') {
|
|
103
103
|
showEvent = 'click';
|
|
104
104
|
}
|
|
105
105
|
let selectedValues = props.columnFilter.Predicate.PredicateId === 'Values' ? 'Select Values' : 'Exclude Values';
|
|
@@ -9,6 +9,7 @@ const FieldWrap_1 = tslib_1.__importDefault(require("../../components/FieldWrap"
|
|
|
9
9
|
const FormLayout_1 = tslib_1.__importStar(require("../../components/FormLayout"));
|
|
10
10
|
const Input_1 = tslib_1.__importDefault(require("../../components/Input"));
|
|
11
11
|
const Panel_1 = tslib_1.__importDefault(require("../../components/Panel"));
|
|
12
|
+
const StringExtensions_1 = tslib_1.__importDefault(require("../../Utilities/Extensions/StringExtensions"));
|
|
12
13
|
const ButtonClear_1 = require("../Components/Buttons/ButtonClear");
|
|
13
14
|
const ButtonExpand_1 = require("../Components/Buttons/ButtonExpand");
|
|
14
15
|
const ButtonInvalid_1 = require("../Components/Buttons/ButtonInvalid");
|
|
@@ -20,23 +21,24 @@ const PopupPanel_1 = require("../Components/Popups/AdaptablePopup/PopupPanel");
|
|
|
20
21
|
const NamedQuerySelector_1 = require("./NamedQuerySelector");
|
|
21
22
|
const useGridFilterExpressionEditor_1 = require("./useGridFilterExpressionEditor");
|
|
22
23
|
const GridFilterPopup = () => {
|
|
23
|
-
const { cachedQueries, expression, setExpression, isExpressionNamedQuery, isExpressionValid, isSuspended, gridFilter, namedQueries, availableColumns, runQuery, onExpand, clearQuery, namedQueryModuleAccessLevel, saveQuery, suspendGridFilter, unSuspendGridFilter, setGridFilterExpression, gridFilterAccessLevel, } = (0, useGridFilterExpressionEditor_1.useGridFilterExpressionEditor)();
|
|
24
|
+
const { cachedQueries, expression, setExpression, isExpressionNamedQuery, isExpressionValid, isSuspended, gridFilter, namedQueries, availableColumns, runQuery, onExpand, clearQuery, namedQueryModuleAccessLevel, saveQuery, suspendGridFilter, unSuspendGridFilter, setGridFilterExpression, gridFilterAccessLevel, gridFilterHelpPage, gridFilterLinkDisabled, } = (0, useGridFilterExpressionEditor_1.useGridFilterExpressionEditor)();
|
|
24
25
|
const handleEnter = (e) => {
|
|
25
26
|
if (e.key === 'Enter') {
|
|
26
27
|
runQuery();
|
|
27
28
|
}
|
|
28
29
|
};
|
|
29
30
|
const disabled = isSuspended || gridFilterAccessLevel === 'ReadOnly';
|
|
30
|
-
return (React.createElement(PopupPanel_1.PopupPanel, { className: "ab-GridFilter", headerText: "Grid Filter", glyphicon: "grid-filter" },
|
|
31
|
+
return (React.createElement(PopupPanel_1.PopupPanel, { className: "ab-GridFilter", headerText: "Grid Filter", glyphicon: "grid-filter", infoLink: gridFilterHelpPage, infoLinkDisabled: gridFilterLinkDisabled },
|
|
31
32
|
React.createElement(Panel_1.default, { bodyProps: { height: '100%' }, height: "100%" },
|
|
32
33
|
React.createElement(FormLayout_1.default, null,
|
|
33
34
|
React.createElement(FormLayout_1.FormRow, { label: "Expression" },
|
|
34
35
|
React.createElement(FieldWrap_1.default, { marginRight: 1, width: "100%" },
|
|
35
|
-
React.createElement(ButtonExpand_1.ButtonExpand, { disabled: disabled, variant: "text", tone: "neutral", onClick: onExpand, tooltip: "
|
|
36
|
+
React.createElement(ButtonExpand_1.ButtonExpand, { disabled: disabled, variant: "text", tone: "neutral", onClick: onExpand, tooltip: "Edit the Expression in UI", marginLeft: 1 }),
|
|
36
37
|
React.createElement(Input_1.default, { onKeyDown: handleEnter, disabled: disabled, type: "text", "data-name": "grid-filter-input", placeholder: "Grid Filter", spellCheck: false, value: expression, onChange: (x) => setExpression(x.target.value), style: { fontFamily: 'monospace', fontSize: 12 } }),
|
|
37
|
-
isExpressionValid
|
|
38
|
+
isExpressionValid && (React.createElement(ButtonPlay_1.ButtonPlay, { onClick: () => runQuery(), tooltip: '', accessLevel: gridFilterAccessLevel, variant: "text", tone: "neutral", disabled: isSuspended || expression == '' || expression == (gridFilter === null || gridFilter === void 0 ? void 0 : gridFilter.Expression), marginRight: 1 })),
|
|
39
|
+
gridFilter && !isExpressionValid && (React.createElement(ButtonInvalid_1.ButtonInvalid, { variant: "text", tone: "neutral", tooltip: "Invalid Grid Filter", marginRight: 1 })),
|
|
38
40
|
' ',
|
|
39
|
-
(
|
|
41
|
+
StringExtensions_1.default.IsNotNullOrEmpty(expression) && (React.createElement(ButtonClear_1.ButtonClear, { onClick: () => clearQuery(), tooltip: "Clear Grid Filter", accessLevel: gridFilterAccessLevel })))),
|
|
40
42
|
React.createElement(FormLayout_1.FormRow, { label: "" },
|
|
41
43
|
React.createElement(rebass_1.Flex, { justifyContent: "space-around" },
|
|
42
44
|
React.createElement(ButtonSave_1.ButtonSave, { onClick: () => saveQuery(), tooltip: "Save as Named Query", accessLevel: namedQueryModuleAccessLevel, disabled: !isExpressionValid || isExpressionNamedQuery || expression == '', variant: "text", tone: "neutral", marginRight: 1 }, "Save"),
|
|
@@ -29,7 +29,7 @@ const QueryViewPanelComponent = (props) => {
|
|
|
29
29
|
runQuery();
|
|
30
30
|
}
|
|
31
31
|
};
|
|
32
|
-
const buttonExpand = (React.createElement(ButtonExpand_1.ButtonExpand, { disabled: isSuspended, accessLevel: gridFilterAccessLevel, variant: "text", tone: "neutral", onClick: onExpand, tooltip: "
|
|
32
|
+
const buttonExpand = (React.createElement(ButtonExpand_1.ButtonExpand, { disabled: isSuspended, accessLevel: gridFilterAccessLevel, variant: "text", tone: "neutral", onClick: onExpand, tooltip: "Edit the Expression in UI", marginLeft: 1 }));
|
|
33
33
|
const renderTextInput = () => {
|
|
34
34
|
return props.viewType === 'Toolbar' ? (React.createElement(FieldWrap_1.default, { marginRight: 1, width: 500 },
|
|
35
35
|
buttonExpand,
|
|
@@ -21,4 +21,6 @@ export declare const useGridFilterExpressionEditor: () => {
|
|
|
21
21
|
unSuspendGridFilter: () => void;
|
|
22
22
|
setGridFilterExpression: (expression: string) => void;
|
|
23
23
|
gridFilterAccessLevel: import("../../types").AccessLevel;
|
|
24
|
+
gridFilterHelpPage: string;
|
|
25
|
+
gridFilterLinkDisabled: boolean;
|
|
24
26
|
};
|
|
@@ -27,6 +27,8 @@ const useGridFilterExpressionEditor = () => {
|
|
|
27
27
|
const onAddCachedQuery = (cachedQuery) => {
|
|
28
28
|
dispatch(SystemRedux.SystemCachedQueryAdd(cachedQuery));
|
|
29
29
|
};
|
|
30
|
+
const gridFilterHelpPage = adaptable.ModuleService.getModuleById('GridFilter').moduleInfo.HelpPage;
|
|
31
|
+
const gridFilterLinkDisabled = !adaptable.api.internalApi.isDocumentationLinksDisplayed();
|
|
30
32
|
React.useEffect(() => {
|
|
31
33
|
adaptable.api.eventApi.on('AdaptableReady', () => {
|
|
32
34
|
setIsAdaptableReady(true);
|
|
@@ -45,7 +47,11 @@ const useGridFilterExpressionEditor = () => {
|
|
|
45
47
|
let availableColumns = adaptable.api.columnApi.getColumns().map((col) => {
|
|
46
48
|
return {
|
|
47
49
|
label: col.friendlyName,
|
|
48
|
-
onClick: () =>
|
|
50
|
+
onClick: () => {
|
|
51
|
+
// Bogdan - im sure there is a better way to do this check with fancy operators i dont know
|
|
52
|
+
const newExp = StringExtensions_1.default.IsNotNullOrEmpty(expression) ? expression : '';
|
|
53
|
+
setExpression(newExp + `[${col.columnId}]`);
|
|
54
|
+
},
|
|
49
55
|
};
|
|
50
56
|
});
|
|
51
57
|
const clearQuery = () => {
|
|
@@ -123,6 +129,8 @@ const useGridFilterExpressionEditor = () => {
|
|
|
123
129
|
adaptable.api.gridFilterApi.setGridFilterExpression(expression);
|
|
124
130
|
},
|
|
125
131
|
gridFilterAccessLevel,
|
|
132
|
+
gridFilterHelpPage,
|
|
133
|
+
gridFilterLinkDisabled,
|
|
126
134
|
};
|
|
127
135
|
};
|
|
128
136
|
exports.useGridFilterExpressionEditor = useGridFilterExpressionEditor;
|
|
@@ -17,13 +17,13 @@ const DatepickerContext_1 = require("./DatepickerContext");
|
|
|
17
17
|
const addDays_1 = tslib_1.__importDefault(require("date-fns/addDays"));
|
|
18
18
|
const addBusinessDays_1 = tslib_1.__importDefault(require("date-fns/addBusinessDays"));
|
|
19
19
|
const react_day_picker_1 = require("react-day-picker");
|
|
20
|
-
const DatepickerOverlay = ({ onHide, children, onKeyDown, }) => {
|
|
20
|
+
const DatepickerOverlay = ({ onHide, children, onKeyDown, onMouseDown, }) => {
|
|
21
21
|
const domRef = React.useRef(null);
|
|
22
22
|
React.useEffect(() => {
|
|
23
23
|
var _a;
|
|
24
24
|
(_a = domRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
25
25
|
}, []);
|
|
26
|
-
return (React.createElement("div", { className: "ab-Datepicker-Overlay", ref: domRef, tabIndex: -1, onKeyDown: onKeyDown, onBlur: (e) => {
|
|
26
|
+
return (React.createElement("div", { className: "ab-Datepicker-Overlay", ref: domRef, tabIndex: -1, onKeyDown: onKeyDown, onMouseDown: onMouseDown, onBlur: (e) => {
|
|
27
27
|
var _a;
|
|
28
28
|
const { relatedTarget } = e;
|
|
29
29
|
const node = domRef.current;
|
|
@@ -87,7 +87,7 @@ exports.Datepicker = React.forwardRef((props, ref) => {
|
|
|
87
87
|
}, accessLevel: 'Full' })) : null;
|
|
88
88
|
const calendarButton = (React.createElement(SimpleButton_1.default, { disabled: disabled, variant: "text", icon: "calendar", tooltip: "Date", iconSize: 20, px: 0, py: 0, onClick: () => setVisible(true) }));
|
|
89
89
|
return (React.createElement(rebass_1.Flex, null,
|
|
90
|
-
React.createElement(OverlayTrigger_1.default, { visible: visible, render: () => (React.createElement(DatepickerOverlay, { onHide: () => setVisible(false), onKeyDown: (e) => {
|
|
90
|
+
React.createElement(OverlayTrigger_1.default, { visible: visible, render: () => (React.createElement(DatepickerOverlay, { onMouseDown: props.onMouseDown, onHide: () => setVisible(false), onKeyDown: (e) => {
|
|
91
91
|
if (e.key === 'Escape' || e.key === 'Enter') {
|
|
92
92
|
setVisible(false, e.key);
|
|
93
93
|
}
|
|
@@ -110,9 +110,9 @@ const QueryBuilder = (props) => {
|
|
|
110
110
|
} },
|
|
111
111
|
React.createElement(QueryBuilderContext.Provider, { value: context },
|
|
112
112
|
React.createElement(rebass_1.Box, { className: QUERY_BUILDER_CLASSNAME },
|
|
113
|
-
React.createElement(HelpBlock_1.default, { mt: 2, mb: 2, p: 2, fontSize: 3 }, "Build the Grid Filter by adding Column Conditions and AND / OR Groups as required"),
|
|
113
|
+
React.createElement(HelpBlock_1.default, { "data-name": "query-builder-help", mt: 2, mb: 2, p: 2, fontSize: 3 }, "Build the Grid Filter by adding Column Conditions and AND / OR Groups as required"),
|
|
114
114
|
errorOrEditor,
|
|
115
|
-
React.createElement(Panel_1.default, { variant: "default", header: "AdapTableQL Expression", mt: 3 },
|
|
115
|
+
React.createElement(Panel_1.default, { "data-name": "query-builder-expression-preview", variant: "default", header: "AdapTableQL Expression", mt: 3 },
|
|
116
116
|
React.createElement(rebass_1.Box, { className: `${QUERY_BUILDER_CLASSNAME}__expression`, minHeight: 48, my: 2, p: 3 }, expressionStr || 'Outputted Expression will display here'))))));
|
|
117
117
|
};
|
|
118
118
|
exports.QueryBuilder = QueryBuilder;
|
|
@@ -71,7 +71,9 @@ const Select = function (props) {
|
|
|
71
71
|
};
|
|
72
72
|
}, []);
|
|
73
73
|
const SelectComponent = props.isCreatable ? creatable_1.default : react_select_1.default;
|
|
74
|
-
return (React.createElement(SelectComponent, { onInputChange: props.onInputChange, onFocus: props.onFocus, isLoading: props.isLoding, options: props.options, className: props.className, isDisabled: disabled, isMulti: props.isMulti, value: selectedOption, menuPosition: (_g = props.menuPosition) !== null && _g !== void 0 ? _g : '
|
|
74
|
+
return (React.createElement(SelectComponent, { onInputChange: props.onInputChange, onFocus: props.onFocus, isLoading: props.isLoding, options: props.options, className: props.className, isDisabled: disabled, isMulti: props.isMulti, value: selectedOption, menuPosition: (_g = props.menuPosition) !== null && _g !== void 0 ? _g : 'absolute',
|
|
75
|
+
// This needed so the menu is not clipped by overflow: hidden
|
|
76
|
+
menuPortalTarget: document.body, isClearable: props.isClearable, onChange: (option) => {
|
|
75
77
|
if (props.isMulti) {
|
|
76
78
|
props.onChange(option.map((x) => x === null || x === void 0 ? void 0 : x.value));
|
|
77
79
|
}
|