@easyquery/core 7.2.3 → 7.2.4-beta03
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/dist/bundles/easyquery.core.js +9353 -9336
- package/dist/bundles/easyquery.core.js.map +1 -1
- package/dist/bundles/easyquery.core.min.js +1 -1
- package/dist/bundles/easyquery.core.min.js.map +1 -1
- package/dist/lib/common/eq_services.d.ts +56 -56
- package/dist/lib/common/eq_services.js +159 -159
- package/dist/lib/common/query_param.d.ts +25 -25
- package/dist/lib/common/query_param.js +1 -0
- package/dist/lib/common/tree.d.ts +10 -10
- package/dist/lib/common/tree.js +57 -57
- package/dist/lib/data/eq_aggr_container.d.ts +24 -24
- package/dist/lib/data/eq_aggr_container.js +108 -108
- package/dist/lib/data/eq_aggr_container.js.map +1 -1
- package/dist/lib/data/eq_data_loader.d.ts +8 -8
- package/dist/lib/data/eq_data_loader.js +49 -49
- package/dist/lib/data/eq_data_loader.js.map +1 -1
- package/dist/lib/data/google_data_converter.d.ts +82 -82
- package/dist/lib/data/google_data_converter.js +173 -173
- package/dist/lib/data/google_data_converter.js.map +1 -1
- package/dist/lib/dm/aggr_function.d.ts +27 -27
- package/dist/lib/dm/aggr_function.js +42 -42
- package/dist/lib/dm/data_model.d.ts +330 -330
- package/dist/lib/dm/data_model.js +934 -932
- package/dist/lib/dm/data_model.js.map +1 -1
- package/dist/lib/dm/dto/af_data.d.ts +16 -16
- package/dist/lib/dm/dto/af_data.js +1 -0
- package/dist/lib/dm/dto/dm_data.d.ts +34 -34
- package/dist/lib/dm/dto/dm_data.js +1 -0
- package/dist/lib/dm/dto/entity_data.d.ts +37 -37
- package/dist/lib/dm/dto/entity_data.js +1 -0
- package/dist/lib/dm/dto/operator_data.d.ts +44 -44
- package/dist/lib/dm/dto/operator_data.js +1 -0
- package/dist/lib/dm/dto/ve_data.d.ts +10 -10
- package/dist/lib/dm/dto/ve_data.js +1 -0
- package/dist/lib/dm/entity.d.ts +71 -71
- package/dist/lib/dm/entity.js +90 -88
- package/dist/lib/dm/entity.js.map +1 -1
- package/dist/lib/dm/link.d.ts +7 -7
- package/dist/lib/dm/link.js +1 -0
- package/dist/lib/dm/operator.d.ts +80 -80
- package/dist/lib/dm/operator.js +93 -93
- package/dist/lib/dm/value_editor.d.ts +16 -16
- package/dist/lib/dm/value_editor.js +43 -41
- package/dist/lib/dm/value_editor.js.map +1 -1
- package/dist/lib/eqs/eqs_data_fetcher.d.ts +7 -7
- package/dist/lib/eqs/eqs_data_fetcher.js +36 -36
- package/dist/lib/eqs/eqs_exporter.d.ts +10 -10
- package/dist/lib/eqs/eqs_exporter.js +57 -54
- package/dist/lib/eqs/eqs_exporter.js.map +1 -1
- package/dist/lib/eqs/eqs_model_loader.d.ts +7 -7
- package/dist/lib/eqs/eqs_model_loader.js +42 -40
- package/dist/lib/eqs/eqs_model_loader.js.map +1 -1
- package/dist/lib/eqs/eqs_query_file_loader.d.ts +9 -9
- package/dist/lib/eqs/eqs_query_file_loader.js +54 -54
- package/dist/lib/eqs/eqs_query_file_loader.js.map +1 -1
- package/dist/lib/eqs/eqs_query_synchronizer.d.ts +7 -7
- package/dist/lib/eqs/eqs_query_synchronizer.js +23 -23
- package/dist/lib/eqs/eqs_value_list_resolver.d.ts +7 -7
- package/dist/lib/eqs/eqs_value_list_resolver.js +28 -28
- package/dist/lib/export/exporter.d.ts +16 -16
- package/dist/lib/export/exporter.js +1 -0
- package/dist/lib/i18n/text_resources.d.ts +1 -1
- package/dist/lib/i18n/text_resources.js +26 -26
- package/dist/lib/i18n/text_resources.js.map +1 -1
- package/dist/lib/main/action.d.ts +13 -13
- package/dist/lib/main/action.js +5 -5
- package/dist/lib/main/context.d.ts +342 -342
- package/dist/lib/main/context.js +1439 -1439
- package/dist/lib/main/context.js.map +1 -1
- package/dist/lib/main/context_options.d.ts +145 -145
- package/dist/lib/main/context_options.js +1 -0
- package/dist/lib/main/data_fetcher.d.ts +46 -46
- package/dist/lib/main/data_fetcher.js +1 -0
- package/dist/lib/main/eq_actions.d.ts +14 -14
- package/dist/lib/main/eq_actions.js +15 -15
- package/dist/lib/main/list_cache.d.ts +8 -8
- package/dist/lib/main/list_cache.js +1 -0
- package/dist/lib/main/model_loader.d.ts +21 -21
- package/dist/lib/main/model_loader.js +32 -32
- package/dist/lib/main/model_storage.d.ts +13 -13
- package/dist/lib/main/model_storage.js +17 -17
- package/dist/lib/main/query_file_loader.d.ts +15 -15
- package/dist/lib/main/query_file_loader.js +1 -0
- package/dist/lib/main/query_storage.d.ts +58 -58
- package/dist/lib/main/query_storage.js +124 -124
- package/dist/lib/main/query_synchronizer.d.ts +9 -9
- package/dist/lib/main/query_synchronizer.js +1 -0
- package/dist/lib/main/value_list_resolver.d.ts +18 -18
- package/dist/lib/main/value_list_resolver.js +1 -0
- package/dist/lib/main/widget.d.ts +74 -74
- package/dist/lib/main/widget.js +101 -101
- package/dist/lib/public_api.d.ts +58 -58
- package/dist/lib/public_api.js +59 -42
- package/dist/lib/public_api.js.map +1 -1
- package/dist/lib/query/condition.d.ts +97 -97
- package/dist/lib/query/condition.js +331 -331
- package/dist/lib/query/descriptors.d.ts +36 -36
- package/dist/lib/query/descriptors.js +1 -0
- package/dist/lib/query/dto/condition_data.d.ts +38 -38
- package/dist/lib/query/dto/condition_data.js +1 -0
- package/dist/lib/query/dto/expression_data.d.ts +32 -32
- package/dist/lib/query/dto/expression_data.js +1 -0
- package/dist/lib/query/dto/query_column_data.d.ts +28 -28
- package/dist/lib/query/dto/query_column_data.js +1 -0
- package/dist/lib/query/dto/query_data.d.ts +27 -27
- package/dist/lib/query/dto/query_data.js +1 -0
- package/dist/lib/query/expression.d.ts +69 -69
- package/dist/lib/query/expression.js +202 -202
- package/dist/lib/query/query.d.ts +410 -410
- package/dist/lib/query/query.js +1393 -1391
- package/dist/lib/query/query.js.map +1 -1
- package/dist/lib/query/query_column.d.ts +70 -70
- package/dist/lib/query/query_column.js +157 -157
- package/dist/lib/query/query_events.d.ts +29 -29
- package/dist/lib/query/query_events.js +19 -19
- package/dist/lib/types/cond_part.d.ts +6 -6
- package/dist/lib/types/cond_part.js +7 -7
- package/dist/lib/types/cond_tag.d.ts +12 -12
- package/dist/lib/types/cond_tag.js +13 -13
- package/dist/lib/types/data_kind.d.ts +15 -15
- package/dist/lib/types/data_kind.js +16 -16
- package/dist/lib/types/eq_editor_tag.d.ts +17 -17
- package/dist/lib/types/eq_editor_tag.js +20 -20
- package/dist/lib/types/expr_tag.d.ts +19 -19
- package/dist/lib/types/expr_tag.js +20 -20
- package/dist/lib/types/link_type.d.ts +17 -17
- package/dist/lib/types/link_type.js +18 -18
- package/dist/lib/types/widget_group.d.ts +17 -17
- package/dist/lib/types/widget_group.js +18 -18
- package/dist/lib/utils/constants.d.ts +36 -36
- package/dist/lib/utils/constants.js +50 -50
- package/dist/lib/utils/format_parser.d.ts +40 -40
- package/dist/lib/utils/format_parser.js +87 -87
- package/dist/lib/utils/utils.d.ts +34 -34
- package/dist/lib/utils/utils.js +102 -102
- package/dist/lib/utils/version_info.d.ts +9 -9
- package/dist/lib/utils/version_info.js +12 -12
- package/dist/lib/utils/version_info.js.map +1 -1
- package/package.json +16 -16
- package/webpack.config.js +6 -5
|
@@ -1,342 +1,342 @@
|
|
|
1
|
-
import { EasyDataTable } from '@easydata/core';
|
|
2
|
-
import { i18n } from '@easydata/core';
|
|
3
|
-
import { EqServiceProvider } from '../common/eq_services';
|
|
4
|
-
import { DataModel } from '../dm/data_model';
|
|
5
|
-
import { Query } from '../query/query';
|
|
6
|
-
import { Widget } from './widget';
|
|
7
|
-
import { ContextExportResultOptions, ContextFetchDataOptions, ContextGetQueryFileOptions, ContextLoadModelOptions, ContextLoadQueryListOptions, ContextLoadQueryOptions, ContextLoadValueListOptions, ContextNewQueryOptions, ContextRemoveQueryOptions, ContextSaveQueryOptions, ContextSyncQueryOptions, ContextUploadQueryFileOptions, EqContextOptions } from './context_options';
|
|
8
|
-
import { ExternalListCache } from './list_cache';
|
|
9
|
-
import { ActionStatus } from './action';
|
|
10
|
-
import { QueryData } from '../query/dto/query_data';
|
|
11
|
-
import { ModelPlainData } from '../dm/dto/dm_data';
|
|
12
|
-
import { WidgetGroup } from '../types/widget_group';
|
|
13
|
-
import { EqExporter } from '../export/exporter';
|
|
14
|
-
import { EasyQueryDataLoader } from '../data/eq_data_loader';
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Encapsulates all information about EasyQuery components on some webpage
|
|
18
|
-
* and provides some basic operation over those components
|
|
19
|
-
* Each context includes the following main components:
|
|
20
|
-
* - one data model,
|
|
21
|
-
* - one query,
|
|
22
|
-
* - one result set
|
|
23
|
-
* - several UI widgets.
|
|
24
|
-
*/
|
|
25
|
-
export declare class EqContext {
|
|
26
|
-
private servicesInitialized;
|
|
27
|
-
private eqServices;
|
|
28
|
-
private internalListCache;
|
|
29
|
-
private externalListCache?;
|
|
30
|
-
private dataModel;
|
|
31
|
-
defaultModelId?: string;
|
|
32
|
-
private query;
|
|
33
|
-
defaultQueryId?: string;
|
|
34
|
-
initialQuery?: QueryData;
|
|
35
|
-
resultTable: EasyDataTable;
|
|
36
|
-
dataLoader: EasyQueryDataLoader;
|
|
37
|
-
resultContent?: string;
|
|
38
|
-
resultStatement?: string;
|
|
39
|
-
private widgets;
|
|
40
|
-
private eventEmitter;
|
|
41
|
-
private errorHandlerId;
|
|
42
|
-
clientListRequestHandler: (data: any, callback: (list: any) => void) => boolean;
|
|
43
|
-
loadModelOnStart: boolean;
|
|
44
|
-
loadQueryOnStart: boolean;
|
|
45
|
-
private exporters;
|
|
46
|
-
private endpoints;
|
|
47
|
-
useStoredQueryOnFetch: boolean;
|
|
48
|
-
debugMode: boolean;
|
|
49
|
-
private _backendInfo;
|
|
50
|
-
/**
|
|
51
|
-
* Tuners.
|
|
52
|
-
* Each tuner is a function which are called before sending a request to the server
|
|
53
|
-
*/
|
|
54
|
-
private beforeLoadModel?;
|
|
55
|
-
private beforeSyncQuery?;
|
|
56
|
-
private beforeLoadQuery?;
|
|
57
|
-
private beforeFetchData?;
|
|
58
|
-
private beforeExportResult?;
|
|
59
|
-
private afterGroupFetch?;
|
|
60
|
-
constructor();
|
|
61
|
-
getServices(): EqServiceProvider;
|
|
62
|
-
registerExporter(format: string, resolver: EqExporterResolver): void;
|
|
63
|
-
registerServerExporter(format: string, responseType: XMLHttpRequestResponseType): void;
|
|
64
|
-
getExporter(format: string): EqExporter | null;
|
|
65
|
-
getExportFormats(): string[];
|
|
66
|
-
addDefaultExporters(): void;
|
|
67
|
-
private endpointVarsRegex;
|
|
68
|
-
resolveEndpoint(endpointKey: EqEndpointKey, options?: any): string;
|
|
69
|
-
setEndpoint(key: EqEndpointKey, value: string): void;
|
|
70
|
-
setEnpointIfNotExist(key: EqEndpointKey, value: string): void;
|
|
71
|
-
private setDefaultEndpoints;
|
|
72
|
-
private elasticPaging;
|
|
73
|
-
initStart(): void;
|
|
74
|
-
/**
|
|
75
|
-
* Initializes the context
|
|
76
|
-
* @param options
|
|
77
|
-
*/
|
|
78
|
-
init(options?: EqContextOptions): void;
|
|
79
|
-
get backendInfo(): EqBackendInfo;
|
|
80
|
-
/**
|
|
81
|
-
* Sets endpoint for all EasyQuery actions. Should be called before `init` and
|
|
82
|
-
* `useEnterprise` methods
|
|
83
|
-
* @param endpoint
|
|
84
|
-
* @example
|
|
85
|
-
* ```
|
|
86
|
-
* view.getContext()
|
|
87
|
-
* .useEndpoint('/api/easyquery')
|
|
88
|
-
* .useEnterprise(function () {
|
|
89
|
-
* view.init();
|
|
90
|
-
* });
|
|
91
|
-
* ```
|
|
92
|
-
*/
|
|
93
|
-
useEndpoint(endpoint: string): EqContext;
|
|
94
|
-
/**
|
|
95
|
-
* Allows to specify the type of backend service.
|
|
96
|
-
*
|
|
97
|
-
* @param backendInfo - the structure that contains information about the app used on the backend
|
|
98
|
-
* Possible values for `ptag` property: 'EQN-ANC' - ASP.NET Core or 'EQN-ASP' - for ASP.NET 4 backend
|
|
99
|
-
*/
|
|
100
|
-
useBackend(backendInfo: EqBackendInfo): EqContext;
|
|
101
|
-
/**
|
|
102
|
-
* Add a new widget to the context.
|
|
103
|
-
* After that the widget will start to receive messages from other context components.
|
|
104
|
-
* @param widget
|
|
105
|
-
*/
|
|
106
|
-
addWidget(widget: Widget): void;
|
|
107
|
-
/**
|
|
108
|
-
* Returns all widgets with current type.
|
|
109
|
-
* @param widgetType The widget type
|
|
110
|
-
*/
|
|
111
|
-
getAllWidgetsByType(widgetType: string): Widget[];
|
|
112
|
-
/**
|
|
113
|
-
* Returns first registerd widget with current type
|
|
114
|
-
* @param widgetType The widget type
|
|
115
|
-
*/
|
|
116
|
-
getWidgetByType(widgetType: string): Widget | null;
|
|
117
|
-
/**
|
|
118
|
-
* This method is called automatically when some change was made either in context's data model or query
|
|
119
|
-
* @param groups
|
|
120
|
-
*/
|
|
121
|
-
refreshWidgets(groups?: WidgetGroup): void;
|
|
122
|
-
/**
|
|
123
|
-
* Register a new handler for 'query changed' event
|
|
124
|
-
* @param callback
|
|
125
|
-
*/
|
|
126
|
-
addQueryChangedCallback(callback: any): void;
|
|
127
|
-
/**
|
|
128
|
-
* Removes the function from the list of registerd handlers for 'query changed' event
|
|
129
|
-
* @param callback
|
|
130
|
-
*/
|
|
131
|
-
removeQueryChangedCallback(callback: any): void;
|
|
132
|
-
/**
|
|
133
|
-
* Creates a new query object using the current instance of EqServices
|
|
134
|
-
*/
|
|
135
|
-
createQuery(): Query;
|
|
136
|
-
/**
|
|
137
|
-
* Gets the current query
|
|
138
|
-
*/
|
|
139
|
-
getQuery(): Query;
|
|
140
|
-
/**
|
|
141
|
-
* Gets the current data model
|
|
142
|
-
*/
|
|
143
|
-
getModel(): DataModel;
|
|
144
|
-
/**
|
|
145
|
-
* Sets the content of the current data model
|
|
146
|
-
*/
|
|
147
|
-
loadModelFromData(modelPlainData: ModelPlainData): void;
|
|
148
|
-
/**
|
|
149
|
-
* Sets the ID of the default model
|
|
150
|
-
* @param modelId
|
|
151
|
-
*/
|
|
152
|
-
setDefaultModelId(modelId: string): void;
|
|
153
|
-
/**
|
|
154
|
-
* Notifies context components about starting of some long process (e.g. model loading)
|
|
155
|
-
* This method raises onProcessStart event in the context and all its widgets
|
|
156
|
-
* @param message
|
|
157
|
-
* @param groups
|
|
158
|
-
*/
|
|
159
|
-
startProcess(message: ActionStatus, groups?: WidgetGroup): void;
|
|
160
|
-
/**
|
|
161
|
-
* Notifies all context components about the finishing of some long process
|
|
162
|
-
* @param status
|
|
163
|
-
* @param groups
|
|
164
|
-
*/
|
|
165
|
-
endProcess(status: ActionStatus, groups?: WidgetGroup): void;
|
|
166
|
-
/**
|
|
167
|
-
* Throws the error passed in the function parameter.
|
|
168
|
-
* If onError event handler is defined - we call that method.
|
|
169
|
-
* Otherwise - just place the error message to the browser console.
|
|
170
|
-
* @param error
|
|
171
|
-
*/
|
|
172
|
-
throwError(status: ActionStatus): void;
|
|
173
|
-
/**
|
|
174
|
-
* If `defaultModelId` property is define - this method calls `loadModel` function in the broker
|
|
175
|
-
* to load the model with such ID.
|
|
176
|
-
*/
|
|
177
|
-
loadDefaultModel(): void;
|
|
178
|
-
/**
|
|
179
|
-
* Clears the content of the current query
|
|
180
|
-
*/
|
|
181
|
-
clearQuery(): void;
|
|
182
|
-
/**
|
|
183
|
-
* Clears all query results (the data set and the statement, if any)
|
|
184
|
-
*/
|
|
185
|
-
clearResult(): void;
|
|
186
|
-
/**
|
|
187
|
-
* Sets the external 'list cache' provider - an object which implements `ExternalListCache` inteface
|
|
188
|
-
* @param cache
|
|
189
|
-
*/
|
|
190
|
-
setExternalListCache(cache: ExternalListCache): void;
|
|
191
|
-
private getListFromCache;
|
|
192
|
-
private getListCacheKey;
|
|
193
|
-
private addListToCache;
|
|
194
|
-
/**
|
|
195
|
-
* Clears the current list cache.
|
|
196
|
-
*/
|
|
197
|
-
resetListCache(): void;
|
|
198
|
-
/**
|
|
199
|
-
* Gets the handler for 'GetList' requests
|
|
200
|
-
*/
|
|
201
|
-
getListRequestHandler(): any;
|
|
202
|
-
private _predefinedListRequestHandlers;
|
|
203
|
-
private _listRequestHandler;
|
|
204
|
-
/**
|
|
205
|
-
* Adds the translations of the EasyQuery messages for some locale
|
|
206
|
-
* @param locale - the ISO code of the locale (like `en` or `uk`)
|
|
207
|
-
* @param localeInfo - Locale settings and translations of EasyQuery texts and messages.
|
|
208
|
-
* We expected an object with the struture of LocaleInfo interface here.
|
|
209
|
-
*/
|
|
210
|
-
addLocale(locale: string, localeInfo: i18n.LocaleInfo): void;
|
|
211
|
-
/**
|
|
212
|
-
* Adds event listener for event type.
|
|
213
|
-
* @param eventType The event type
|
|
214
|
-
* @param handler The handler for event
|
|
215
|
-
*/
|
|
216
|
-
addEventListener(eventType: 'ready' | 'loadModel' | 'initialModelLoad' | 'loadQuery' | 'syncQuery' | 'fetchData' | 'exportResult', handler: (context: EqContext) => void): string;
|
|
217
|
-
addEventListener(eventType: 'processStart' | 'processEnd', handler: (context: EqContext, status: ActionStatus) => void): string;
|
|
218
|
-
addEventListener(eventType: 'error', handler: (context: EqContext, status: ActionStatus) => void): string;
|
|
219
|
-
/**
|
|
220
|
-
* Remove event handler for event type .
|
|
221
|
-
* @param eventType The event type.
|
|
222
|
-
* @param handlerId The handler id.
|
|
223
|
-
*/
|
|
224
|
-
removeEventListener(eventType: string, handlerId: string): void;
|
|
225
|
-
/**
|
|
226
|
-
* Fires event.
|
|
227
|
-
* @param eventType The event type.
|
|
228
|
-
*/
|
|
229
|
-
fireEvent(eventType: 'ready' | 'loadModel' | 'initialModelLoad' | 'loadQuery' | 'syncQuery' | 'fetchData' | 'exportResult'): any;
|
|
230
|
-
fireEvent(eventType: 'processStart' | 'processEnd', data: ActionStatus): any;
|
|
231
|
-
fireEvent(eventType: 'error', data: Error): any;
|
|
232
|
-
private baseEndpoint;
|
|
233
|
-
getBaseEndpoint(): string;
|
|
234
|
-
/**
|
|
235
|
-
* Sends a `loadValueList` requesthe server and processes the response.
|
|
236
|
-
* @param options A map of options to pass to `loadValueList` function.
|
|
237
|
-
*/
|
|
238
|
-
loadValueList(options?: ContextLoadValueListOptions): void;
|
|
239
|
-
/**
|
|
240
|
-
* Starts the process of the model loading.
|
|
241
|
-
* This method can initiate a request to EasyQueryServer backend or get the model from OData or GraphQL endpoint
|
|
242
|
-
* The content of the `options` parameter depends on concrete loader implementation.
|
|
243
|
-
* @param options A map of options to pass to `loadModel` function (can be ommited)
|
|
244
|
-
* @example
|
|
245
|
-
* context.loadModel()
|
|
246
|
-
* .then(model => {
|
|
247
|
-
* alert("Model loaded!");
|
|
248
|
-
* });
|
|
249
|
-
*/
|
|
250
|
-
loadModel(options?: ContextLoadModelOptions): Promise<DataModel>;
|
|
251
|
-
callWhenModelLoaded(callFunc: any): void;
|
|
252
|
-
/**
|
|
253
|
-
* Loads the query
|
|
254
|
-
* @param options
|
|
255
|
-
* The content of the `options` parameter depends on `QueryStorage` implementation.
|
|
256
|
-
* Usually it contains `success`, `error` callbacks and `queryId` property of the query to load.
|
|
257
|
-
* @example
|
|
258
|
-
* context.loadQuery({
|
|
259
|
-
* queryId: "query-id"
|
|
260
|
-
* });
|
|
261
|
-
*/
|
|
262
|
-
loadQuery(options?: ContextLoadQueryOptions): void;
|
|
263
|
-
/**
|
|
264
|
-
* Loads the list of queries available for the current user.
|
|
265
|
-
* @param options
|
|
266
|
-
* The content of the `options` parameter depends on `QueryStorage` implementation.
|
|
267
|
-
* Usually it contains `success`, `error` callbacks
|
|
268
|
-
*/
|
|
269
|
-
loadQueryList(options?: ContextLoadQueryListOptions): void;
|
|
270
|
-
protected startQueryListLoading(options?: ContextLoadQueryListOptions): void;
|
|
271
|
-
/**
|
|
272
|
-
* Creates a new query and returns its content back to the client-side.
|
|
273
|
-
* @param options
|
|
274
|
-
* The content of the `options` parameter depends on `QueryStorage` implementation.
|
|
275
|
-
* Usually it contains `success`, `error` callbacks and `silent` option
|
|
276
|
-
* @example
|
|
277
|
-
* context.newQuery({
|
|
278
|
-
* silent: true
|
|
279
|
-
* });
|
|
280
|
-
*/
|
|
281
|
-
newQuery(options?: ContextNewQueryOptions): Query;
|
|
282
|
-
/**
|
|
283
|
-
* Saves the current query to some storage on the server-side.
|
|
284
|
-
* @param options
|
|
285
|
-
* The content of the `options` parameter depends on `QueryStorage` implementation.
|
|
286
|
-
* Usually it contains `success` and `error` callbacks
|
|
287
|
-
*/
|
|
288
|
-
saveQuery(options?: ContextSaveQueryOptions): void;
|
|
289
|
-
/**
|
|
290
|
-
* Removes the current query from some storage on the server-side.
|
|
291
|
-
* @param options
|
|
292
|
-
* The content of the `options` parameter depends on `QueryStorage` implementation.
|
|
293
|
-
* Usually it contains `success` and `error` callbacks
|
|
294
|
-
*/
|
|
295
|
-
removeQuery(options?: ContextRemoveQueryOptions): void;
|
|
296
|
-
/**
|
|
297
|
-
* Syncronizes the current query.
|
|
298
|
-
* @param options
|
|
299
|
-
* The content of the `options` parameter depends on `QuerySyncronizer` implementation.
|
|
300
|
-
* Usually it contains `success` and `error` callbacks
|
|
301
|
-
*/
|
|
302
|
-
syncQuery(options?: ContextSyncQueryOptions): void;
|
|
303
|
-
/**
|
|
304
|
-
* Fetches the data (usuall by executing current query) and processes the result.
|
|
305
|
-
* @param options
|
|
306
|
-
* The `options` parameter in addition to the options defined in FetchDataOptions structure may also contain `success` and `error` callbacks.
|
|
307
|
-
* @example
|
|
308
|
-
* context.fetchData({ success: function(result) {
|
|
309
|
-
* //do whatever you want with the result
|
|
310
|
-
* }})
|
|
311
|
-
*
|
|
312
|
-
*/
|
|
313
|
-
fetchData(options?: ContextFetchDataOptions): void;
|
|
314
|
-
getQueryFile(options?: ContextGetQueryFileOptions): void;
|
|
315
|
-
uploadQueryFile(options?: ContextUploadQueryFileOptions): void;
|
|
316
|
-
fetchDataChunk(options?: ContextFetchDataOptions): void;
|
|
317
|
-
protected onResultTableUpdate(): void;
|
|
318
|
-
/**
|
|
319
|
-
* Fetches the data for a drill-down query (if defined) and processes the result.
|
|
320
|
-
* @param options
|
|
321
|
-
*/
|
|
322
|
-
fetchDrillDownData(options: ContextFetchDataOptions): void;
|
|
323
|
-
/**
|
|
324
|
-
* Fetches the data for defined by this context and exports them to the specified format.
|
|
325
|
-
* @param options
|
|
326
|
-
* The content of the `options` parameter depends on `EqExporter` implementation.
|
|
327
|
-
* Usually it contains `format` property which defines the format of the exported data (e.g. `csv`),
|
|
328
|
-
* and `success` and `error` callbacks
|
|
329
|
-
* @example
|
|
330
|
-
* context.exportResult({
|
|
331
|
-
* format: csv
|
|
332
|
-
* });
|
|
333
|
-
*
|
|
334
|
-
*/
|
|
335
|
-
exportResult(options?: ContextExportResultOptions): void;
|
|
336
|
-
}
|
|
337
|
-
|
|
338
|
-
export interface EqBackendInfo {
|
|
339
|
-
type?: string;
|
|
340
|
-
subType?: string;
|
|
341
|
-
}
|
|
342
|
-
export {};
|
|
1
|
+
import { EasyDataTable } from '@easydata/core';
|
|
2
|
+
import { i18n } from '@easydata/core';
|
|
3
|
+
import { EqServiceProvider } from '../common/eq_services';
|
|
4
|
+
import { DataModel } from '../dm/data_model';
|
|
5
|
+
import { Query } from '../query/query';
|
|
6
|
+
import { Widget } from './widget';
|
|
7
|
+
import { ContextExportResultOptions, ContextFetchDataOptions, ContextGetQueryFileOptions, ContextLoadModelOptions, ContextLoadQueryListOptions, ContextLoadQueryOptions, ContextLoadValueListOptions, ContextNewQueryOptions, ContextRemoveQueryOptions, ContextSaveQueryOptions, ContextSyncQueryOptions, ContextUploadQueryFileOptions, EqContextOptions } from './context_options';
|
|
8
|
+
import { ExternalListCache } from './list_cache';
|
|
9
|
+
import { ActionStatus } from './action';
|
|
10
|
+
import { QueryData } from '../query/dto/query_data';
|
|
11
|
+
import { ModelPlainData } from '../dm/dto/dm_data';
|
|
12
|
+
import { WidgetGroup } from '../types/widget_group';
|
|
13
|
+
import { EqExporter } from '../export/exporter';
|
|
14
|
+
import { EasyQueryDataLoader } from '../data/eq_data_loader';
|
|
15
|
+
type EqExporterResolver = (context: EqContext) => EqExporter;
|
|
16
|
+
/**
|
|
17
|
+
* Encapsulates all information about EasyQuery components on some webpage
|
|
18
|
+
* and provides some basic operation over those components
|
|
19
|
+
* Each context includes the following main components:
|
|
20
|
+
* - one data model,
|
|
21
|
+
* - one query,
|
|
22
|
+
* - one result set
|
|
23
|
+
* - several UI widgets.
|
|
24
|
+
*/
|
|
25
|
+
export declare class EqContext {
|
|
26
|
+
private servicesInitialized;
|
|
27
|
+
private eqServices;
|
|
28
|
+
private internalListCache;
|
|
29
|
+
private externalListCache?;
|
|
30
|
+
private dataModel;
|
|
31
|
+
defaultModelId?: string;
|
|
32
|
+
private query;
|
|
33
|
+
defaultQueryId?: string;
|
|
34
|
+
initialQuery?: QueryData;
|
|
35
|
+
resultTable: EasyDataTable;
|
|
36
|
+
dataLoader: EasyQueryDataLoader;
|
|
37
|
+
resultContent?: string;
|
|
38
|
+
resultStatement?: string;
|
|
39
|
+
private widgets;
|
|
40
|
+
private eventEmitter;
|
|
41
|
+
private errorHandlerId;
|
|
42
|
+
clientListRequestHandler: (data: any, callback: (list: any) => void) => boolean;
|
|
43
|
+
loadModelOnStart: boolean;
|
|
44
|
+
loadQueryOnStart: boolean;
|
|
45
|
+
private exporters;
|
|
46
|
+
private endpoints;
|
|
47
|
+
useStoredQueryOnFetch: boolean;
|
|
48
|
+
debugMode: boolean;
|
|
49
|
+
private _backendInfo;
|
|
50
|
+
/**
|
|
51
|
+
* Tuners.
|
|
52
|
+
* Each tuner is a function which are called before sending a request to the server
|
|
53
|
+
*/
|
|
54
|
+
private beforeLoadModel?;
|
|
55
|
+
private beforeSyncQuery?;
|
|
56
|
+
private beforeLoadQuery?;
|
|
57
|
+
private beforeFetchData?;
|
|
58
|
+
private beforeExportResult?;
|
|
59
|
+
private afterGroupFetch?;
|
|
60
|
+
constructor();
|
|
61
|
+
getServices(): EqServiceProvider;
|
|
62
|
+
registerExporter(format: string, resolver: EqExporterResolver): void;
|
|
63
|
+
registerServerExporter(format: string, responseType: XMLHttpRequestResponseType): void;
|
|
64
|
+
getExporter(format: string): EqExporter | null;
|
|
65
|
+
getExportFormats(): string[];
|
|
66
|
+
addDefaultExporters(): void;
|
|
67
|
+
private endpointVarsRegex;
|
|
68
|
+
resolveEndpoint(endpointKey: EqEndpointKey, options?: any): string;
|
|
69
|
+
setEndpoint(key: EqEndpointKey, value: string): void;
|
|
70
|
+
setEnpointIfNotExist(key: EqEndpointKey, value: string): void;
|
|
71
|
+
private setDefaultEndpoints;
|
|
72
|
+
private elasticPaging;
|
|
73
|
+
initStart(): void;
|
|
74
|
+
/**
|
|
75
|
+
* Initializes the context
|
|
76
|
+
* @param options
|
|
77
|
+
*/
|
|
78
|
+
init(options?: EqContextOptions): void;
|
|
79
|
+
get backendInfo(): EqBackendInfo;
|
|
80
|
+
/**
|
|
81
|
+
* Sets endpoint for all EasyQuery actions. Should be called before `init` and
|
|
82
|
+
* `useEnterprise` methods
|
|
83
|
+
* @param endpoint
|
|
84
|
+
* @example
|
|
85
|
+
* ```
|
|
86
|
+
* view.getContext()
|
|
87
|
+
* .useEndpoint('/api/easyquery')
|
|
88
|
+
* .useEnterprise(function () {
|
|
89
|
+
* view.init();
|
|
90
|
+
* });
|
|
91
|
+
* ```
|
|
92
|
+
*/
|
|
93
|
+
useEndpoint(endpoint: string): EqContext;
|
|
94
|
+
/**
|
|
95
|
+
* Allows to specify the type of backend service.
|
|
96
|
+
*
|
|
97
|
+
* @param backendInfo - the structure that contains information about the app used on the backend
|
|
98
|
+
* Possible values for `ptag` property: 'EQN-ANC' - ASP.NET Core or 'EQN-ASP' - for ASP.NET 4 backend
|
|
99
|
+
*/
|
|
100
|
+
useBackend(backendInfo: EqBackendInfo): EqContext;
|
|
101
|
+
/**
|
|
102
|
+
* Add a new widget to the context.
|
|
103
|
+
* After that the widget will start to receive messages from other context components.
|
|
104
|
+
* @param widget
|
|
105
|
+
*/
|
|
106
|
+
addWidget(widget: Widget): void;
|
|
107
|
+
/**
|
|
108
|
+
* Returns all widgets with current type.
|
|
109
|
+
* @param widgetType The widget type
|
|
110
|
+
*/
|
|
111
|
+
getAllWidgetsByType(widgetType: string): Widget[];
|
|
112
|
+
/**
|
|
113
|
+
* Returns first registerd widget with current type
|
|
114
|
+
* @param widgetType The widget type
|
|
115
|
+
*/
|
|
116
|
+
getWidgetByType(widgetType: string): Widget | null;
|
|
117
|
+
/**
|
|
118
|
+
* This method is called automatically when some change was made either in context's data model or query
|
|
119
|
+
* @param groups
|
|
120
|
+
*/
|
|
121
|
+
refreshWidgets(groups?: WidgetGroup): void;
|
|
122
|
+
/**
|
|
123
|
+
* Register a new handler for 'query changed' event
|
|
124
|
+
* @param callback
|
|
125
|
+
*/
|
|
126
|
+
addQueryChangedCallback(callback: any): void;
|
|
127
|
+
/**
|
|
128
|
+
* Removes the function from the list of registerd handlers for 'query changed' event
|
|
129
|
+
* @param callback
|
|
130
|
+
*/
|
|
131
|
+
removeQueryChangedCallback(callback: any): void;
|
|
132
|
+
/**
|
|
133
|
+
* Creates a new query object using the current instance of EqServices
|
|
134
|
+
*/
|
|
135
|
+
createQuery(): Query;
|
|
136
|
+
/**
|
|
137
|
+
* Gets the current query
|
|
138
|
+
*/
|
|
139
|
+
getQuery(): Query;
|
|
140
|
+
/**
|
|
141
|
+
* Gets the current data model
|
|
142
|
+
*/
|
|
143
|
+
getModel(): DataModel;
|
|
144
|
+
/**
|
|
145
|
+
* Sets the content of the current data model
|
|
146
|
+
*/
|
|
147
|
+
loadModelFromData(modelPlainData: ModelPlainData): void;
|
|
148
|
+
/**
|
|
149
|
+
* Sets the ID of the default model
|
|
150
|
+
* @param modelId
|
|
151
|
+
*/
|
|
152
|
+
setDefaultModelId(modelId: string): void;
|
|
153
|
+
/**
|
|
154
|
+
* Notifies context components about starting of some long process (e.g. model loading)
|
|
155
|
+
* This method raises onProcessStart event in the context and all its widgets
|
|
156
|
+
* @param message
|
|
157
|
+
* @param groups
|
|
158
|
+
*/
|
|
159
|
+
startProcess(message: ActionStatus, groups?: WidgetGroup): void;
|
|
160
|
+
/**
|
|
161
|
+
* Notifies all context components about the finishing of some long process
|
|
162
|
+
* @param status
|
|
163
|
+
* @param groups
|
|
164
|
+
*/
|
|
165
|
+
endProcess(status: ActionStatus, groups?: WidgetGroup): void;
|
|
166
|
+
/**
|
|
167
|
+
* Throws the error passed in the function parameter.
|
|
168
|
+
* If onError event handler is defined - we call that method.
|
|
169
|
+
* Otherwise - just place the error message to the browser console.
|
|
170
|
+
* @param error
|
|
171
|
+
*/
|
|
172
|
+
throwError(status: ActionStatus): void;
|
|
173
|
+
/**
|
|
174
|
+
* If `defaultModelId` property is define - this method calls `loadModel` function in the broker
|
|
175
|
+
* to load the model with such ID.
|
|
176
|
+
*/
|
|
177
|
+
loadDefaultModel(): void;
|
|
178
|
+
/**
|
|
179
|
+
* Clears the content of the current query
|
|
180
|
+
*/
|
|
181
|
+
clearQuery(): void;
|
|
182
|
+
/**
|
|
183
|
+
* Clears all query results (the data set and the statement, if any)
|
|
184
|
+
*/
|
|
185
|
+
clearResult(): void;
|
|
186
|
+
/**
|
|
187
|
+
* Sets the external 'list cache' provider - an object which implements `ExternalListCache` inteface
|
|
188
|
+
* @param cache
|
|
189
|
+
*/
|
|
190
|
+
setExternalListCache(cache: ExternalListCache): void;
|
|
191
|
+
private getListFromCache;
|
|
192
|
+
private getListCacheKey;
|
|
193
|
+
private addListToCache;
|
|
194
|
+
/**
|
|
195
|
+
* Clears the current list cache.
|
|
196
|
+
*/
|
|
197
|
+
resetListCache(): void;
|
|
198
|
+
/**
|
|
199
|
+
* Gets the handler for 'GetList' requests
|
|
200
|
+
*/
|
|
201
|
+
getListRequestHandler(): any;
|
|
202
|
+
private _predefinedListRequestHandlers;
|
|
203
|
+
private _listRequestHandler;
|
|
204
|
+
/**
|
|
205
|
+
* Adds the translations of the EasyQuery messages for some locale
|
|
206
|
+
* @param locale - the ISO code of the locale (like `en` or `uk`)
|
|
207
|
+
* @param localeInfo - Locale settings and translations of EasyQuery texts and messages.
|
|
208
|
+
* We expected an object with the struture of LocaleInfo interface here.
|
|
209
|
+
*/
|
|
210
|
+
addLocale(locale: string, localeInfo: i18n.LocaleInfo): void;
|
|
211
|
+
/**
|
|
212
|
+
* Adds event listener for event type.
|
|
213
|
+
* @param eventType The event type
|
|
214
|
+
* @param handler The handler for event
|
|
215
|
+
*/
|
|
216
|
+
addEventListener(eventType: 'ready' | 'loadModel' | 'initialModelLoad' | 'loadQuery' | 'syncQuery' | 'fetchData' | 'exportResult', handler: (context: EqContext) => void): string;
|
|
217
|
+
addEventListener(eventType: 'processStart' | 'processEnd', handler: (context: EqContext, status: ActionStatus) => void): string;
|
|
218
|
+
addEventListener(eventType: 'error', handler: (context: EqContext, status: ActionStatus) => void): string;
|
|
219
|
+
/**
|
|
220
|
+
* Remove event handler for event type .
|
|
221
|
+
* @param eventType The event type.
|
|
222
|
+
* @param handlerId The handler id.
|
|
223
|
+
*/
|
|
224
|
+
removeEventListener(eventType: string, handlerId: string): void;
|
|
225
|
+
/**
|
|
226
|
+
* Fires event.
|
|
227
|
+
* @param eventType The event type.
|
|
228
|
+
*/
|
|
229
|
+
fireEvent(eventType: 'ready' | 'loadModel' | 'initialModelLoad' | 'loadQuery' | 'syncQuery' | 'fetchData' | 'exportResult'): any;
|
|
230
|
+
fireEvent(eventType: 'processStart' | 'processEnd', data: ActionStatus): any;
|
|
231
|
+
fireEvent(eventType: 'error', data: Error): any;
|
|
232
|
+
private baseEndpoint;
|
|
233
|
+
getBaseEndpoint(): string;
|
|
234
|
+
/**
|
|
235
|
+
* Sends a `loadValueList` requesthe server and processes the response.
|
|
236
|
+
* @param options A map of options to pass to `loadValueList` function.
|
|
237
|
+
*/
|
|
238
|
+
loadValueList(options?: ContextLoadValueListOptions): void;
|
|
239
|
+
/**
|
|
240
|
+
* Starts the process of the model loading.
|
|
241
|
+
* This method can initiate a request to EasyQueryServer backend or get the model from OData or GraphQL endpoint
|
|
242
|
+
* The content of the `options` parameter depends on concrete loader implementation.
|
|
243
|
+
* @param options A map of options to pass to `loadModel` function (can be ommited)
|
|
244
|
+
* @example
|
|
245
|
+
* context.loadModel()
|
|
246
|
+
* .then(model => {
|
|
247
|
+
* alert("Model loaded!");
|
|
248
|
+
* });
|
|
249
|
+
*/
|
|
250
|
+
loadModel(options?: ContextLoadModelOptions): Promise<DataModel>;
|
|
251
|
+
callWhenModelLoaded(callFunc: any): void;
|
|
252
|
+
/**
|
|
253
|
+
* Loads the query
|
|
254
|
+
* @param options
|
|
255
|
+
* The content of the `options` parameter depends on `QueryStorage` implementation.
|
|
256
|
+
* Usually it contains `success`, `error` callbacks and `queryId` property of the query to load.
|
|
257
|
+
* @example
|
|
258
|
+
* context.loadQuery({
|
|
259
|
+
* queryId: "query-id"
|
|
260
|
+
* });
|
|
261
|
+
*/
|
|
262
|
+
loadQuery(options?: ContextLoadQueryOptions): void;
|
|
263
|
+
/**
|
|
264
|
+
* Loads the list of queries available for the current user.
|
|
265
|
+
* @param options
|
|
266
|
+
* The content of the `options` parameter depends on `QueryStorage` implementation.
|
|
267
|
+
* Usually it contains `success`, `error` callbacks
|
|
268
|
+
*/
|
|
269
|
+
loadQueryList(options?: ContextLoadQueryListOptions): void;
|
|
270
|
+
protected startQueryListLoading(options?: ContextLoadQueryListOptions): void;
|
|
271
|
+
/**
|
|
272
|
+
* Creates a new query and returns its content back to the client-side.
|
|
273
|
+
* @param options
|
|
274
|
+
* The content of the `options` parameter depends on `QueryStorage` implementation.
|
|
275
|
+
* Usually it contains `success`, `error` callbacks and `silent` option
|
|
276
|
+
* @example
|
|
277
|
+
* context.newQuery({
|
|
278
|
+
* silent: true
|
|
279
|
+
* });
|
|
280
|
+
*/
|
|
281
|
+
newQuery(options?: ContextNewQueryOptions): Query;
|
|
282
|
+
/**
|
|
283
|
+
* Saves the current query to some storage on the server-side.
|
|
284
|
+
* @param options
|
|
285
|
+
* The content of the `options` parameter depends on `QueryStorage` implementation.
|
|
286
|
+
* Usually it contains `success` and `error` callbacks
|
|
287
|
+
*/
|
|
288
|
+
saveQuery(options?: ContextSaveQueryOptions): void;
|
|
289
|
+
/**
|
|
290
|
+
* Removes the current query from some storage on the server-side.
|
|
291
|
+
* @param options
|
|
292
|
+
* The content of the `options` parameter depends on `QueryStorage` implementation.
|
|
293
|
+
* Usually it contains `success` and `error` callbacks
|
|
294
|
+
*/
|
|
295
|
+
removeQuery(options?: ContextRemoveQueryOptions): void;
|
|
296
|
+
/**
|
|
297
|
+
* Syncronizes the current query.
|
|
298
|
+
* @param options
|
|
299
|
+
* The content of the `options` parameter depends on `QuerySyncronizer` implementation.
|
|
300
|
+
* Usually it contains `success` and `error` callbacks
|
|
301
|
+
*/
|
|
302
|
+
syncQuery(options?: ContextSyncQueryOptions): void;
|
|
303
|
+
/**
|
|
304
|
+
* Fetches the data (usuall by executing current query) and processes the result.
|
|
305
|
+
* @param options
|
|
306
|
+
* The `options` parameter in addition to the options defined in FetchDataOptions structure may also contain `success` and `error` callbacks.
|
|
307
|
+
* @example
|
|
308
|
+
* context.fetchData({ success: function(result) {
|
|
309
|
+
* //do whatever you want with the result
|
|
310
|
+
* }})
|
|
311
|
+
*
|
|
312
|
+
*/
|
|
313
|
+
fetchData(options?: ContextFetchDataOptions): void;
|
|
314
|
+
getQueryFile(options?: ContextGetQueryFileOptions): void;
|
|
315
|
+
uploadQueryFile(options?: ContextUploadQueryFileOptions): void;
|
|
316
|
+
fetchDataChunk(options?: ContextFetchDataOptions): void;
|
|
317
|
+
protected onResultTableUpdate(): void;
|
|
318
|
+
/**
|
|
319
|
+
* Fetches the data for a drill-down query (if defined) and processes the result.
|
|
320
|
+
* @param options
|
|
321
|
+
*/
|
|
322
|
+
fetchDrillDownData(options: ContextFetchDataOptions): void;
|
|
323
|
+
/**
|
|
324
|
+
* Fetches the data for defined by this context and exports them to the specified format.
|
|
325
|
+
* @param options
|
|
326
|
+
* The content of the `options` parameter depends on `EqExporter` implementation.
|
|
327
|
+
* Usually it contains `format` property which defines the format of the exported data (e.g. `csv`),
|
|
328
|
+
* and `success` and `error` callbacks
|
|
329
|
+
* @example
|
|
330
|
+
* context.exportResult({
|
|
331
|
+
* format: csv
|
|
332
|
+
* });
|
|
333
|
+
*
|
|
334
|
+
*/
|
|
335
|
+
exportResult(options?: ContextExportResultOptions): void;
|
|
336
|
+
}
|
|
337
|
+
type EqEndpointKey = 'GetModel' | 'GetQuery' | 'SaveQuery' | 'NewQuery' | 'RemoveQuery' | 'GetQueryList' | 'SyncQuery' | 'FetchData' | 'GetValueList' | 'ExportResult' | 'GetQueryFile' | 'UploadQueryFile';
|
|
338
|
+
export interface EqBackendInfo {
|
|
339
|
+
type?: string;
|
|
340
|
+
subType?: string;
|
|
341
|
+
}
|
|
342
|
+
export {};
|