@finos/legend-application-data-cube 0.2.4 → 0.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/lib/__lib__/LegendDataCubeNavigation.d.ts +9 -5
- package/lib/__lib__/LegendDataCubeNavigation.d.ts.map +1 -1
- package/lib/__lib__/LegendDataCubeNavigation.js +9 -5
- package/lib/__lib__/LegendDataCubeNavigation.js.map +1 -1
- package/lib/__lib__/LegendDataCubeUserData.d.ts +2 -2
- package/lib/__lib__/LegendDataCubeUserData.d.ts.map +1 -1
- package/lib/__lib__/LegendDataCubeUserData.js +2 -2
- package/lib/__lib__/LegendDataCubeUserData.js.map +1 -1
- package/lib/application/LegendDataCubeApplicationConfig.d.ts +4 -0
- package/lib/application/LegendDataCubeApplicationConfig.d.ts.map +1 -1
- package/lib/application/LegendDataCubeApplicationConfig.js +5 -0
- package/lib/application/LegendDataCubeApplicationConfig.js.map +1 -1
- package/lib/components/LegendDataCubeBlockingWindow.d.ts +29 -0
- package/lib/components/LegendDataCubeBlockingWindow.d.ts.map +1 -0
- package/lib/components/LegendDataCubeBlockingWindow.js +75 -0
- package/lib/components/LegendDataCubeBlockingWindow.js.map +1 -0
- package/lib/components/LegendDataCubeWebApplication.js +2 -2
- package/lib/components/LegendDataCubeWebApplication.js.map +1 -1
- package/lib/components/builder/LegendDataCubeBuilder.d.ts +20 -0
- package/lib/components/builder/LegendDataCubeBuilder.d.ts.map +1 -0
- package/lib/components/builder/LegendDataCubeBuilder.js +162 -0
- package/lib/components/builder/LegendDataCubeBuilder.js.map +1 -0
- package/lib/components/builder/LegendDataCubeBuilderStoreProvider.d.ts +19 -0
- package/lib/components/builder/LegendDataCubeBuilderStoreProvider.d.ts.map +1 -0
- package/lib/components/builder/LegendDataCubeBuilderStoreProvider.js +34 -0
- package/lib/components/builder/LegendDataCubeBuilderStoreProvider.js.map +1 -0
- package/lib/components/{query-builder/LegendDataCubeQuerySaver.d.ts → builder/LegendDataCubeCreator.d.ts} +2 -2
- package/lib/components/builder/LegendDataCubeCreator.d.ts.map +1 -0
- package/lib/components/{query-builder/LegendDataCubeNewQueryBuilder.js → builder/LegendDataCubeCreator.js} +10 -10
- package/lib/components/builder/LegendDataCubeCreator.js.map +1 -0
- package/lib/components/builder/LegendDataCubeDeleteConfirmation.d.ts +19 -0
- package/lib/components/builder/LegendDataCubeDeleteConfirmation.d.ts.map +1 -0
- package/lib/components/builder/LegendDataCubeDeleteConfirmation.js +43 -0
- package/lib/components/builder/LegendDataCubeDeleteConfirmation.js.map +1 -0
- package/lib/components/{query-builder/LegendDataCubeQueryLoader.d.ts → builder/LegendDataCubeLoader.d.ts} +2 -2
- package/lib/components/builder/LegendDataCubeLoader.d.ts.map +1 -0
- package/lib/components/builder/LegendDataCubeLoader.js +113 -0
- package/lib/components/builder/LegendDataCubeLoader.js.map +1 -0
- package/lib/components/{query-builder/LegendDataCubeNewQueryBuilder.d.ts → builder/LegendDataCubeSaver.d.ts} +2 -2
- package/lib/components/builder/LegendDataCubeSaver.d.ts.map +1 -0
- package/lib/components/builder/LegendDataCubeSaver.js +73 -0
- package/lib/components/builder/LegendDataCubeSaver.js.map +1 -0
- package/lib/components/{query-builder/LegendDataCubeQueryBuilder.d.ts → builder/LegendDataCubeSourceViewer.d.ts} +4 -2
- package/lib/components/builder/LegendDataCubeSourceViewer.d.ts.map +1 -0
- package/lib/components/builder/LegendDataCubeSourceViewer.js +46 -0
- package/lib/components/builder/LegendDataCubeSourceViewer.js.map +1 -0
- package/lib/components/{query-builder/source-builder → builder/source}/AdhocQueryDataCubeSourceBuilder.d.ts +1 -1
- package/lib/components/builder/source/AdhocQueryDataCubeSourceBuilder.d.ts.map +1 -0
- package/lib/components/builder/source/AdhocQueryDataCubeSourceBuilder.js.map +1 -0
- package/lib/components/{query-builder/source-builder → builder/source}/LegendQueryDataCubeSourceBuilder.d.ts +1 -1
- package/lib/components/builder/source/LegendQueryDataCubeSourceBuilder.d.ts.map +1 -0
- package/lib/components/{query-builder/source-builder → builder/source}/LegendQueryDataCubeSourceBuilder.js +13 -13
- package/lib/components/builder/source/LegendQueryDataCubeSourceBuilder.js.map +1 -0
- package/lib/index.css +1 -1
- package/lib/package.json +1 -1
- package/lib/stores/LegendDataCubeCacheManager.d.ts.map +1 -1
- package/lib/stores/LegendDataCubeCacheManager.js +11 -12
- package/lib/stores/LegendDataCubeCacheManager.js.map +1 -1
- package/lib/stores/LegendDataCubeDataCubeEngine.d.ts +1 -1
- package/lib/stores/LegendDataCubeDataCubeEngine.d.ts.map +1 -1
- package/lib/stores/LegendDataCubeDataCubeEngine.js +5 -11
- package/lib/stores/LegendDataCubeDataCubeEngine.js.map +1 -1
- package/lib/stores/builder/LegendDataCubeBuilderStore.d.ts +80 -0
- package/lib/stores/builder/LegendDataCubeBuilderStore.d.ts.map +1 -0
- package/lib/stores/builder/LegendDataCubeBuilderStore.js +353 -0
- package/lib/stores/builder/LegendDataCubeBuilderStore.js.map +1 -0
- package/lib/stores/{query-builder/LegendDataCubeNewQueryState.d.ts → builder/LegendDataCubeCreatorState.d.ts} +5 -5
- package/lib/stores/builder/LegendDataCubeCreatorState.d.ts.map +1 -0
- package/lib/stores/{query-builder/LegendDataCubeNewQueryState.js → builder/LegendDataCubeCreatorState.js} +17 -17
- package/lib/stores/builder/LegendDataCubeCreatorState.js.map +1 -0
- package/lib/stores/{query-builder/LegendDataCubeQueryLoaderState.d.ts → builder/LegendDataCubeLoaderState.d.ts} +20 -20
- package/lib/stores/builder/LegendDataCubeLoaderState.d.ts.map +1 -0
- package/lib/stores/builder/LegendDataCubeLoaderState.js +187 -0
- package/lib/stores/builder/LegendDataCubeLoaderState.js.map +1 -0
- package/lib/stores/builder/source/AdhocQueryDataCubeSourceBuilderState.d.ts.map +1 -0
- package/lib/stores/builder/source/AdhocQueryDataCubeSourceBuilderState.js.map +1 -0
- package/lib/stores/builder/source/LegendDataCubeSourceBuilderState.d.ts.map +1 -0
- package/lib/stores/{query-builder/source-builder → builder/source}/LegendDataCubeSourceBuilderState.js +1 -1
- package/lib/stores/builder/source/LegendDataCubeSourceBuilderState.js.map +1 -0
- package/lib/stores/builder/source/LegendQueryDataCubeSourceBuilderState.d.ts.map +1 -0
- package/lib/stores/builder/source/LegendQueryDataCubeSourceBuilderState.js.map +1 -0
- package/package.json +5 -5
- package/src/__lib__/LegendDataCubeNavigation.ts +15 -7
- package/src/__lib__/LegendDataCubeUserData.ts +2 -2
- package/src/application/LegendDataCubeApplicationConfig.ts +12 -0
- package/src/components/LegendDataCubeBlockingWindow.tsx +120 -0
- package/src/components/LegendDataCubeWebApplication.tsx +3 -3
- package/src/components/builder/LegendDataCubeBuilder.tsx +331 -0
- package/src/components/{query-builder/LegendDataCubeQueryBuilderStoreProvider.tsx → builder/LegendDataCubeBuilderStoreProvider.tsx} +19 -16
- package/src/components/{query-builder/LegendDataCubeNewQueryBuilder.tsx → builder/LegendDataCubeCreator.tsx} +9 -9
- package/src/components/builder/LegendDataCubeDeleteConfirmation.tsx +87 -0
- package/src/components/{query-builder/LegendDataCubeQueryLoader.tsx → builder/LegendDataCubeLoader.tsx} +122 -59
- package/src/components/builder/LegendDataCubeSaver.tsx +184 -0
- package/src/components/builder/LegendDataCubeSourceViewer.tsx +108 -0
- package/src/components/{query-builder/source-builder → builder/source}/AdhocQueryDataCubeSourceBuilder.tsx +1 -1
- package/src/components/{query-builder/source-builder → builder/source}/LegendQueryDataCubeSourceBuilder.tsx +16 -15
- package/src/stores/LegendDataCubeCacheManager.ts +11 -12
- package/src/stores/LegendDataCubeDataCubeEngine.ts +4 -14
- package/src/stores/builder/LegendDataCubeBuilderStore.tsx +516 -0
- package/src/stores/{query-builder/LegendDataCubeNewQueryState.tsx → builder/LegendDataCubeCreatorState.tsx} +23 -21
- package/src/stores/builder/LegendDataCubeLoaderState.tsx +248 -0
- package/src/stores/{query-builder/source-builder → builder/source}/LegendDataCubeSourceBuilderState.ts +1 -1
- package/tsconfig.json +16 -13
- package/lib/components/query-builder/LegendDataCubeNewQueryBuilder.d.ts.map +0 -1
- package/lib/components/query-builder/LegendDataCubeNewQueryBuilder.js.map +0 -1
- package/lib/components/query-builder/LegendDataCubeQueryBuilder.d.ts.map +0 -1
- package/lib/components/query-builder/LegendDataCubeQueryBuilder.js +0 -93
- package/lib/components/query-builder/LegendDataCubeQueryBuilder.js.map +0 -1
- package/lib/components/query-builder/LegendDataCubeQueryBuilderStoreProvider.d.ts +0 -19
- package/lib/components/query-builder/LegendDataCubeQueryBuilderStoreProvider.d.ts.map +0 -1
- package/lib/components/query-builder/LegendDataCubeQueryBuilderStoreProvider.js +0 -33
- package/lib/components/query-builder/LegendDataCubeQueryBuilderStoreProvider.js.map +0 -1
- package/lib/components/query-builder/LegendDataCubeQueryLoader.d.ts.map +0 -1
- package/lib/components/query-builder/LegendDataCubeQueryLoader.js +0 -97
- package/lib/components/query-builder/LegendDataCubeQueryLoader.js.map +0 -1
- package/lib/components/query-builder/LegendDataCubeQuerySaver.d.ts.map +0 -1
- package/lib/components/query-builder/LegendDataCubeQuerySaver.js +0 -51
- package/lib/components/query-builder/LegendDataCubeQuerySaver.js.map +0 -1
- package/lib/components/query-builder/source-builder/AdhocQueryDataCubeSourceBuilder.d.ts.map +0 -1
- package/lib/components/query-builder/source-builder/AdhocQueryDataCubeSourceBuilder.js.map +0 -1
- package/lib/components/query-builder/source-builder/LegendQueryDataCubeSourceBuilder.d.ts.map +0 -1
- package/lib/components/query-builder/source-builder/LegendQueryDataCubeSourceBuilder.js.map +0 -1
- package/lib/stores/query-builder/LegendDataCubeNewQueryState.d.ts.map +0 -1
- package/lib/stores/query-builder/LegendDataCubeNewQueryState.js.map +0 -1
- package/lib/stores/query-builder/LegendDataCubeQueryBuilderStore.d.ts +0 -58
- package/lib/stores/query-builder/LegendDataCubeQueryBuilderStore.d.ts.map +0 -1
- package/lib/stores/query-builder/LegendDataCubeQueryBuilderStore.js +0 -228
- package/lib/stores/query-builder/LegendDataCubeQueryBuilderStore.js.map +0 -1
- package/lib/stores/query-builder/LegendDataCubeQueryLoaderState.d.ts.map +0 -1
- package/lib/stores/query-builder/LegendDataCubeQueryLoaderState.js +0 -198
- package/lib/stores/query-builder/LegendDataCubeQueryLoaderState.js.map +0 -1
- package/lib/stores/query-builder/source-builder/AdhocQueryDataCubeSourceBuilderState.d.ts.map +0 -1
- package/lib/stores/query-builder/source-builder/AdhocQueryDataCubeSourceBuilderState.js.map +0 -1
- package/lib/stores/query-builder/source-builder/LegendDataCubeSourceBuilderState.d.ts.map +0 -1
- package/lib/stores/query-builder/source-builder/LegendDataCubeSourceBuilderState.js.map +0 -1
- package/lib/stores/query-builder/source-builder/LegendQueryDataCubeSourceBuilderState.d.ts.map +0 -1
- package/lib/stores/query-builder/source-builder/LegendQueryDataCubeSourceBuilderState.js.map +0 -1
- package/src/components/query-builder/LegendDataCubeQueryBuilder.tsx +0 -164
- package/src/components/query-builder/LegendDataCubeQuerySaver.tsx +0 -116
- package/src/stores/query-builder/LegendDataCubeQueryBuilderStore.tsx +0 -323
- package/src/stores/query-builder/LegendDataCubeQueryLoaderState.tsx +0 -260
- /package/lib/components/{query-builder/source-builder → builder/source}/AdhocQueryDataCubeSourceBuilder.js +0 -0
- /package/lib/stores/{query-builder/source-builder → builder/source}/AdhocQueryDataCubeSourceBuilderState.d.ts +0 -0
- /package/lib/stores/{query-builder/source-builder → builder/source}/AdhocQueryDataCubeSourceBuilderState.js +0 -0
- /package/lib/stores/{query-builder/source-builder → builder/source}/LegendDataCubeSourceBuilderState.d.ts +0 -0
- /package/lib/stores/{query-builder/source-builder → builder/source}/LegendQueryDataCubeSourceBuilderState.d.ts +0 -0
- /package/lib/stores/{query-builder/source-builder → builder/source}/LegendQueryDataCubeSourceBuilderState.js +0 -0
- /package/src/stores/{query-builder/source-builder → builder/source}/AdhocQueryDataCubeSourceBuilderState.ts +0 -0
- /package/src/stores/{query-builder/source-builder → builder/source}/LegendQueryDataCubeSourceBuilderState.ts +0 -0
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2020-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import {
|
|
18
|
+
APPLICATION_EVENT,
|
|
19
|
+
DEFAULT_TYPEAHEAD_SEARCH_MINIMUM_SEARCH_LENGTH,
|
|
20
|
+
type GenericLegendApplicationStore,
|
|
21
|
+
} from '@finos/legend-application';
|
|
22
|
+
import {
|
|
23
|
+
type LightPersistentDataCube,
|
|
24
|
+
QuerySearchSpecification,
|
|
25
|
+
QuerySearchSortBy,
|
|
26
|
+
type V1_PureGraphManager,
|
|
27
|
+
} from '@finos/legend-graph';
|
|
28
|
+
import { ActionState, assertErrorThrown, LogEvent } from '@finos/legend-shared';
|
|
29
|
+
import { makeObservable, observable, action } from 'mobx';
|
|
30
|
+
import type { LegendDataCubeBuilderStore } from './LegendDataCubeBuilderStore.js';
|
|
31
|
+
import { LegendDataCubeUserDataKey } from '../../__lib__/LegendDataCubeUserData.js';
|
|
32
|
+
import {
|
|
33
|
+
type DataCubeAlertService,
|
|
34
|
+
DEFAULT_TOOL_PANEL_WINDOW_CONFIG,
|
|
35
|
+
type DisplayState,
|
|
36
|
+
} from '@finos/legend-data-cube';
|
|
37
|
+
import { LegendDataCubeLoader } from '../../components/builder/LegendDataCubeLoader.js';
|
|
38
|
+
import { generateBuilderRoute } from '../../__lib__/LegendDataCubeNavigation.js';
|
|
39
|
+
|
|
40
|
+
export const DATA_CUBE_LOADER_TYPEAHEAD_SEARCH_LIMIT = 50;
|
|
41
|
+
export const DATA_CUBE_LOADER_DEFAULT_SEARCH_LIMIT = 10;
|
|
42
|
+
|
|
43
|
+
export enum DataCubeSortByType {
|
|
44
|
+
LAST_CREATED = 'Last Created',
|
|
45
|
+
LAST_VIEWED = 'Last Viewed',
|
|
46
|
+
LAST_UPDATED = 'Last Updated',
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export class LegendDataCubeLoaderState {
|
|
50
|
+
private readonly _application: GenericLegendApplicationStore;
|
|
51
|
+
private readonly _store: LegendDataCubeBuilderStore;
|
|
52
|
+
private readonly _graphManager: V1_PureGraphManager;
|
|
53
|
+
private readonly _alertService: DataCubeAlertService;
|
|
54
|
+
|
|
55
|
+
readonly display: DisplayState;
|
|
56
|
+
readonly searchState = ActionState.create();
|
|
57
|
+
readonly finalizeState = ActionState.create();
|
|
58
|
+
|
|
59
|
+
searchResults: LightPersistentDataCube[] = [];
|
|
60
|
+
selectedResult?: LightPersistentDataCube | undefined;
|
|
61
|
+
|
|
62
|
+
searchText = '';
|
|
63
|
+
showCurrentUserResultsOnly = false;
|
|
64
|
+
showingDefaultResults = true;
|
|
65
|
+
sortBy = DataCubeSortByType.LAST_VIEWED;
|
|
66
|
+
|
|
67
|
+
constructor(store: LegendDataCubeBuilderStore) {
|
|
68
|
+
makeObservable(this, {
|
|
69
|
+
showingDefaultResults: observable,
|
|
70
|
+
setShowingDefaultResults: action,
|
|
71
|
+
|
|
72
|
+
searchText: observable,
|
|
73
|
+
setSearchText: action,
|
|
74
|
+
|
|
75
|
+
searchResults: observable,
|
|
76
|
+
setSearchResults: action,
|
|
77
|
+
|
|
78
|
+
selectedResult: observable,
|
|
79
|
+
setSelectedResult: action,
|
|
80
|
+
|
|
81
|
+
showCurrentUserResultsOnly: observable,
|
|
82
|
+
setShowCurrentUserResultsOnly: action,
|
|
83
|
+
|
|
84
|
+
sortBy: observable,
|
|
85
|
+
setSortBy: action,
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
this._application = store.application;
|
|
89
|
+
this._store = store;
|
|
90
|
+
this._graphManager = store.graphManager;
|
|
91
|
+
this._alertService = store.alertService;
|
|
92
|
+
|
|
93
|
+
this.display = store.layoutService.newDisplay(
|
|
94
|
+
'Load DataCube',
|
|
95
|
+
() => <LegendDataCubeLoader />,
|
|
96
|
+
{
|
|
97
|
+
...DEFAULT_TOOL_PANEL_WINDOW_CONFIG,
|
|
98
|
+
width: 500,
|
|
99
|
+
minWidth: 500,
|
|
100
|
+
},
|
|
101
|
+
);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
setSearchText(val: string) {
|
|
105
|
+
this.searchText = val;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
setSearchResults(results: LightPersistentDataCube[]) {
|
|
109
|
+
this.searchResults = results;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
setSelectedResult(result: LightPersistentDataCube | undefined) {
|
|
113
|
+
this.selectedResult = result;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
setShowingDefaultResults(val: boolean) {
|
|
117
|
+
this.showingDefaultResults = val;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
setShowCurrentUserResultsOnly(val: boolean): void {
|
|
121
|
+
this.showCurrentUserResultsOnly = val;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
setSortBy(val: DataCubeSortByType) {
|
|
125
|
+
this.sortBy = val;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
private getSearchSortBy(sortByValue: string) {
|
|
129
|
+
switch (sortByValue) {
|
|
130
|
+
case DataCubeSortByType.LAST_CREATED:
|
|
131
|
+
return QuerySearchSortBy.SORT_BY_CREATE;
|
|
132
|
+
case DataCubeSortByType.LAST_UPDATED:
|
|
133
|
+
return QuerySearchSortBy.SORT_BY_UPDATE;
|
|
134
|
+
case DataCubeSortByType.LAST_VIEWED:
|
|
135
|
+
return QuerySearchSortBy.SORT_BY_VIEW;
|
|
136
|
+
default:
|
|
137
|
+
return undefined;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
canPerformAdvancedSearch(searchText: string) {
|
|
142
|
+
return !(
|
|
143
|
+
searchText.length < DEFAULT_TYPEAHEAD_SEARCH_MINIMUM_SEARCH_LENGTH &&
|
|
144
|
+
!this.showCurrentUserResultsOnly
|
|
145
|
+
);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
async searchDataCubes(searchText: string) {
|
|
149
|
+
// for the initial search, i.e. no search config is specified, fetch the default entries if possible
|
|
150
|
+
if (!this.canPerformAdvancedSearch(searchText)) {
|
|
151
|
+
if (!searchText) {
|
|
152
|
+
this.setShowingDefaultResults(true);
|
|
153
|
+
this.searchState.inProgress();
|
|
154
|
+
this.setSearchResults([]);
|
|
155
|
+
let defaultResults: LightPersistentDataCube[] = [];
|
|
156
|
+
try {
|
|
157
|
+
// first, try to fetch recently viewed entries
|
|
158
|
+
try {
|
|
159
|
+
const recentlyViewedDataCubeIDs =
|
|
160
|
+
this._store.getRecentlyViewedDataCubes();
|
|
161
|
+
if (recentlyViewedDataCubeIDs.length) {
|
|
162
|
+
defaultResults = await this._graphManager.getDataCubes(
|
|
163
|
+
recentlyViewedDataCubeIDs,
|
|
164
|
+
);
|
|
165
|
+
}
|
|
166
|
+
} catch (error) {
|
|
167
|
+
assertErrorThrown(error);
|
|
168
|
+
// if there's an error fetching recently viewed entries, most likely because
|
|
169
|
+
// some entries have been removed, just remove them all from the cached user data
|
|
170
|
+
this._application.userDataService.persistValue(
|
|
171
|
+
LegendDataCubeUserDataKey.RECENTLY_VIEWED_DATA_CUBES,
|
|
172
|
+
undefined,
|
|
173
|
+
);
|
|
174
|
+
}
|
|
175
|
+
// if there's no recently viewed entries, just fetch entries of the current user
|
|
176
|
+
if (!defaultResults.length) {
|
|
177
|
+
const searchSpecification = new QuerySearchSpecification();
|
|
178
|
+
searchSpecification.limit = DATA_CUBE_LOADER_DEFAULT_SEARCH_LIMIT;
|
|
179
|
+
searchSpecification.showCurrentUserQueriesOnly = true;
|
|
180
|
+
defaultResults =
|
|
181
|
+
await this._graphManager.searchDataCubes(searchSpecification);
|
|
182
|
+
}
|
|
183
|
+
this.setSearchResults(defaultResults);
|
|
184
|
+
this.searchState.pass();
|
|
185
|
+
} catch (error) {
|
|
186
|
+
assertErrorThrown(error);
|
|
187
|
+
this._application.logService.error(
|
|
188
|
+
LogEvent.create(APPLICATION_EVENT.GENERIC_FAILURE),
|
|
189
|
+
error,
|
|
190
|
+
);
|
|
191
|
+
this.searchState.fail();
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
return;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
this.setShowingDefaultResults(false);
|
|
198
|
+
this.searchState.inProgress();
|
|
199
|
+
|
|
200
|
+
try {
|
|
201
|
+
const searchSpecification =
|
|
202
|
+
QuerySearchSpecification.createDefault(searchText);
|
|
203
|
+
searchSpecification.limit = DATA_CUBE_LOADER_TYPEAHEAD_SEARCH_LIMIT + 1;
|
|
204
|
+
searchSpecification.showCurrentUserQueriesOnly =
|
|
205
|
+
this.showCurrentUserResultsOnly;
|
|
206
|
+
const searchSortBy = this.getSearchSortBy(this.sortBy);
|
|
207
|
+
if (searchSortBy) {
|
|
208
|
+
searchSpecification.sortByOption = searchSortBy;
|
|
209
|
+
}
|
|
210
|
+
this.setSearchResults(
|
|
211
|
+
await this._graphManager.searchDataCubes(searchSpecification),
|
|
212
|
+
);
|
|
213
|
+
|
|
214
|
+
// if sorting is not configured, sort by name
|
|
215
|
+
if (!searchSortBy) {
|
|
216
|
+
this.setSearchResults(
|
|
217
|
+
this.searchResults.toSorted((a, b) => a.name.localeCompare(b.name)),
|
|
218
|
+
);
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
this.searchState.pass();
|
|
222
|
+
} catch (error) {
|
|
223
|
+
assertErrorThrown(error);
|
|
224
|
+
this._alertService.alertError(error, {
|
|
225
|
+
message: `DataCube Search Failure: ${error.message}`,
|
|
226
|
+
});
|
|
227
|
+
this.searchState.fail();
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
async finalize() {
|
|
232
|
+
if (!this.selectedResult) {
|
|
233
|
+
return;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
this.finalizeState.inProgress();
|
|
237
|
+
// just simply change the route here and the new DataCube ID will get picked up
|
|
238
|
+
// and handled by the builder to load the new DataCube.
|
|
239
|
+
this._application.navigationService.navigator.updateCurrentLocation(
|
|
240
|
+
generateBuilderRoute(this.selectedResult.id),
|
|
241
|
+
);
|
|
242
|
+
|
|
243
|
+
// reset
|
|
244
|
+
this.setSelectedResult(undefined);
|
|
245
|
+
this.display.close();
|
|
246
|
+
this.finalizeState.pass();
|
|
247
|
+
}
|
|
248
|
+
}
|
|
@@ -40,7 +40,7 @@ export abstract class LegendDataCubeSourceBuilderState {
|
|
|
40
40
|
abstract get isValid(): boolean;
|
|
41
41
|
abstract generateSourceData(): Promise<PlainObject>;
|
|
42
42
|
|
|
43
|
-
/* Modifies the configuration of the finalized DataCube
|
|
43
|
+
/* Modifies the configuration of the finalized DataCube based on the source builder */
|
|
44
44
|
finalizeConfiguration(configuration: DataCubeConfiguration) {
|
|
45
45
|
// do nothing
|
|
46
46
|
}
|
package/tsconfig.json
CHANGED
|
@@ -64,23 +64,26 @@
|
|
|
64
64
|
"./src/stores/LegendDataCubeBaseStore.ts",
|
|
65
65
|
"./src/stores/LegendDataCubeCacheManager.ts",
|
|
66
66
|
"./src/stores/LegendDataCubeDataCubeEngine.ts",
|
|
67
|
+
"./src/stores/builder/source/AdhocQueryDataCubeSourceBuilderState.ts",
|
|
68
|
+
"./src/stores/builder/source/LegendDataCubeSourceBuilderState.ts",
|
|
69
|
+
"./src/stores/builder/source/LegendQueryDataCubeSourceBuilderState.ts",
|
|
67
70
|
"./src/stores/model/LegendQueryDataCubeSource.ts",
|
|
68
|
-
"./src/stores/query-builder/source-builder/AdhocQueryDataCubeSourceBuilderState.ts",
|
|
69
|
-
"./src/stores/query-builder/source-builder/LegendDataCubeSourceBuilderState.ts",
|
|
70
|
-
"./src/stores/query-builder/source-builder/LegendQueryDataCubeSourceBuilderState.ts",
|
|
71
71
|
"./src/application/LegendDataCube.tsx",
|
|
72
|
+
"./src/components/LegendDataCubeBlockingWindow.tsx",
|
|
72
73
|
"./src/components/LegendDataCubeFrameworkProvider.tsx",
|
|
73
74
|
"./src/components/LegendDataCubeWebApplication.tsx",
|
|
74
|
-
"./src/components/
|
|
75
|
-
"./src/components/
|
|
76
|
-
"./src/components/
|
|
77
|
-
"./src/components/
|
|
78
|
-
"./src/components/
|
|
79
|
-
"./src/components/
|
|
80
|
-
"./src/components/
|
|
81
|
-
"./src/
|
|
82
|
-
"./src/
|
|
83
|
-
"./src/stores/
|
|
75
|
+
"./src/components/builder/LegendDataCubeBuilder.tsx",
|
|
76
|
+
"./src/components/builder/LegendDataCubeBuilderStoreProvider.tsx",
|
|
77
|
+
"./src/components/builder/LegendDataCubeCreator.tsx",
|
|
78
|
+
"./src/components/builder/LegendDataCubeDeleteConfirmation.tsx",
|
|
79
|
+
"./src/components/builder/LegendDataCubeLoader.tsx",
|
|
80
|
+
"./src/components/builder/LegendDataCubeSaver.tsx",
|
|
81
|
+
"./src/components/builder/LegendDataCubeSourceViewer.tsx",
|
|
82
|
+
"./src/components/builder/source/AdhocQueryDataCubeSourceBuilder.tsx",
|
|
83
|
+
"./src/components/builder/source/LegendQueryDataCubeSourceBuilder.tsx",
|
|
84
|
+
"./src/stores/builder/LegendDataCubeBuilderStore.tsx",
|
|
85
|
+
"./src/stores/builder/LegendDataCubeCreatorState.tsx",
|
|
86
|
+
"./src/stores/builder/LegendDataCubeLoaderState.tsx"
|
|
84
87
|
],
|
|
85
88
|
"include": [
|
|
86
89
|
"src/**/*.ts",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LegendDataCubeNewQueryBuilder.d.ts","sourceRoot":"","sources":["../../../src/components/query-builder/LegendDataCubeNewQueryBuilder.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAiBH,eAAO,MAAM,6BAA6B;;CAgFxC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LegendDataCubeNewQueryBuilder.js","sourceRoot":"","sources":["../../../src/components/query-builder/LegendDataCubeNewQueryBuilder.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LegendDataCubeQueryBuilder.d.ts","sourceRoot":"","sources":["../../../src/components/query-builder/LegendDataCubeQueryBuilder.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAiDH,eAAO,MAAM,0BAA0B,+CAoGtC,CAAC"}
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* Copyright (c) 2020-present, Goldman Sachs
|
|
4
|
-
*
|
|
5
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
-
* you may not use this file except in compliance with the License.
|
|
7
|
-
* You may obtain a copy of the License at
|
|
8
|
-
*
|
|
9
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
*
|
|
11
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
* See the License for the specific language governing permissions and
|
|
15
|
-
* limitations under the License.
|
|
16
|
-
*/
|
|
17
|
-
import { observer } from 'mobx-react-lite';
|
|
18
|
-
import { DataCube, FormButton, DataCubePlaceholder, } from '@finos/legend-data-cube';
|
|
19
|
-
import {} from '@finos/legend-art';
|
|
20
|
-
import { useLegendDataCubeQueryBuilderStore, withLegendDataCubeQueryBuilderStore, } from './LegendDataCubeQueryBuilderStoreProvider.js';
|
|
21
|
-
import { useParams } from '@finos/legend-application/browser';
|
|
22
|
-
import { LEGEND_DATA_CUBE_ROUTE_PATTERN_TOKEN, } from '../../__lib__/LegendDataCubeNavigation.js';
|
|
23
|
-
import { useEffect } from 'react';
|
|
24
|
-
import { LegendDataCubeSettingStorageKey } from '../../__lib__/LegendDataCubeSetting.js';
|
|
25
|
-
const LegendDataCubeQueryBuilderHeader = observer(() => {
|
|
26
|
-
const store = useLegendDataCubeQueryBuilderStore();
|
|
27
|
-
return (_jsxs("div", { className: "flex h-full items-center", children: [_jsx(FormButton, { compact: true, onClick: () => store.loader.display.open(), children: "Load Query" }), _jsx(FormButton, { compact: true, className: "ml-1.5", onClick: () => store.newQueryState.display.open(), children: "New Query" }), _jsx(FormButton, { compact: true, className: "ml-1.5", disabled: !store.builder?.dataCube, onClick: () => store.saverDisplay.open(), children: "Save Query" })] }));
|
|
28
|
-
});
|
|
29
|
-
export const LegendDataCubeQueryBuilder = withLegendDataCubeQueryBuilderStore(observer(() => {
|
|
30
|
-
const store = useLegendDataCubeQueryBuilderStore();
|
|
31
|
-
const builder = store.builder;
|
|
32
|
-
const application = store.application;
|
|
33
|
-
const params = useParams();
|
|
34
|
-
const queryId = params[LEGEND_DATA_CUBE_ROUTE_PATTERN_TOKEN.QUERY_ID];
|
|
35
|
-
useEffect(() => {
|
|
36
|
-
application.navigationService.navigator.blockNavigation(
|
|
37
|
-
// Only block navigation in production, in development, we should have
|
|
38
|
-
// the flexibility to reload the page quickly
|
|
39
|
-
// eslint-disable-next-line no-process-env
|
|
40
|
-
[() => process.env.NODE_ENV === 'production']);
|
|
41
|
-
return () => {
|
|
42
|
-
application.navigationService.navigator.unblockNavigation();
|
|
43
|
-
};
|
|
44
|
-
}, [application]);
|
|
45
|
-
useEffect(() => {
|
|
46
|
-
store
|
|
47
|
-
.loadQuery(queryId)
|
|
48
|
-
.catch((error) => store.alertService.alertUnhandledError(error));
|
|
49
|
-
}, [store, queryId]);
|
|
50
|
-
useEffect(() => {
|
|
51
|
-
store.engine
|
|
52
|
-
.initializeCacheManager()
|
|
53
|
-
.catch((error) => store.alertService.alertUnhandledError(error));
|
|
54
|
-
return () => {
|
|
55
|
-
store.engine
|
|
56
|
-
.disposeCacheManager()
|
|
57
|
-
.catch((error) => store.alertService.alertUnhandledError(error));
|
|
58
|
-
};
|
|
59
|
-
}, [store]);
|
|
60
|
-
if (!builder) {
|
|
61
|
-
return (_jsx(DataCubePlaceholder, { title: "[ Legend DataCube ]", layoutManager: store.layoutService.manager, taskManager: store.taskService.manager, headerContent: _jsx(LegendDataCubeQueryBuilderHeader, {}), menuItems: [
|
|
62
|
-
{
|
|
63
|
-
label: 'See Documentation',
|
|
64
|
-
action: () => {
|
|
65
|
-
const url = application.documentationService.url;
|
|
66
|
-
if (url) {
|
|
67
|
-
application.navigationService.navigator.visitAddress(url);
|
|
68
|
-
}
|
|
69
|
-
},
|
|
70
|
-
disabled: true, // TODO: enable when we set up the documentation websit
|
|
71
|
-
},
|
|
72
|
-
], children: _jsxs("div", { className: "h-full w-full p-2", children: [_jsx("div", { children: "Create a new query to start" }), _jsx(FormButton, { className: "mt-1.5", onClick: () => store.newQueryState.display.open(), children: "New Query" })] }) }));
|
|
73
|
-
}
|
|
74
|
-
return (_jsx(DataCube, { query: builder.query, engine: store.baseStore.engine, options: {
|
|
75
|
-
layoutManager: store.layoutService.manager,
|
|
76
|
-
taskManager: store.taskService.manager,
|
|
77
|
-
gridClientLicense: store.baseStore.gridClientLicense,
|
|
78
|
-
onInitialized(event) {
|
|
79
|
-
builder.setDataCube(event.api);
|
|
80
|
-
},
|
|
81
|
-
innerHeaderRenderer: () => _jsx(LegendDataCubeQueryBuilderHeader, {}),
|
|
82
|
-
settingsData: {
|
|
83
|
-
configurations: store.baseStore.settings,
|
|
84
|
-
values: application.settingService.getObjectValue(LegendDataCubeSettingStorageKey.DATA_CUBE),
|
|
85
|
-
},
|
|
86
|
-
onSettingsChanged(event) {
|
|
87
|
-
application.settingService.persistValue(LegendDataCubeSettingStorageKey.DATA_CUBE, event.values);
|
|
88
|
-
},
|
|
89
|
-
documentationUrl: application.documentationService.url,
|
|
90
|
-
enableCache: true,
|
|
91
|
-
} }, builder.uuid));
|
|
92
|
-
}));
|
|
93
|
-
//# sourceMappingURL=LegendDataCubeQueryBuilder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LegendDataCubeQueryBuilder.js","sourceRoot":"","sources":["../../../src/components/query-builder/LegendDataCubeQueryBuilder.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) 2020-present, Goldman Sachs
|
|
3
|
-
*
|
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
-
* you may not use this file except in compliance with the License.
|
|
6
|
-
* You may obtain a copy of the License at
|
|
7
|
-
*
|
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
*
|
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
-
* See the License for the specific language governing permissions and
|
|
14
|
-
* limitations under the License.
|
|
15
|
-
*/
|
|
16
|
-
import { LegendDataCubeQueryBuilderStore } from '../../stores/query-builder/LegendDataCubeQueryBuilderStore.js';
|
|
17
|
-
export declare const useLegendDataCubeQueryBuilderStore: () => LegendDataCubeQueryBuilderStore;
|
|
18
|
-
export declare const withLegendDataCubeQueryBuilderStore: (WrappedComponent: React.FC) => () => import("react/jsx-runtime").JSX.Element;
|
|
19
|
-
//# sourceMappingURL=LegendDataCubeQueryBuilderStoreProvider.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LegendDataCubeQueryBuilderStoreProvider.d.ts","sourceRoot":"","sources":["../../../src/components/query-builder/LegendDataCubeQueryBuilderStoreProvider.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,EAAE,+BAA+B,EAAE,MAAM,+DAA+D,CAAC;AAqBhH,eAAO,MAAM,kCAAkC,uCAI5C,CAAC;AAEJ,eAAO,MAAM,mCAAmC,qBAC5B,KAAK,CAAC,EAAE,kDAQzB,CAAC"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* Copyright (c) 2020-present, Goldman Sachs
|
|
4
|
-
*
|
|
5
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
-
* you may not use this file except in compliance with the License.
|
|
7
|
-
* You may obtain a copy of the License at
|
|
8
|
-
*
|
|
9
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
*
|
|
11
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
* See the License for the specific language governing permissions and
|
|
15
|
-
* limitations under the License.
|
|
16
|
-
*/
|
|
17
|
-
import { guaranteeNonNullable } from '@finos/legend-shared';
|
|
18
|
-
import { useLocalObservable } from 'mobx-react-lite';
|
|
19
|
-
import { createContext, useContext } from 'react';
|
|
20
|
-
import { LegendDataCubeQueryBuilderStore } from '../../stores/query-builder/LegendDataCubeQueryBuilderStore.js';
|
|
21
|
-
import { useLegendDataCubeBaseStore } from '../LegendDataCubeFrameworkProvider.js';
|
|
22
|
-
const LegendDataCubeQueryBuilderStoreContext = createContext(undefined);
|
|
23
|
-
const LegendDataCubeQueryBuilderStoreProvider = (props) => {
|
|
24
|
-
const { children } = props;
|
|
25
|
-
const baseStore = useLegendDataCubeBaseStore();
|
|
26
|
-
const store = useLocalObservable(() => new LegendDataCubeQueryBuilderStore(baseStore));
|
|
27
|
-
return (_jsx(LegendDataCubeQueryBuilderStoreContext.Provider, { value: store, children: children }));
|
|
28
|
-
};
|
|
29
|
-
export const useLegendDataCubeQueryBuilderStore = () => guaranteeNonNullable(useContext(LegendDataCubeQueryBuilderStoreContext), `Can't find query builder store in context`);
|
|
30
|
-
export const withLegendDataCubeQueryBuilderStore = (WrappedComponent) => function WithLegendDataCubeQueryBuilderStore() {
|
|
31
|
-
return (_jsx(LegendDataCubeQueryBuilderStoreProvider, { children: _jsx(WrappedComponent, {}) }));
|
|
32
|
-
};
|
|
33
|
-
//# sourceMappingURL=LegendDataCubeQueryBuilderStoreProvider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LegendDataCubeQueryBuilderStoreProvider.js","sourceRoot":"","sources":["../../../src/components/query-builder/LegendDataCubeQueryBuilderStoreProvider.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,EAAE,+BAA+B,EAAE,MAAM,+DAA+D,CAAC;AAChH,OAAO,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAC;AAEnF,MAAM,sCAAsC,GAAG,aAAa,CAE1D,SAAS,CAAC,CAAC;AACb,MAAM,uCAAuC,GAAG,CAAC,KAEhD,EAAE,EAAE;IACH,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAC3B,MAAM,SAAS,GAAG,0BAA0B,EAAE,CAAC;IAC/C,MAAM,KAAK,GAAG,kBAAkB,CAC9B,GAAG,EAAE,CAAC,IAAI,+BAA+B,CAAC,SAAS,CAAC,CACrD,CAAC;IACF,OAAO,CACL,KAAC,sCAAsC,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAC1D,QAAQ,GACuC,CACnD,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kCAAkC,GAAG,GAAG,EAAE,CACrD,oBAAoB,CAClB,UAAU,CAAC,sCAAsC,CAAC,EAClD,2CAA2C,CAC5C,CAAC;AAEJ,MAAM,CAAC,MAAM,mCAAmC,GAAG,CACjD,gBAA0B,EAC1B,EAAE,CACF,SAAS,mCAAmC;IAC1C,OAAO,CACL,KAAC,uCAAuC,cACtC,KAAC,gBAAgB,KAAG,GACoB,CAC3C,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LegendDataCubeQueryLoader.d.ts","sourceRoot":"","sources":["../../../src/components/query-builder/LegendDataCubeQueryLoader.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAoOH,eAAO,MAAM,yBAAyB;;CAkEpC,CAAC"}
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* Copyright (c) 2020-present, Goldman Sachs
|
|
4
|
-
*
|
|
5
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
-
* you may not use this file except in compliance with the License.
|
|
7
|
-
* You may obtain a copy of the License at
|
|
8
|
-
*
|
|
9
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
-
*
|
|
11
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
-
* See the License for the specific language governing permissions and
|
|
15
|
-
* limitations under the License.
|
|
16
|
-
*/
|
|
17
|
-
import { observer } from 'mobx-react-lite';
|
|
18
|
-
import { cn, DataCubeIcon, useDropdownMenu } from '@finos/legend-art';
|
|
19
|
-
import { debounce, formatDistanceToNow, quantifyList, } from '@finos/legend-shared';
|
|
20
|
-
import { useRef, useMemo, useEffect } from 'react';
|
|
21
|
-
import { FormButton, FormCheckbox, FormDropdownMenu, FormDropdownMenuItem, FormDropdownMenuTrigger, FormTextInput, } from '@finos/legend-data-cube';
|
|
22
|
-
import { useLegendDataCubeQueryBuilderStore } from './LegendDataCubeQueryBuilderStoreProvider.js';
|
|
23
|
-
import { DATA_CUBE_QUERY_LOADER_TYPEAHEAD_SEARCH_LIMIT, DataCubeQuerySortByType, } from '../../stores/query-builder/LegendDataCubeQueryLoaderState.js';
|
|
24
|
-
const LegendDataCubeQuerySearcher = observer(() => {
|
|
25
|
-
const store = useLegendDataCubeQueryBuilderStore();
|
|
26
|
-
const state = store.loader;
|
|
27
|
-
const searchInputRef = useRef(null);
|
|
28
|
-
const searchResults = state.queries;
|
|
29
|
-
useEffect(() => {
|
|
30
|
-
searchInputRef.current?.focus();
|
|
31
|
-
}, [state]);
|
|
32
|
-
// search text
|
|
33
|
-
const debouncedLoadQueries = useMemo(() => debounce((input) => {
|
|
34
|
-
state
|
|
35
|
-
.searchQueries(input)
|
|
36
|
-
.catch((error) => store.alertService.alertUnhandledError(error));
|
|
37
|
-
}, 500), [store, state]);
|
|
38
|
-
const onSearchTextChange = (event) => {
|
|
39
|
-
if (event.target.value !== state.searchText) {
|
|
40
|
-
state.setSearchText(event.target.value);
|
|
41
|
-
debouncedLoadQueries.cancel();
|
|
42
|
-
debouncedLoadQueries(event.target.value);
|
|
43
|
-
}
|
|
44
|
-
};
|
|
45
|
-
const clearSearches = () => {
|
|
46
|
-
state.setSearchText('');
|
|
47
|
-
debouncedLoadQueries.cancel();
|
|
48
|
-
debouncedLoadQueries('');
|
|
49
|
-
};
|
|
50
|
-
// filter and sort
|
|
51
|
-
const toggleShowCurrentUserQueriesOnly = () => {
|
|
52
|
-
state.setShowCurrentUserQueriesOnly(!state.showCurrentUserQueriesOnly);
|
|
53
|
-
debouncedLoadQueries.cancel();
|
|
54
|
-
debouncedLoadQueries(state.searchText);
|
|
55
|
-
};
|
|
56
|
-
const [openSortDropdown, closeSortDropdown, sortDropdownProps, sortDropdownPropsOpen,] = useDropdownMenu();
|
|
57
|
-
const applySort = (value) => {
|
|
58
|
-
state.setSortBy(value);
|
|
59
|
-
debouncedLoadQueries.cancel();
|
|
60
|
-
debouncedLoadQueries(state.searchText);
|
|
61
|
-
};
|
|
62
|
-
useEffect(() => {
|
|
63
|
-
state
|
|
64
|
-
.searchQueries('')
|
|
65
|
-
.catch((error) => store.alertService.alertUnhandledError(error));
|
|
66
|
-
}, [store, state]);
|
|
67
|
-
return (_jsxs("div", { className: "h-full", children: [_jsxs("div", { className: "p-1.5", children: [_jsxs("div", { className: "relative flex h-6 w-full items-center justify-between", children: [_jsx(FormTextInput, { ref: searchInputRef, className: cn('h-6 w-full pl-6 pr-1', {
|
|
68
|
-
'pr-6': Boolean(state.searchText),
|
|
69
|
-
}), onChange: onSearchTextChange, value: state.searchText, placeholder: "Search for queries by name or ID" }), _jsx("div", { className: "absolute flex aspect-square h-full items-center justify-center", children: _jsx(DataCubeIcon.Search, { className: "text-lg text-neutral-600" }) }), Boolean(state.searchText) && (_jsx(_Fragment, { children: _jsx("button", { className: "absolute right-0 flex aspect-square h-full items-center justify-center", tabIndex: -1, onClick: clearSearches, title: "Clear", children: _jsx(DataCubeIcon.X, {}) }) }))] }), _jsxs("div", { className: "mt-1 flex h-6 w-full items-center", children: [_jsxs("div", { className: "flex w-[calc(100%_-_128px)] items-center", children: [_jsx("div", { className: "w-10 text-sm", children: "Filters:" }), _jsx("div", { className: "flex h-6 w-[calc(100%_-_40px)] overflow-x-auto", children: _jsx(FormCheckbox, { label: "Mine Only", checked: state.showCurrentUserQueriesOnly, onChange: toggleShowCurrentUserQueriesOnly }) })] }), _jsxs("div", { children: [_jsxs(FormDropdownMenuTrigger, { className: "w-32", onClick: openSortDropdown, open: sortDropdownPropsOpen, disabled: !state.canPerformAdvancedSearch(state.searchText), children: ["Sort by: ", state.sortBy] }), _jsx(FormDropdownMenu, { className: "w-32", ...sortDropdownProps, children: Object.values(DataCubeQuerySortByType).map((option) => (_jsx(FormDropdownMenuItem, { onClick: () => {
|
|
70
|
-
applySort(option);
|
|
71
|
-
closeSortDropdown();
|
|
72
|
-
}, autoFocus: option === state.sortBy, children: option }, option))) })] })] })] }), _jsx("div", { className: "mx-1.5 mb-1 h-[1px] bg-neutral-200" }), _jsx("div", { className: "h-[calc(100%_-_71px)]", children: _jsxs("div", { className: "h-full overflow-y-auto", children: [state.searchState.hasCompleted && (_jsxs(_Fragment, { children: [_jsx("div", { className: "mb-1 flex h-5 w-full items-center px-1.5 text-sm text-neutral-600", children: state.showingDefaultQueries ? (`Refine your search to get better matches`) : searchResults.length >=
|
|
73
|
-
DATA_CUBE_QUERY_LOADER_TYPEAHEAD_SEARCH_LIMIT ? (_jsxs(_Fragment, { children: [`Found ${DATA_CUBE_QUERY_LOADER_TYPEAHEAD_SEARCH_LIMIT}+ matches`, ' ', _jsx(DataCubeIcon.AlertInfo, { className: "ml-1 text-lg", title: "Some queries are not listed, refine your search to get better matches" })] })) : (`Found ${quantifyList(searchResults, 'match', 'matches')}`) }), searchResults
|
|
74
|
-
.slice(0, DATA_CUBE_QUERY_LOADER_TYPEAHEAD_SEARCH_LIMIT)
|
|
75
|
-
.map((query, idx) => (_jsxs("div", { className: "mx-1.5 mb-0.5 flex h-[42px] w-[calc(100%_-_12px)] cursor-pointer border border-neutral-200 bg-neutral-100 hover:bg-neutral-200", title: "Click to choose query", onClick: () => state.setSelectedQuery(query), children: [_jsxs("div", { className: "w-[calc(100%_-_16px)]", children: [_jsx("div", { className: "h-6 w-4/5 overflow-hidden text-ellipsis whitespace-nowrap px-1.5 leading-6", children: query.name }), _jsxs("div", { className: "flex h-[18px] items-start justify-between px-1.5", children: [_jsxs("div", { className: "flex", children: [_jsx(DataCubeIcon.ClockEdit, { className: "text-sm text-neutral-500" }), _jsx("div", { className: "ml-1 text-sm text-neutral-500", children: query.lastUpdatedAt
|
|
76
|
-
? formatDistanceToNow(new Date(query.lastUpdatedAt), {
|
|
77
|
-
includeSeconds: true,
|
|
78
|
-
addSuffix: true,
|
|
79
|
-
})
|
|
80
|
-
: '(unknown)' })] }), _jsxs("div", { className: "flex", children: [_jsx(DataCubeIcon.User, { className: "text-sm text-neutral-500" }), _jsx("div", { className: "ml-1 text-sm text-neutral-500", children: query.owner })] })] })] }), _jsx("div", { className: "flex h-full w-4 items-center justify-center", children: _jsx(DataCubeIcon.ChevronRight, { className: "text-neutral-600" }) })] }, query.id)))] })), !state.searchState.hasCompleted && (_jsxs("div", { className: "mb-1 flex h-5 w-full items-center px-1.5 text-sm text-neutral-600", children: [_jsx(DataCubeIcon.Loader, { className: "animate-spin stroke-2 text-lg" }), _jsx("span", { className: "ml-1", children: "Searching..." })] }))] }) })] }));
|
|
81
|
-
});
|
|
82
|
-
export const LegendDataCubeQueryLoader = observer(() => {
|
|
83
|
-
const store = useLegendDataCubeQueryBuilderStore();
|
|
84
|
-
const state = store.loader;
|
|
85
|
-
const query = state.selectedQuery;
|
|
86
|
-
return (_jsxs(_Fragment, { children: [_jsx("div", { className: "h-[calc(100%_-_40px)] w-full px-2 pt-2", children: _jsx("div", { className: "h-full w-full overflow-auto border border-neutral-300 bg-white", children: !query ? (_jsx(LegendDataCubeQuerySearcher, {})) : (_jsxs("div", { className: "h-full w-full p-1.5", children: [_jsx("div", { className: "mb-0.5 flex h-[42px] w-full border border-neutral-200 bg-neutral-100", children: _jsxs("div", { className: "w-full", children: [_jsx("div", { className: "h-6 w-4/5 overflow-hidden text-ellipsis whitespace-nowrap px-1.5 leading-6", children: query.name }), _jsxs("div", { className: "flex h-[18px] items-start justify-between px-1.5", children: [_jsxs("div", { className: "flex", children: [_jsx(DataCubeIcon.ClockEdit, { className: "text-sm text-neutral-500" }), _jsx("div", { className: "ml-1 text-sm text-neutral-500", children: query.lastUpdatedAt
|
|
87
|
-
? formatDistanceToNow(new Date(query.lastUpdatedAt), {
|
|
88
|
-
includeSeconds: true,
|
|
89
|
-
addSuffix: true,
|
|
90
|
-
})
|
|
91
|
-
: '(unknown)' })] }), _jsxs("div", { className: "flex", children: [_jsx(DataCubeIcon.User, { className: "text-sm text-neutral-500" }), _jsx("div", { className: "ml-1 text-sm text-neutral-500", children: query.owner })] })] })] }) }), _jsx(FormButton, { className: "mt-1.5", onClick: () => state.setSelectedQuery(undefined), children: "Select Another Query" })] })) }) }), _jsxs("div", { className: "flex h-10 items-center justify-end px-2", children: [_jsx(FormButton, { onClick: () => state.display.close(), children: "Cancel" }), _jsx(FormButton, { className: "ml-2", disabled: !query || state.finalizeState.isInProgress, onClick: () => {
|
|
92
|
-
state
|
|
93
|
-
.finalize()
|
|
94
|
-
.catch((error) => store.alertService.alertUnhandledError(error));
|
|
95
|
-
}, children: "OK" })] })] }));
|
|
96
|
-
});
|
|
97
|
-
//# sourceMappingURL=LegendDataCubeQueryLoader.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LegendDataCubeQueryLoader.js","sourceRoot":"","sources":["../../../src/components/query-builder/LegendDataCubeQueryLoader.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LegendDataCubeQuerySaver.d.ts","sourceRoot":"","sources":["../../../src/components/query-builder/LegendDataCubeQuerySaver.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAYH,eAAO,MAAM,wBAAwB;;CAyFnC,CAAC"}
|