@adaptabletools/adaptable-cjs 21.0.0-canary.2 → 21.0.0-canary.4
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/package.json +1 -1
- package/src/AdaptableOptions/FilterOptions.d.ts +8 -10
- package/src/Api/Internal/ColumnFilterInternalApi.d.ts +1 -0
- package/src/Api/Internal/ColumnFilterInternalApi.js +6 -3
- package/src/View/Components/ColumnFilter/components/FloatingFilterValues.d.ts +3 -1
- package/src/View/Components/ColumnFilter/components/FloatingFilterValues.js +32 -11
- package/src/View/Components/FilterForm/ListBoxFilterForm.js +1 -1
- package/src/agGrid/AdaptableFilterHandler.d.ts +4 -1
- package/src/agGrid/AdaptableFilterHandler.js +12 -2
- package/src/components/Modal/index.d.ts +0 -1
- package/src/components/Modal/index.js +4 -2
- package/src/components/OverlayTrigger/index.js +3 -1
- package/src/components/Select/Select.js +3 -2
- package/src/components/WindowModal/useStacking.js +12 -3
- package/src/components/overlayBaseZIndex.d.ts +1 -0
- package/src/components/overlayBaseZIndex.js +4 -0
- package/src/env.js +2 -2
- package/src/metamodel/adaptable.metamodel.d.ts +26 -2
- package/src/metamodel/adaptable.metamodel.js +1 -1
- package/tsconfig.cjs.tsbuildinfo +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adaptabletools/adaptable-cjs",
|
|
3
|
-
"version": "21.0.0-canary.
|
|
3
|
+
"version": "21.0.0-canary.4",
|
|
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",
|
|
@@ -26,7 +26,7 @@ export interface FilterOptions<TData = any> {
|
|
|
26
26
|
*/
|
|
27
27
|
clearFiltersOnStartUp?: boolean;
|
|
28
28
|
/**
|
|
29
|
-
* Provide custom values (or sorting / count info) when using
|
|
29
|
+
* Provide custom values (or sorting / count info) when using `In` Predicate in Column or Grid Filter
|
|
30
30
|
* @param context
|
|
31
31
|
* @returns
|
|
32
32
|
*/
|
|
@@ -208,17 +208,16 @@ export interface InFilterValue<ValueType = any> {
|
|
|
208
208
|
/**
|
|
209
209
|
* Result when providing custom values for the IN Column Filter
|
|
210
210
|
*/
|
|
211
|
-
export
|
|
211
|
+
export interface InFilterValueResult {
|
|
212
212
|
/**
|
|
213
213
|
* List of Items to display in the IN Column Filter
|
|
214
214
|
*/
|
|
215
|
-
values:
|
|
215
|
+
values: InFilterValue[];
|
|
216
216
|
/**
|
|
217
|
-
*
|
|
218
|
-
* When FALSE, the values are filtered based on the current search text.
|
|
217
|
+
* If true, AdapTable will not filter the list using the current search value
|
|
219
218
|
*/
|
|
220
219
|
skipDefaultSearch?: boolean;
|
|
221
|
-
}
|
|
220
|
+
}
|
|
222
221
|
/**
|
|
223
222
|
* Information about items in the IN Column Filter
|
|
224
223
|
*/
|
|
@@ -249,11 +248,11 @@ export interface CustomInFilterValuesContext<TData = any> extends AdaptableColum
|
|
|
249
248
|
*/
|
|
250
249
|
defaultValues: Required<InFilterValueInfo>[];
|
|
251
250
|
/**
|
|
252
|
-
* Default values but
|
|
251
|
+
* Default values but sorted (if Column is sorted)
|
|
253
252
|
*/
|
|
254
253
|
sortedValues: Required<InFilterValueInfo>[];
|
|
255
254
|
/**
|
|
256
|
-
* Default values
|
|
255
|
+
* Default values in order which currently listed in the grid
|
|
257
256
|
*/
|
|
258
257
|
orderedValues: Required<InFilterValueInfo>[];
|
|
259
258
|
/**
|
|
@@ -261,8 +260,7 @@ export interface CustomInFilterValuesContext<TData = any> extends AdaptableColum
|
|
|
261
260
|
*/
|
|
262
261
|
currentSearchValue: string;
|
|
263
262
|
/**
|
|
264
|
-
*
|
|
265
|
-
* especially for async operations (e.g. server-side filtering).
|
|
263
|
+
* Previous filter result; avoids expensive recomputations (e.g for async op or server-side filtering)
|
|
266
264
|
*/
|
|
267
265
|
previousFilterResult?: InFilterValueResult;
|
|
268
266
|
}
|
|
@@ -55,5 +55,6 @@ export declare class ColumnFilterInternalApi extends ApiBase {
|
|
|
55
55
|
currentSearchValue: string;
|
|
56
56
|
}): Promise<InFilterValueResult>;
|
|
57
57
|
shouldAutoApplyColumnFilter(columnId: string): boolean;
|
|
58
|
+
getAdaptableFilterHandler(columnId: string): AdaptableFilterHandler | undefined;
|
|
58
59
|
getAllAdaptableFilterHandlers(): AdaptableFilterHandler[];
|
|
59
60
|
}
|
|
@@ -258,14 +258,14 @@ class ColumnFilterInternalApi extends ApiBase_1.ApiBase {
|
|
|
258
258
|
this.logWarn(`No ColumnFilterHandler found for columnId: ${options.columnId}!`);
|
|
259
259
|
return this.getGridApi().internalApi.getDistinctFilterDisplayValuesForColumn(newOptions);
|
|
260
260
|
}
|
|
261
|
-
if (typeof columnFilterHandler.
|
|
262
|
-
this.logWarn(`ColumnFilterHandler for columnId: ${options.columnId} does not have
|
|
261
|
+
if (typeof columnFilterHandler.getFromCacheOrFetchFilterDisplayValues !== 'function') {
|
|
262
|
+
this.logWarn(`ColumnFilterHandler for columnId: ${options.columnId} does not have getFromCacheOrFetchFilterDisplayValues method!`);
|
|
263
263
|
return this.getGridApi().internalApi.getDistinctFilterDisplayValuesForColumn(newOptions);
|
|
264
264
|
}
|
|
265
265
|
if (filterOptions.customInFilterValues) {
|
|
266
266
|
return columnFilterHandler.fetchFilterDisplayValues(newOptions);
|
|
267
267
|
}
|
|
268
|
-
return columnFilterHandler.
|
|
268
|
+
return columnFilterHandler.getFromCacheOrFetchFilterDisplayValues(newOptions);
|
|
269
269
|
}
|
|
270
270
|
shouldAutoApplyColumnFilter(columnId) {
|
|
271
271
|
const autoApplyColumnFilterOpt = this.getOptionsApi().getFilterOptions().columnFilterOptions?.autoApplyColumnFilter;
|
|
@@ -283,6 +283,9 @@ class ColumnFilterInternalApi extends ApiBase_1.ApiBase {
|
|
|
283
283
|
// fallback, should never happen
|
|
284
284
|
return true;
|
|
285
285
|
}
|
|
286
|
+
getAdaptableFilterHandler(columnId) {
|
|
287
|
+
return this.getAgGridApi().getColumnFilterHandler(columnId);
|
|
288
|
+
}
|
|
286
289
|
getAllAdaptableFilterHandlers() {
|
|
287
290
|
const allFilterableColumns = this.getColumnApi().getFilterableColumns();
|
|
288
291
|
const filterHandlers = allFilterableColumns
|
|
@@ -37,7 +37,9 @@ export declare function useDistinctFilterColumnValues(options: {
|
|
|
37
37
|
skipDefaultSearch: boolean;
|
|
38
38
|
searchValueUsedInFilterValue: boolean;
|
|
39
39
|
}>>;
|
|
40
|
-
triggerValuesLoad: (
|
|
40
|
+
triggerValuesLoad: (options?: {
|
|
41
|
+
usePrevious: boolean;
|
|
42
|
+
}) => void;
|
|
41
43
|
};
|
|
42
44
|
/**
|
|
43
45
|
* This component was ported and modified to not know about colum filter and predicates.
|
|
@@ -24,7 +24,10 @@ function useDistinctFilterColumnValues(options) {
|
|
|
24
24
|
const { columnId, searchValueRef } = options;
|
|
25
25
|
const { api } = (0, AdaptableContext_1.useAdaptable)();
|
|
26
26
|
const [valuesLoadTrigger, setValuesLoadTrigger] = React.useState(0);
|
|
27
|
-
const
|
|
27
|
+
const usePreviousValuesProbablyBecauseOfAGGridUnnecessaryFilterRemountRef = React.useRef(false);
|
|
28
|
+
const triggerValuesLoad = React.useCallback((options) => {
|
|
29
|
+
usePreviousValuesProbablyBecauseOfAGGridUnnecessaryFilterRemountRef.current =
|
|
30
|
+
!!options?.usePrevious;
|
|
28
31
|
setValuesLoadTrigger((prev) => prev + 1);
|
|
29
32
|
}, []);
|
|
30
33
|
const [quickFilterValues, setQuickFilterValues] = React.useState({
|
|
@@ -42,15 +45,27 @@ function useDistinctFilterColumnValues(options) {
|
|
|
42
45
|
let ignore = false;
|
|
43
46
|
setIsDistinctColumnValuesLoading(true);
|
|
44
47
|
let searchValueUsedInFilterValue = false;
|
|
45
|
-
api.filterApi.columnFilterApi.internalApi
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
48
|
+
const columnFilterinternalApi = api.filterApi.columnFilterApi.internalApi;
|
|
49
|
+
let promise = undefined;
|
|
50
|
+
if (usePreviousValuesProbablyBecauseOfAGGridUnnecessaryFilterRemountRef.current) {
|
|
51
|
+
const previousResult = columnFilterinternalApi
|
|
52
|
+
.getAdaptableFilterHandler(columnId)
|
|
53
|
+
?.getLastCachedFilterDisplayValues();
|
|
54
|
+
if (previousResult) {
|
|
55
|
+
promise = Promise.resolve(previousResult);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
usePreviousValuesProbablyBecauseOfAGGridUnnecessaryFilterRemountRef.current = false;
|
|
59
|
+
if (!promise) {
|
|
60
|
+
promise = columnFilterinternalApi.getColumnFilterValues({
|
|
61
|
+
columnId,
|
|
62
|
+
get currentSearchValue() {
|
|
63
|
+
searchValueUsedInFilterValue = true;
|
|
64
|
+
return searchValueRef ? searchValueRef.current : '';
|
|
65
|
+
},
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
promise.then((distinctFilterDisplayValues) => {
|
|
54
69
|
if (ignore) {
|
|
55
70
|
return;
|
|
56
71
|
}
|
|
@@ -96,9 +111,15 @@ const FloatingFilterValues = (props) => {
|
|
|
96
111
|
if (!value || !Array.isArray(value) || value.length === 0) {
|
|
97
112
|
return;
|
|
98
113
|
}
|
|
114
|
+
// see 😅 usePreviousValuesProbablyBecauseOfAGGridUnnecessaryFilterRemountRef 😅
|
|
115
|
+
const usePrevious = !!api.filterApi.columnFilterApi.internalApi
|
|
116
|
+
.getAdaptableFilterHandler(props.columnId)
|
|
117
|
+
?.getLastCachedFilterDisplayValues();
|
|
99
118
|
// however, if the `value` prop is a non-empty array, we need to load the values
|
|
100
119
|
// so we know which labels to show
|
|
101
|
-
triggerValuesLoad(
|
|
120
|
+
triggerValuesLoad({
|
|
121
|
+
usePrevious,
|
|
122
|
+
});
|
|
102
123
|
}, []);
|
|
103
124
|
const quickFilterValuesRef = React.useRef(quickFilterValues);
|
|
104
125
|
quickFilterValuesRef.current = quickFilterValues;
|
|
@@ -13,7 +13,7 @@ const ColumnValuesSelect = (props) => {
|
|
|
13
13
|
const column = props.column;
|
|
14
14
|
const selectedColumnValues = props.value || [];
|
|
15
15
|
const value = [];
|
|
16
|
-
const options = props.options.filter((distinctValue
|
|
16
|
+
const options = (Array.isArray(props.options) ? props.options : []).filter((distinctValue) => {
|
|
17
17
|
let isActive = selectedColumnValues.indexOf(distinctValue.value) >= 0;
|
|
18
18
|
// special case for date objects, need to check against string values
|
|
19
19
|
if (!isActive && distinctValue.value && distinctValue.value instanceof Date) {
|
|
@@ -6,9 +6,12 @@ export declare class AdaptableFilterHandler implements FilterHandler {
|
|
|
6
6
|
private adaptableApi;
|
|
7
7
|
readonly colId: string;
|
|
8
8
|
private filterDisplayValuesResult;
|
|
9
|
+
private previousFilterDisplayValuesResult;
|
|
9
10
|
constructor(adaptableApi: AdaptableApi, columnSetup: ColumnSetupInfo);
|
|
10
11
|
doesFilterPass(params: DoesFilterPassParams): boolean;
|
|
11
|
-
|
|
12
|
+
getCachedFilterDisplayValues(): InFilterValueResult | undefined;
|
|
13
|
+
getLastCachedFilterDisplayValues(): InFilterValueResult | undefined;
|
|
14
|
+
getFromCacheOrFetchFilterDisplayValues(options: {
|
|
12
15
|
currentSearchValue: string;
|
|
13
16
|
}): Promise<InFilterValueResult>;
|
|
14
17
|
fetchFilterDisplayValues(options: {
|
|
@@ -30,7 +30,13 @@ class AdaptableFilterHandler {
|
|
|
30
30
|
return false;
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
-
|
|
33
|
+
getCachedFilterDisplayValues() {
|
|
34
|
+
return this.filterDisplayValuesResult;
|
|
35
|
+
}
|
|
36
|
+
getLastCachedFilterDisplayValues() {
|
|
37
|
+
return this.filterDisplayValuesResult ?? this.previousFilterDisplayValuesResult;
|
|
38
|
+
}
|
|
39
|
+
getFromCacheOrFetchFilterDisplayValues(options) {
|
|
34
40
|
if (this.filterDisplayValuesResult) {
|
|
35
41
|
return Promise.resolve(this.filterDisplayValuesResult);
|
|
36
42
|
}
|
|
@@ -64,12 +70,15 @@ class AdaptableFilterHandler {
|
|
|
64
70
|
this.resetFilterDisplayValues();
|
|
65
71
|
}
|
|
66
72
|
resetFilterDisplayValues() {
|
|
73
|
+
if (this.filterDisplayValuesResult) {
|
|
74
|
+
this.previousFilterDisplayValuesResult = this.filterDisplayValuesResult;
|
|
75
|
+
}
|
|
67
76
|
// Reset the filter display values manually
|
|
68
77
|
this.filterDisplayValuesResult = undefined;
|
|
69
78
|
}
|
|
70
79
|
async refreshFilterDisplayValues() {
|
|
71
80
|
this.resetFilterDisplayValues();
|
|
72
|
-
return this.
|
|
81
|
+
return this.getFromCacheOrFetchFilterDisplayValues({ currentSearchValue: '' });
|
|
73
82
|
}
|
|
74
83
|
refresh(params) {
|
|
75
84
|
// No specific refresh logic needed for this handler
|
|
@@ -77,6 +86,7 @@ class AdaptableFilterHandler {
|
|
|
77
86
|
}
|
|
78
87
|
destroy() {
|
|
79
88
|
this.filterDisplayValuesResult = undefined;
|
|
89
|
+
this.previousFilterDisplayValuesResult = undefined;
|
|
80
90
|
}
|
|
81
91
|
}
|
|
82
92
|
exports.AdaptableFilterHandler = AdaptableFilterHandler;
|
|
@@ -5,7 +5,6 @@ export declare const ensureLoadingScreenPortalElement: () => HTMLElement;
|
|
|
5
5
|
export interface ModalProps extends FlexProps {
|
|
6
6
|
isOpen?: boolean;
|
|
7
7
|
baseZIndex?: number;
|
|
8
|
-
backdropZIndexOffset?: number;
|
|
9
8
|
onBringToFront?: () => void;
|
|
10
9
|
}
|
|
11
10
|
export declare const Modal: React.FunctionComponent<React.PropsWithChildren<ModalProps>>;
|
|
@@ -11,6 +11,7 @@ const rebass_1 = require("rebass");
|
|
|
11
11
|
const Backdrop_1 = tslib_1.__importStar(require("./Backdrop"));
|
|
12
12
|
const uuid_1 = require("../utils/uuid");
|
|
13
13
|
const UIHelper_1 = require("../../View/UIHelper");
|
|
14
|
+
const useStacking_1 = require("../WindowModal/useStacking");
|
|
14
15
|
let portalElement;
|
|
15
16
|
let loadingScreenPortalElement;
|
|
16
17
|
const ensurePortalElement = () => {
|
|
@@ -44,8 +45,9 @@ const Modal = (props) => {
|
|
|
44
45
|
const uuid = (0, react_1.useMemo)(() => (0, uuid_1.createUuid)(), []);
|
|
45
46
|
const counter = (0, react_1.useMemo)(() => globalCounter++, [isOpen]);
|
|
46
47
|
const openTimestamp = counter;
|
|
47
|
-
const backdropZIndexOffset =
|
|
48
|
-
const
|
|
48
|
+
const backdropZIndexOffset = 1;
|
|
49
|
+
const stacking = (0, useStacking_1.useStacking)();
|
|
50
|
+
const zIndex = stacking.zIndex;
|
|
49
51
|
return (0, react_dom_1.createPortal)(isOpen ? (React.createElement(React.Fragment, null,
|
|
50
52
|
React.createElement(Backdrop_1.default, { timestamp: openTimestamp, uuid: uuid, zIndex: zIndex - backdropZIndexOffset, onBringToFront: onBringToFront }),
|
|
51
53
|
React.createElement(react_remove_scroll_1.RemoveScroll, null,
|
|
@@ -17,6 +17,7 @@ const contains_1 = tslib_1.__importDefault(require("../utils/contains"));
|
|
|
17
17
|
const UIHelper_1 = require("../../View/UIHelper");
|
|
18
18
|
const InfiniteTable_1 = require("../InfiniteTable");
|
|
19
19
|
const AdaptableContext_1 = require("../../View/AdaptableContext");
|
|
20
|
+
const overlayBaseZIndex_1 = require("../overlayBaseZIndex");
|
|
20
21
|
const getConstrainElement = (target, constrainTo) => {
|
|
21
22
|
let el = null;
|
|
22
23
|
if (typeof constrainTo === 'string') {
|
|
@@ -37,6 +38,7 @@ const getConstrainRect = (target, constrainTo) => {
|
|
|
37
38
|
};
|
|
38
39
|
exports.getConstrainRect = getConstrainRect;
|
|
39
40
|
let portalElement;
|
|
41
|
+
const OVERLAY_TRIGGER_Z_INDEX = overlayBaseZIndex_1.OVERLAY_BASE_Z_INDEX;
|
|
40
42
|
const ensurePortalElement = () => {
|
|
41
43
|
if (!(0, UIHelper_1.isBrowserDocumentAvailable)()) {
|
|
42
44
|
return;
|
|
@@ -46,7 +48,7 @@ const ensurePortalElement = () => {
|
|
|
46
48
|
}
|
|
47
49
|
portalElement = document.createElement('div');
|
|
48
50
|
portalElement.style.position = 'absolute';
|
|
49
|
-
portalElement.style.zIndex =
|
|
51
|
+
portalElement.style.zIndex = OVERLAY_TRIGGER_Z_INDEX.toString();
|
|
50
52
|
portalElement.style.top = '0px';
|
|
51
53
|
portalElement.style.left = '0px';
|
|
52
54
|
document.body.appendChild(portalElement);
|
|
@@ -13,6 +13,7 @@ const react_1 = require("react");
|
|
|
13
13
|
const join_1 = tslib_1.__importDefault(require("../utils/join"));
|
|
14
14
|
const re_resizable_1 = require("re-resizable");
|
|
15
15
|
const Tooltip_1 = tslib_1.__importDefault(require("../Tooltip"));
|
|
16
|
+
const overlayBaseZIndex_1 = require("../overlayBaseZIndex");
|
|
16
17
|
const resizableDirections = {
|
|
17
18
|
right: true,
|
|
18
19
|
bottom: true,
|
|
@@ -537,7 +538,7 @@ const Select = function (props) {
|
|
|
537
538
|
menuPortal: (baseStyle) => {
|
|
538
539
|
return {
|
|
539
540
|
...baseStyle,
|
|
540
|
-
zIndex:
|
|
541
|
+
zIndex: overlayBaseZIndex_1.OVERLAY_BASE_Z_INDEX,
|
|
541
542
|
textAlign: 'left',
|
|
542
543
|
};
|
|
543
544
|
},
|
|
@@ -545,7 +546,7 @@ const Select = function (props) {
|
|
|
545
546
|
menu: (baseStyle, state) => {
|
|
546
547
|
return {
|
|
547
548
|
...baseStyle,
|
|
548
|
-
zIndex:
|
|
549
|
+
zIndex: overlayBaseZIndex_1.OVERLAY_BASE_Z_INDEX,
|
|
549
550
|
boxShadow: 'var(--ab-cmp-select-menu__box-shadow)',
|
|
550
551
|
minWidth: `var(--ab-cmp-select-menu__min-width)`,
|
|
551
552
|
width: resizable ? '100%' : `${Math.max(maxLabelLength, 10)}ch`,
|
|
@@ -8,6 +8,15 @@ const setZIndexMap = {};
|
|
|
8
8
|
const zIndexMap = [];
|
|
9
9
|
// starts with 3000, to be above the default zIndex of the Modal component
|
|
10
10
|
const BASE_Z_INDEX = 3000;
|
|
11
|
+
const Z_INDEX_GAP = 5;
|
|
12
|
+
let GLOBAL_COUNTER = 0;
|
|
13
|
+
const getNewOffset = () => {
|
|
14
|
+
const counter = GLOBAL_COUNTER++;
|
|
15
|
+
return counter * Z_INDEX_GAP;
|
|
16
|
+
};
|
|
17
|
+
const getNewZIndex = () => {
|
|
18
|
+
return BASE_Z_INDEX + getNewOffset();
|
|
19
|
+
};
|
|
11
20
|
/**
|
|
12
21
|
* Used to facilitate the stacking between multiple opened windows.
|
|
13
22
|
* When calling 'bringToFront' brings caller to top.
|
|
@@ -15,7 +24,7 @@ const BASE_Z_INDEX = 3000;
|
|
|
15
24
|
*/
|
|
16
25
|
const useStacking = () => {
|
|
17
26
|
const modalZIndexId = React.useMemo(() => (0, uuid_1.createUuid)(), []);
|
|
18
|
-
const [zIndex, setZIndex] = React.useState(
|
|
27
|
+
const [zIndex, setZIndex] = React.useState(getNewZIndex);
|
|
19
28
|
React.useEffect(() => {
|
|
20
29
|
setZIndexMap[modalZIndexId] = setZIndex;
|
|
21
30
|
return () => {
|
|
@@ -34,8 +43,8 @@ const useStacking = () => {
|
|
|
34
43
|
else {
|
|
35
44
|
zIndexMap.push(modalZIndexId);
|
|
36
45
|
}
|
|
37
|
-
zIndexMap.forEach((id
|
|
38
|
-
setZIndexMap?.[id]?.(
|
|
46
|
+
zIndexMap.forEach((id) => {
|
|
47
|
+
setZIndexMap?.[id]?.(getNewZIndex());
|
|
39
48
|
});
|
|
40
49
|
}, []);
|
|
41
50
|
return {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const OVERLAY_BASE_Z_INDEX = 9999999;
|
package/src/env.js
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.default = {
|
|
4
4
|
NEXT_PUBLIC_INFINITE_TABLE_LICENSE_KEY: "StartDate=2021-06-29|EndDate=2030-01-01|Owner=Adaptable|Type=distribution|TS=1624971462479|C=137829811,1004007071,2756196225,1839832928,3994409405,636616862" || '',
|
|
5
|
-
PUBLISH_TIMESTAMP:
|
|
6
|
-
VERSION: "21.0.0-canary.
|
|
5
|
+
PUBLISH_TIMESTAMP: 1757087891356 || Date.now(),
|
|
6
|
+
VERSION: "21.0.0-canary.4" || '--current-version--',
|
|
7
7
|
};
|
|
@@ -2464,11 +2464,19 @@ export declare const ADAPTABLE_METAMODEL: {
|
|
|
2464
2464
|
name: string;
|
|
2465
2465
|
kind: string;
|
|
2466
2466
|
desc: string;
|
|
2467
|
-
props: {
|
|
2467
|
+
props: ({
|
|
2468
2468
|
name: string;
|
|
2469
2469
|
kind: string;
|
|
2470
2470
|
desc: string;
|
|
2471
|
-
|
|
2471
|
+
isOpt?: undefined;
|
|
2472
|
+
ref?: undefined;
|
|
2473
|
+
} | {
|
|
2474
|
+
name: string;
|
|
2475
|
+
kind: string;
|
|
2476
|
+
desc: string;
|
|
2477
|
+
isOpt: boolean;
|
|
2478
|
+
ref: string;
|
|
2479
|
+
})[];
|
|
2472
2480
|
};
|
|
2473
2481
|
CustomQueryVariableContext: {
|
|
2474
2482
|
name: string;
|
|
@@ -4086,6 +4094,22 @@ export declare const ADAPTABLE_METAMODEL: {
|
|
|
4086
4094
|
isOpt: boolean;
|
|
4087
4095
|
}[];
|
|
4088
4096
|
};
|
|
4097
|
+
InFilterValueResult: {
|
|
4098
|
+
name: string;
|
|
4099
|
+
kind: string;
|
|
4100
|
+
desc: string;
|
|
4101
|
+
props: ({
|
|
4102
|
+
name: string;
|
|
4103
|
+
kind: string;
|
|
4104
|
+
desc: string;
|
|
4105
|
+
isOpt: boolean;
|
|
4106
|
+
} | {
|
|
4107
|
+
name: string;
|
|
4108
|
+
kind: string;
|
|
4109
|
+
desc: string;
|
|
4110
|
+
isOpt?: undefined;
|
|
4111
|
+
})[];
|
|
4112
|
+
};
|
|
4089
4113
|
InitialState: {
|
|
4090
4114
|
name: string;
|
|
4091
4115
|
kind: string;
|