| @@ -46,7 +46,7 declare namespace dijit { | |||||
| 46 | /* dijit/form/_AutoCompleterMixin */ |
|
46 | /* dijit/form/_AutoCompleterMixin */ | |
| 47 |
|
47 | |||
| 48 | /* tslint:disable:class-name */ |
|
48 | /* tslint:disable:class-name */ | |
| 49 | interface _AutoCompleterMixin<T extends Object = any, Q extends dojo.store.api.BaseQueryType = dojo.store.api.BaseQueryType, O extends dojo.store.api.QueryOptions = dojo.store.api.QueryOptions> extends _SearchMixin<T, Q, O> { |
|
49 | interface _AutoCompleterMixin<T extends Object = any, Q extends dojo.store.api.BaseQueryType = dojo.store.api.BaseQueryType, O extends dojo.store.api.QueryOptions<T> = dojo.store.api.QueryOptions<T>> extends _SearchMixin<T, Q, O> { | |
| 50 | /** |
|
50 | /** | |
| 51 | * This is the item returned by the dojo/store/api/Store implementation that |
|
51 | * This is the item returned by the dojo/store/api/Store implementation that | |
| 52 | * provides the data for this ComboBox, it's the currently selected item. |
|
52 | * provides the data for this ComboBox, it's the currently selected item. | |
| @@ -250,7 +250,7 declare namespace dijit { | |||||
| 250 | /** |
|
250 | /** | |
| 251 | * Fills in the items in the drop down list |
|
251 | * Fills in the items in the drop down list | |
| 252 | */ |
|
252 | */ | |
| 253 | createOptions(results: T[], options: dojo.store.api.QueryOptions, labelFunc: (item: T) => { html: boolean; label: string; }): void; |
|
253 | createOptions(results: T[], options: dojo.store.api.QueryOptions<T>, labelFunc: (item: T) => { html: boolean; label: string; }): void; | |
| 254 |
|
254 | |||
| 255 | /** |
|
255 | /** | |
| 256 | * Clears the entries in the drop down list, but of course keeps the previous and next buttons. |
|
256 | * Clears the entries in the drop down list, but of course keeps the previous and next buttons. | |
| @@ -470,7 +470,7 declare namespace dijit { | |||||
| 470 | disabled?: boolean; |
|
470 | disabled?: boolean; | |
| 471 | } |
|
471 | } | |
| 472 |
|
472 | |||
| 473 | interface _FormSelectWidget<T extends Object, Q extends dojo.store.api.BaseQueryType = dojo.store.api.BaseQueryType, O extends dojo.store.api.QueryOptions = dojo.store.api.QueryOptions> extends _FormValueWidget { |
|
473 | interface _FormSelectWidget<T extends Object, Q extends dojo.store.api.BaseQueryType = dojo.store.api.BaseQueryType, O extends dojo.store.api.QueryOptions<T> = dojo.store.api.QueryOptions<T>> extends _FormValueWidget { | |
| 474 | /** |
|
474 | /** | |
| 475 | * Whether or not we are multi-valued |
|
475 | * Whether or not we are multi-valued | |
| 476 | */ |
|
476 | */ | |
| @@ -869,7 +869,7 declare namespace dijit { | |||||
| 869 |
|
869 | |||
| 870 | /* dijit/form/_SearchMixin */ |
|
870 | /* dijit/form/_SearchMixin */ | |
| 871 |
|
871 | |||
| 872 | interface _SearchMixin<T extends Object, Q extends dojo.store.api.BaseQueryType = dojo.store.api.BaseQueryType, O extends dojo.store.api.QueryOptions = dojo.store.api.QueryOptions> { |
|
872 | interface _SearchMixin<T extends Object, Q extends dojo.store.api.BaseQueryType = dojo.store.api.BaseQueryType, O extends dojo.store.api.QueryOptions<T> = dojo.store.api.QueryOptions<T>> { | |
| 873 | /** |
|
873 | /** | |
| 874 | * Argument to data provider. |
|
874 | * Argument to data provider. | |
| 875 | * Specifies maximum number of search results to return per query |
|
875 | * Specifies maximum number of search results to return per query | |
| @@ -1170,18 +1170,18 declare namespace dijit { | |||||
| 1170 |
|
1170 | |||
| 1171 | /* dijit/form/ComboBox */ |
|
1171 | /* dijit/form/ComboBox */ | |
| 1172 |
|
1172 | |||
| 1173 | interface ComboBox<T extends Object = any, Q extends dojo.store.api.BaseQueryType = dojo.store.api.BaseQueryType, O extends dojo.store.api.QueryOptions = dojo.store.api.QueryOptions, C extends Constraints = Constraints> extends ValidationTextBox<C>, ComboBoxMixin<T, Q, O> { |
|
1173 | interface ComboBox<T extends Object = any, Q extends dojo.store.api.BaseQueryType = dojo.store.api.BaseQueryType, O extends dojo.store.api.QueryOptions<T> = dojo.store.api.QueryOptions<T>, C extends Constraints = Constraints> extends ValidationTextBox<C>, ComboBoxMixin<T, Q, O> { | |
| 1174 | // set(name: string, value: any): this; |
|
1174 | // set(name: string, value: any): this; | |
| 1175 | // set(values: Object): this; |
|
1175 | // set(values: Object): this; | |
| 1176 | } |
|
1176 | } | |
| 1177 |
|
1177 | |||
| 1178 | interface ComboBoxConstructor extends _WidgetBaseConstructor<ComboBox<any>> { |
|
1178 | interface ComboBoxConstructor extends _WidgetBaseConstructor<ComboBox<any>> { | |
| 1179 | new <T extends Object = any, Q extends dojo.store.api.BaseQueryType = dojo.store.api.BaseQueryType, O extends dojo.store.api.QueryOptions = dojo.store.api.QueryOptions, C extends Constraints = Constraints>(params: Object, srcNodeRef: dojo.NodeOrString): ComboBox<T, Q, O, C>; |
|
1179 | new <T extends Object = any, Q extends dojo.store.api.BaseQueryType = dojo.store.api.BaseQueryType, O extends dojo.store.api.QueryOptions<T> = dojo.store.api.QueryOptions<T>, C extends Constraints = Constraints>(params: Object, srcNodeRef: dojo.NodeOrString): ComboBox<T, Q, O, C>; | |
| 1180 | } |
|
1180 | } | |
| 1181 |
|
1181 | |||
| 1182 | /* dijit/form/ComboBoxMixin */ |
|
1182 | /* dijit/form/ComboBoxMixin */ | |
| 1183 |
|
1183 | |||
| 1184 | interface ComboBoxMixin<T extends Object = any, Q extends dojo.store.api.BaseQueryType = dojo.store.api.BaseQueryType, O extends dojo.store.api.QueryOptions = dojo.store.api.QueryOptions> extends _HasDropDown<_ComboBoxMenu<T>>, _AutoCompleterMixin<T, Q, O> { |
|
1184 | interface ComboBoxMixin<T extends Object = any, Q extends dojo.store.api.BaseQueryType = dojo.store.api.BaseQueryType, O extends dojo.store.api.QueryOptions<T> = dojo.store.api.QueryOptions<T>> extends _HasDropDown<_ComboBoxMenu<T>>, _AutoCompleterMixin<T, Q, O> { | |
| 1185 |
|
1185 | |||
| 1186 | /** |
|
1186 | /** | |
| 1187 | * Dropdown widget class used to select a date/time. |
|
1187 | * Dropdown widget class used to select a date/time. | |
| @@ -1315,7 +1315,7 declare namespace dijit { | |||||
| 1315 |
|
1315 | |||
| 1316 | /* dijit/form/FilteringSelect */ |
|
1316 | /* dijit/form/FilteringSelect */ | |
| 1317 |
|
1317 | |||
| 1318 | interface FilteringSelect<C extends Constraints, T extends Object, Q extends string | Object | Function, O extends dojo.store.api.QueryOptions> extends MappedTextBox<C>, ComboBoxMixin<T, Q, O> { |
|
1318 | interface FilteringSelect<C extends Constraints, T extends Object, Q extends string | Object | Function, O extends dojo.store.api.QueryOptions<T>> extends MappedTextBox<C>, ComboBoxMixin<T, Q, O> { | |
| 1319 | /** |
|
1319 | /** | |
| 1320 | * True (default) if user is required to enter a value into this field. |
|
1320 | * True (default) if user is required to enter a value into this field. | |
| 1321 | */ |
|
1321 | */ | |
| @@ -1341,7 +1341,7 declare namespace dijit { | |||||
| 1341 | } |
|
1341 | } | |
| 1342 |
|
1342 | |||
| 1343 | interface FilteringSelectConstructor extends _WidgetBaseConstructor<FilteringSelect<any, any, any, any>> { |
|
1343 | interface FilteringSelectConstructor extends _WidgetBaseConstructor<FilteringSelect<any, any, any, any>> { | |
| 1344 | new <C extends Constraints, T extends Object, Q extends string | Object | Function, O extends dojo.store.api.QueryOptions>(params: Object, srcNodeRef: dojo.NodeOrString): FilteringSelect<C, T, Q, O>; |
|
1344 | new <C extends Constraints, T extends Object, Q extends string | Object | Function, O extends dojo.store.api.QueryOptions<T>>(params: Object, srcNodeRef: dojo.NodeOrString): FilteringSelect<C, T, Q, O>; | |
| 1345 | } |
|
1345 | } | |
| 1346 |
|
1346 | |||
| 1347 | /* dijit/form/Form */ |
|
1347 | /* dijit/form/Form */ | |
| @@ -1691,7 +1691,7 declare namespace dijit { | |||||
| 1691 |
|
1691 | |||
| 1692 | /* dijit/form/Select */ |
|
1692 | /* dijit/form/Select */ | |
| 1693 |
|
1693 | |||
| 1694 | interface Select<T extends Object, Q extends dojo.store.api.BaseQueryType, O extends dojo.store.api.QueryOptions, U extends dijit._WidgetBase> extends _FormSelectWidget<T, Q, O>, _HasDropDown<U>, _KeyNavMixin { |
|
1694 | interface Select<T extends Object, Q extends dojo.store.api.BaseQueryType, O extends dojo.store.api.QueryOptions<T>, U extends dijit._WidgetBase> extends _FormSelectWidget<T, Q, O>, _HasDropDown<U>, _KeyNavMixin { | |
| 1695 | baseClass: string; |
|
1695 | baseClass: string; | |
| 1696 |
|
1696 | |||
| 1697 | /** |
|
1697 | /** | |
| @@ -332,7 +332,7 declare module 'dijit/form/DropDownButto | |||||
| 332 | } |
|
332 | } | |
| 333 |
|
333 | |||
| 334 | declare module 'dijit/form/FilteringSelect' { |
|
334 | declare module 'dijit/form/FilteringSelect' { | |
| 335 | type FilteringSelect<C extends dijit.form.Constraints = dijit.form.Constraints, T extends Object = any, Q extends dojo.store.api.BaseQueryType = dojo.store.api.BaseQueryType, O extends dojo.store.api.QueryOptions = dojo.store.api.QueryOptions> = dijit.form.FilteringSelect<C, T, Q, O>; |
|
335 | type FilteringSelect<C extends dijit.form.Constraints = dijit.form.Constraints, T extends Object = any, Q extends dojo.store.api.BaseQueryType = dojo.store.api.BaseQueryType, O extends dojo.store.api.QueryOptions<T> = dojo.store.api.QueryOptions<T>> = dijit.form.FilteringSelect<C, T, Q, O>; | |
| 336 | const FilteringSelect: dijit.form.FilteringSelectConstructor; |
|
336 | const FilteringSelect: dijit.form.FilteringSelectConstructor; | |
| 337 | export = FilteringSelect; |
|
337 | export = FilteringSelect; | |
| 338 | } |
|
338 | } | |
| @@ -9,12 +9,12 declare namespace dojo { | |||||
| 9 |
|
9 | |||
| 10 | /* dojo/store/api/Store */ |
|
10 | /* dojo/store/api/Store */ | |
| 11 |
|
11 | |||
| 12 | interface SortInformation { |
|
12 | interface SortInformation<K extends string | number | symbol = string> { | |
| 13 |
|
13 | |||
| 14 | /** |
|
14 | /** | |
| 15 | * The name of the attribute to sort on. |
|
15 | * The name of the attribute to sort on. | |
| 16 | */ |
|
16 | */ | |
| 17 |
attribute: |
|
17 | attribute: K; | |
| 18 |
|
18 | |||
| 19 | /** |
|
19 | /** | |
| 20 | * The direction of the sort. Default is false. |
|
20 | * The direction of the sort. Default is false. | |
| @@ -22,7 +22,9 declare namespace dojo { | |||||
| 22 | descending?: boolean; |
|
22 | descending?: boolean; | |
| 23 | } |
|
23 | } | |
| 24 |
|
24 | |||
| 25 | interface QueryOptions { |
|
25 | type SortFn<T> = (left: T, right: T) => number; | |
|
|
26 | ||||
|
|
27 | interface QueryOptions<T = unknown> { | |||
| 26 | /** |
|
28 | /** | |
| 27 | * A list of attributes to sort on, as well as direction |
|
29 | * A list of attributes to sort on, as well as direction | |
| 28 | * For example: |
|
30 | * For example: | |
| @@ -30,7 +32,7 declare namespace dojo { | |||||
| 30 | * If the sort parameter is omitted, then the natural order of the store may be |
|
32 | * If the sort parameter is omitted, then the natural order of the store may be | |
| 31 | * applied if there is a natural order. |
|
33 | * applied if there is a natural order. | |
| 32 | */ |
|
34 | */ | |
| 33 | sort?: SortInformation[]; |
|
35 | sort?: SortFn<T> | SortInformation<keyof T>[]; | |
| 34 |
|
36 | |||
| 35 | /** |
|
37 | /** | |
| 36 | * The first result to begin iteration on |
|
38 | * The first result to begin iteration on | |
| @@ -51,7 +53,7 declare namespace dojo { | |||||
| 51 | type BaseQueryType = string | object | ((...params: unknown[]) => boolean); |
|
53 | type BaseQueryType = string | object | ((...params: unknown[]) => boolean); | |
| 52 |
|
54 | |||
| 53 | interface QueryEngine<T extends object, Q extends BaseQueryType> { |
|
55 | interface QueryEngine<T extends object, Q extends BaseQueryType> { | |
| 54 | <O extends QueryOptions>(query: Q, options?: O): QueryEngineFunction<T>; |
|
56 | <O extends QueryOptions<T>>(query: Q, options?: O): QueryEngineFunction<T>; | |
| 55 | } |
|
57 | } | |
| 56 |
|
58 | |||
| 57 | interface PutDirectives<T extends object> { |
|
59 | interface PutDirectives<T extends object> { | |
| @@ -173,7 +175,7 declare namespace dojo { | |||||
| 173 | interface Queryable< |
|
175 | interface Queryable< | |
| 174 | T extends object, |
|
176 | T extends object, | |
| 175 | Q extends BaseQueryType, |
|
177 | Q extends BaseQueryType, | |
| 176 | O extends QueryOptions, |
|
178 | O extends QueryOptions<T>, | |
| 177 | R extends QueryResults<T> = QueryResults<T>> { |
|
179 | R extends QueryResults<T> = QueryResults<T>> { | |
| 178 |
|
180 | |||
| 179 | /** |
|
181 | /** | |
| @@ -183,7 +185,7 declare namespace dojo { | |||||
| 183 | query(query?: Q, options?: O): R; |
|
185 | query(query?: Q, options?: O): R; | |
| 184 | } |
|
186 | } | |
| 185 |
|
187 | |||
| 186 | interface SyncStore<T extends object, Q extends BaseQueryType = Partial<T> | ((item: T) => boolean) | string, O extends QueryOptions = QueryOptions> |
|
188 | interface SyncStore<T extends object, Q extends BaseQueryType = Partial<T> | ((item: T) => boolean) | string, O extends QueryOptions<T> = QueryOptions<T>> | |
| 187 | extends IdentityProvider<T>, Queryable<T, Q, O, SyncQueryResults<T>> { |
|
189 | extends IdentityProvider<T>, Queryable<T, Q, O, SyncQueryResults<T>> { | |
| 188 |
|
190 | |||
| 189 | /** |
|
191 | /** | |
| @@ -223,7 +225,7 declare namespace dojo { | |||||
| 223 |
|
225 | |||
| 224 | } |
|
226 | } | |
| 225 |
|
227 | |||
| 226 | interface AsyncStore<T extends object, Q extends BaseQueryType = Partial<T> | ((item: T) => boolean) | string, O extends QueryOptions = QueryOptions> |
|
228 | interface AsyncStore<T extends object, Q extends BaseQueryType = Partial<T> | ((item: T) => boolean) | string, O extends QueryOptions<T> = QueryOptions<T>> | |
| 227 | extends IdentityProvider<T>, Queryable<T, Q, O, AsyncQueryResults<T>> { |
|
229 | extends IdentityProvider<T>, Queryable<T, Q, O, AsyncQueryResults<T>> { | |
| 228 |
|
230 | |||
| 229 | /** |
|
231 | /** | |
| @@ -263,7 +265,7 declare namespace dojo { | |||||
| 263 |
|
265 | |||
| 264 | } |
|
266 | } | |
| 265 |
|
267 | |||
| 266 | interface HierarchicalStore<T extends object, O extends QueryOptions = QueryOptions, R extends QueryResults<T> = QueryResults<T>> { |
|
268 | interface HierarchicalStore<T extends object, O extends QueryOptions<T> = QueryOptions<T>, R extends QueryResults<T> = QueryResults<T>> { | |
| 267 |
|
269 | |||
| 268 | /** |
|
270 | /** | |
| 269 | * Retrieves the children of an object. |
|
271 | * Retrieves the children of an object. | |
| @@ -271,7 +273,7 declare namespace dojo { | |||||
| 271 | getChildren(parent: T, options?: O): R; |
|
273 | getChildren(parent: T, options?: O): R; | |
| 272 | } |
|
274 | } | |
| 273 |
|
275 | |||
| 274 | interface Store<T extends object, Q extends BaseQueryType = Partial<T> | ((item: T) => boolean) | string, O extends QueryOptions = QueryOptions> |
|
276 | interface Store<T extends object, Q extends BaseQueryType = Partial<T> | ((item: T) => boolean) | string, O extends QueryOptions<T> = QueryOptions<T>> | |
| 275 | extends IdentityProvider<T>, Queryable<T, Q, O> { |
|
277 | extends IdentityProvider<T>, Queryable<T, Q, O> { | |
| 276 |
|
278 | |||
| 277 | /** |
|
279 | /** | |
| @@ -370,11 +372,11 declare namespace dojo { | |||||
| 370 |
|
372 | |||
| 371 | interface DataStoreOptions<T extends object> { |
|
373 | interface DataStoreOptions<T extends object> { | |
| 372 | idProperty?: keyof T; |
|
374 | idProperty?: keyof T; | |
| 373 | queryEngine?: api.QueryEngine<T, api.QueryOptions>; |
|
375 | queryEngine?: api.QueryEngine<T, api.QueryOptions<T>>; | |
| 374 | store?: data.api.Read<T> | data.api.Write<T> | data.api.Identity<T>; |
|
376 | store?: data.api.Read<T> | data.api.Write<T> | data.api.Identity<T>; | |
| 375 | } |
|
377 | } | |
| 376 |
|
378 | |||
| 377 | interface DataStore<T extends object> extends api.Store<T, api.BaseQueryType, api.QueryOptions> { |
|
379 | interface DataStore<T extends object> extends api.Store<T, api.BaseQueryType, api.QueryOptions<T>> { | |
| 378 | /** |
|
380 | /** | |
| 379 | * The object store to convert to a data store |
|
381 | * The object store to convert to a data store | |
| 380 | */ |
|
382 | */ | |
| @@ -406,7 +408,7 declare namespace dojo { | |||||
| 406 | timeout?: number |
|
408 | timeout?: number | |
| 407 | } |
|
409 | } | |
| 408 |
|
410 | |||
| 409 | interface JsonRestQueryOptions extends api.QueryOptions { |
|
411 | interface JsonRestQueryOptions<T = unknown> extends api.QueryOptions<T> { | |
| 410 | headers?: Headers; |
|
412 | headers?: Headers; | |
| 411 |
|
413 | |||
| 412 | timeout?: number; |
|
414 | timeout?: number; | |
| @@ -414,7 +416,7 declare namespace dojo { | |||||
| 414 |
|
416 | |||
| 415 | interface JsonRestOptions<T extends object> { |
|
417 | interface JsonRestOptions<T extends object> { | |
| 416 | idProperty?: keyof T; |
|
418 | idProperty?: keyof T; | |
| 417 | queryEngine?: api.QueryEngine<T, JsonRestQueryOptions>; |
|
419 | queryEngine?: api.QueryEngine<T, JsonRestQueryOptions<T>>; | |
| 418 | headers?: Headers; |
|
420 | headers?: Headers; | |
| 419 | target?: string; |
|
421 | target?: string; | |
| 420 | rangeParam?: string; |
|
422 | rangeParam?: string; | |
| @@ -427,7 +429,7 declare namespace dojo { | |||||
| 427 | interface JsonRest< |
|
429 | interface JsonRest< | |
| 428 | T extends object, |
|
430 | T extends object, | |
| 429 | Q extends api.BaseQueryType = (Partial<T> | string) & api.BaseQueryType, |
|
431 | Q extends api.BaseQueryType = (Partial<T> | string) & api.BaseQueryType, | |
| 430 | O extends JsonRestQueryOptions = JsonRestQueryOptions> |
|
432 | O extends JsonRestQueryOptions<T> = JsonRestQueryOptions<T>> | |
| 431 | extends api.AsyncStore<T, Q, O> { |
|
433 | extends api.AsyncStore<T, Q, O> { | |
| 432 | /** |
|
434 | /** | |
| 433 | * Additional headers to pass in all requests to the server. These can be overridden |
|
435 | * Additional headers to pass in all requests to the server. These can be overridden | |
| @@ -509,7 +511,7 declare namespace dojo { | |||||
| 509 | interface MemoryOptions<T extends object> { |
|
511 | interface MemoryOptions<T extends object> { | |
| 510 | data?: T[]; |
|
512 | data?: T[]; | |
| 511 | idProperty?: keyof T; |
|
513 | idProperty?: keyof T; | |
| 512 | queryEngine?: api.QueryEngine<T, api.QueryOptions>; |
|
514 | queryEngine?: api.QueryEngine<T, api.QueryOptions<T>>; | |
| 513 | setData?: (data: T[]) => void; |
|
515 | setData?: (data: T[]) => void; | |
| 514 | } |
|
516 | } | |
| 515 |
|
517 | |||
| @@ -551,7 +553,7 declare namespace dojo { | |||||
| 551 |
|
553 | |||
| 552 | type ObservableQueryResults<T extends object> = ObservableQueryResultsMixin<T> & api.QueryResults<T>; |
|
554 | type ObservableQueryResults<T extends object> = ObservableQueryResultsMixin<T> & api.QueryResults<T>; | |
| 553 |
|
555 | |||
| 554 | interface ObservableMixin<T extends object, Q extends api.BaseQueryType, O extends api.QueryOptions, R extends api.QueryResults<T> = api.QueryResults<T> > { |
|
556 | interface ObservableMixin<T extends object, Q extends api.BaseQueryType, O extends api.QueryOptions<T>, R extends api.QueryResults<T> = api.QueryResults<T> > { | |
| 555 | notify(object: T, existingId?: api.Identity): void; |
|
557 | notify(object: T, existingId?: api.Identity): void; | |
| 556 |
|
558 | |||
| 557 | /** |
|
559 | /** | |
| @@ -19,7 +19,8 const mem = new Memory<Schedule>(); | |||||
| 19 | observable.query().observe(() => { }); |
|
19 | observable.query().observe(() => { }); | |
| 20 | store.query().forEach(() => { }); |
|
20 | store.query().forEach(() => { }); | |
| 21 | const total = await store.query().total; |
|
21 | const total = await store.query().total; | |
| 22 | const result = await store.query(); |
|
22 | const res1 = await store.query(undefined, { sort: [{ attribute: "duration", descending: true }] }); | |
|
|
23 | const res2 = await store.query(undefined, { sort: ({ duration: a }, { duration: b }) => a - b }); | |||
| 23 |
|
24 | |||
| 24 | mem.query(); |
|
25 | mem.query(); | |
| 25 |
|
26 | |||
General Comments 0
You need to be logged in to leave comments.
Login now
