@rentman/rm-core 6.2.4 → 6.3.0
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/changelog.md +6 -0
- package/dist/rm-core.js +10 -29
- package/dist/rm-core.min.js +2 -2
- package/dist/types/classes/ApiFormatter.d.ts +18 -8
- package/dist/types/classes/ApiResponseProcessor.d.ts +3 -3
- package/dist/types/classes/ChangesDelta.d.ts +3 -3
- package/dist/types/classes/CollectionEntryService.d.ts +1 -1
- package/dist/types/classes/ItemCreateService.d.ts +3 -3
- package/dist/types/classes/TemplateCache.d.ts +2 -2
- package/dist/types/classes/cache/transaction/TransactionCache.d.ts +4 -4
- package/dist/types/classes/cache/transaction/TransactionItemHandler.d.ts +6 -6
- package/dist/types/factories/CollectionEntryFactory.d.ts +2 -2
- package/dist/types/factories/ItemResourceFactory.d.ts +2 -2
- package/dist/types/models/CollectionEntry.d.ts +4 -4
- package/dist/types/models/CollectionOptions.d.ts +8 -8
- package/dist/types/models/CollectionResource.d.ts +25 -25
- package/dist/types/models/ItemResource.d.ts +10 -10
- package/dist/types/models/Template.d.ts +3 -3
- package/dist/types/types/ItemTypesCollection.d.ts +22 -23
- package/package.json +1 -1
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import moment from 'moment';
|
|
2
2
|
import { ColumnInfo } from '../classes';
|
|
3
|
-
import { FieldMap, ItemType } from '../types';
|
|
3
|
+
import { ColumnIdTypeMap, FieldMap, ItemType, ResponseColumn } from '../types';
|
|
4
|
+
declare type GetChangesResult<Fields extends FieldMap, key extends keyof Fields = string> = {
|
|
5
|
+
oldValue: Fields[key];
|
|
6
|
+
newValue: Fields[key];
|
|
7
|
+
column: ResponseColumn;
|
|
8
|
+
};
|
|
4
9
|
export declare class ApiFormatter {
|
|
5
10
|
MOMENT_INVALID: string;
|
|
6
11
|
SERVER_DATETIME_FORMAT: string;
|
|
@@ -20,14 +25,18 @@ export declare class ApiFormatter {
|
|
|
20
25
|
* @description
|
|
21
26
|
* Overwrites the values in 'changes' if the values in 'initial' and 'changes' are the same (leaving user changes intact)
|
|
22
27
|
*/
|
|
23
|
-
mergeCopyFields<ItemTypeType extends ItemType>(initial: FieldMap<ItemTypeType>, changes: FieldMap<ItemTypeType>, newInitial: FieldMap<ItemTypeType>, columns: Array<ColumnInfo<ItemTypeType>>): FieldMap<ItemTypeType>;
|
|
24
|
-
formatRequest<
|
|
25
|
-
|
|
28
|
+
mergeCopyFields<ItemTypeType extends ItemType, Fields extends ColumnIdTypeMap>(initial: FieldMap<ItemTypeType, Fields>, changes: FieldMap<ItemTypeType, Fields>, newInitial: FieldMap<ItemTypeType, Fields>, columns: Array<ColumnInfo<ItemTypeType>>): FieldMap<ItemTypeType, Fields>;
|
|
29
|
+
formatRequest<Fields extends FieldMap>(initial: Fields, modified: Fields, columns: Array<ColumnInfo<any>>): {
|
|
30
|
+
[columnId: string]: any;
|
|
31
|
+
};
|
|
32
|
+
formatRequestLocal<Fields extends FieldMap>(fields: Fields, columns: Array<ColumnInfo<any>>): {
|
|
33
|
+
[columnId: string]: any;
|
|
34
|
+
};
|
|
26
35
|
hasChanges(initial: FieldMap, modified: FieldMap, columns: Array<ColumnInfo<any>>, includeReadOnlyColumns?: boolean): boolean;
|
|
27
|
-
getChanges<
|
|
28
|
-
copyFields<
|
|
29
|
-
shallowCopyFields(shallowSource:
|
|
30
|
-
setDefaultValues(destination: FieldMap
|
|
36
|
+
getChanges<Fields extends FieldMap>(initial: Fields, modified: Fields, columns: Array<ColumnInfo<any>>): Array<GetChangesResult<Fields> | undefined>;
|
|
37
|
+
copyFields<Fields extends FieldMap>(source: Fields, destination: Fields, columns: Array<ColumnInfo<any>>): Fields;
|
|
38
|
+
shallowCopyFields<Fields extends FieldMap>(shallowSource: Fields, deepSource: Fields, destination: Fields, columns: Array<ColumnInfo<any>>): Fields;
|
|
39
|
+
setDefaultValues<ItemTypeType extends ItemType = any>(destination: FieldMap<ItemTypeType>, columns: Array<ColumnInfo<ItemTypeType>>): FieldMap<ItemTypeType>;
|
|
31
40
|
/**
|
|
32
41
|
* @description
|
|
33
42
|
* Compares the given fields, returns `true` when the fields are equal
|
|
@@ -53,3 +62,4 @@ export declare class ApiFormatter {
|
|
|
53
62
|
cloneDate(date: moment.Moment): moment.Moment;
|
|
54
63
|
identity<T>(input: T): T;
|
|
55
64
|
}
|
|
65
|
+
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ApiFormatter } from '../classes';
|
|
2
|
-
import { FieldMap, ItemId, ItemType, ItemTypeMap, ResponseColumn } from '../types';
|
|
2
|
+
import { ColumnIdTypeMap, FieldMap, ItemId, ItemType, ItemTypeMap, ResponseColumn } from '../types';
|
|
3
3
|
export declare class ApiResponseProcessor<RequestItemType extends ItemType = any> {
|
|
4
4
|
apiFormatter: ApiFormatter;
|
|
5
5
|
response: any;
|
|
@@ -21,8 +21,8 @@ export declare class ApiResponseProcessor<RequestItemType extends ItemType = any
|
|
|
21
21
|
fetchColumnArray(itemType: ItemType): ResponseColumn[];
|
|
22
22
|
fetchDerivedObject(itemType: ItemType, itemId: ItemId, rootColumns: ResponseColumn[]): {};
|
|
23
23
|
fetchDerivedValues(value: any, column: ResponseColumn, destination: any): void;
|
|
24
|
-
fetchObject<ItemTypeType extends ItemType>(itemType: ItemTypeType, itemId: string | ItemId
|
|
25
|
-
fetchObjectArray<ItemTypeType extends ItemType>(itemType: ItemTypeType,
|
|
24
|
+
fetchObject<Fields extends ColumnIdTypeMap, ItemTypeType extends ItemType>(itemType: ItemTypeType, itemId: string | ItemId): FieldMap<ItemTypeType, Fields> | undefined;
|
|
25
|
+
fetchObjectArray<ItemTypeType extends ItemType>(itemType: ItemTypeType, idArray?: ItemId[] | null): Array<FieldMap<ItemTypeType>>;
|
|
26
26
|
fetchColumnsObject(): {
|
|
27
27
|
[itemType: string]: ResponseColumn;
|
|
28
28
|
};
|
|
@@ -30,7 +30,7 @@ export declare class ChangesDelta extends ChangesDeltaBase {
|
|
|
30
30
|
* - If the values don't contain an `id` a new one will be generated
|
|
31
31
|
* - If you want to set a parent set the proper field, you can't pass it as a separate object
|
|
32
32
|
*/
|
|
33
|
-
setItemCreated<ItemTypeType extends ItemType
|
|
33
|
+
setItemCreated<ItemTypeType extends ItemType, Fields extends FieldMap<ItemTypeType>>(itemType: ItemTypeType, values: Fields): PromiseInterface<this>;
|
|
34
34
|
/**
|
|
35
35
|
* @description
|
|
36
36
|
* Fetches a template for the passed itemType and processes the passed values and sets the items to be created when the delta is applied
|
|
@@ -39,7 +39,7 @@ export declare class ChangesDelta extends ChangesDeltaBase {
|
|
|
39
39
|
* - If the values don't contain an `id` a new one will be generated
|
|
40
40
|
* - If you want to set a parent set the proper field, you can't pass it as a separate object
|
|
41
41
|
*/
|
|
42
|
-
setItemsCreated<ItemTypeType extends ItemType
|
|
42
|
+
setItemsCreated<ItemTypeType extends ItemType, Fields extends FieldMap<ItemTypeType>>(itemType: ItemTypeType, valuesArray: Fields[]): PromiseInterface<this>;
|
|
43
43
|
/**
|
|
44
44
|
* @description
|
|
45
45
|
* Will create an {@link ItemEntry ItemEntry} when the delta is applied
|
|
@@ -51,7 +51,7 @@ export declare class ChangesDelta extends ChangesDeltaBase {
|
|
|
51
51
|
*
|
|
52
52
|
* @internal
|
|
53
53
|
*/
|
|
54
|
-
_setItemCreated<ItemTypeType extends ItemType
|
|
54
|
+
_setItemCreated<ItemTypeType extends ItemType, Fields extends FieldMap<ItemTypeType>>(itemId: ItemId, fields: Fields, columns: ColumnSet<ItemTypeType>, parent?: EntryParentNull): this;
|
|
55
55
|
/**
|
|
56
56
|
* @description
|
|
57
57
|
* Convenience function to assign the proper parent fields, will call {@link ChangesDeltaBase.setItemUpdated setItemUpdated} internally
|
|
@@ -10,7 +10,7 @@ export declare class CollectionEntryService {
|
|
|
10
10
|
createUnfoundLocalCollectionError(itemType: ItemType): {
|
|
11
11
|
message: string;
|
|
12
12
|
};
|
|
13
|
-
cloneOptions(options: CollectionOptions, parent: EntryParentNull): CollectionOptions<any>;
|
|
13
|
+
cloneOptions(options: CollectionOptions, parent: EntryParentNull): CollectionOptions<any, any>;
|
|
14
14
|
processOptions<ItemTypeType extends ItemType>(options: CollectionOptionsInterface<ItemTypeType>): CollectionOptions;
|
|
15
15
|
createQuery(query: ApiQuery): CollectionQuery;
|
|
16
16
|
createQueryFromOptions(options: CollectionOptions): CollectionQuery;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ColumnSetFactory } from '../factories';
|
|
2
2
|
import { ErrorHandlerInterface, PromiseLibraryInterface } from '../interfaces';
|
|
3
3
|
import { Template } from '../models';
|
|
4
|
-
import { EntryParentNull, FieldMap, FilterItemEntryCallback, ItemId, ItemIdConversionMap, ItemType, ModifyFieldsCallback, PromiseInterface } from '../types';
|
|
4
|
+
import { ColumnIdTypeMap, EntryParentNull, FieldMap, FilterItemEntryCallback, ItemId, ItemIdConversionMap, ItemType, ModifyFieldsCallback, PromiseInterface } from '../types';
|
|
5
5
|
import { ChangesDelta } from './ChangesDelta';
|
|
6
6
|
import { ConversionMapService } from './ConversionMapService';
|
|
7
7
|
import { KeyService } from './KeyService';
|
|
@@ -18,7 +18,7 @@ export declare class ItemCreateService {
|
|
|
18
18
|
* @description
|
|
19
19
|
* Fetches a new {@link Template template} and sets the items created on the passed {@link ChangesDelta}
|
|
20
20
|
*/
|
|
21
|
-
createItemsFromValues<ItemTypeType extends ItemType>(changesDelta: ChangesDelta, itemType: ItemTypeType, valuesArray: Array<FieldMap<ItemTypeType>>, parent?: EntryParentNull): PromiseInterface<void>;
|
|
22
|
-
processTemplate<ItemTypeType extends ItemType>(changesDelta: ChangesDelta, itemType: ItemTypeType, itemId: ItemId, parent: EntryParentNull, template: Template<ItemTypeType>, filterItemEntryCallback?: FilterItemEntryCallback, modifyFieldsCallback?: ModifyFieldsCallback): void;
|
|
21
|
+
createItemsFromValues<ItemTypeType extends ItemType, Fields extends ColumnIdTypeMap>(changesDelta: ChangesDelta, itemType: ItemTypeType, valuesArray: Array<FieldMap<ItemTypeType, Fields>>, parent?: EntryParentNull): PromiseInterface<void>;
|
|
22
|
+
processTemplate<ItemTypeType extends ItemType, Fields extends ColumnIdTypeMap>(changesDelta: ChangesDelta, itemType: ItemTypeType, itemId: ItemId, parent: EntryParentNull, template: Template<ItemTypeType, Fields>, filterItemEntryCallback?: FilterItemEntryCallback, modifyFieldsCallback?: ModifyFieldsCallback): void;
|
|
23
23
|
processTemplateLinkItems<ParentItemType extends ItemType>(changesDelta: ChangesDelta, parentType: ParentItemType, localParentId: ItemId, template: Template<ParentItemType>, itemIdConversion: ItemIdConversionMap, filterItemEntryCallback?: FilterItemEntryCallback, modifyFieldsCallback?: ModifyFieldsCallback): void;
|
|
24
24
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { RequestColumnExpansionFactory, TemplateFactory } from '../factories';
|
|
2
2
|
import { ErrorHandlerInterface, PromiseLibraryInterface } from '../interfaces';
|
|
3
3
|
import { Template } from '../models';
|
|
4
|
-
import { EntryParentNull, ItemId, ItemType, PromiseInterface } from '../types';
|
|
4
|
+
import { ColumnIdTypeMap, EntryParentNull, ItemId, ItemType, PromiseInterface } from '../types';
|
|
5
5
|
import { ApiRequestService } from './ApiRequestService';
|
|
6
6
|
import { ColumnHandler } from './ColumnHandler';
|
|
7
7
|
import { ColumnUtil } from './ColumnUtil';
|
|
@@ -60,7 +60,7 @@ export declare class TemplateCache {
|
|
|
60
60
|
* );
|
|
61
61
|
* ```
|
|
62
62
|
*/
|
|
63
|
-
fetchTemplate<ItemTypeType extends ItemType>(itemType: ItemTypeType, itemId?: ItemId, templateOptions?: any, templateColumns?: any, entryParentOrParentItemType?: EntryParentNull | ItemType): PromiseInterface<Template<ItemTypeType>>;
|
|
63
|
+
fetchTemplate<ItemTypeType extends ItemType, Fields extends ColumnIdTypeMap>(itemType: ItemTypeType, itemId?: ItemId, templateOptions?: any, templateColumns?: any, entryParentOrParentItemType?: EntryParentNull | ItemType): PromiseInterface<Template<ItemTypeType, Fields>>;
|
|
64
64
|
private fetchTemplateById;
|
|
65
65
|
private constructTemplateBuffer;
|
|
66
66
|
}
|
|
@@ -3,7 +3,7 @@ import { RmCore } from '../../../core';
|
|
|
3
3
|
import { AbstractCacheDependencyInterface } from '../../../interfaces/AbstractCacheDependencyInterface';
|
|
4
4
|
import { CollectionResource, ItemEntry, ItemEntryOptions, ItemResource } from '../../../models';
|
|
5
5
|
import { CollectionOptionsInterface } from '../../../models/CollectionOptions';
|
|
6
|
-
import { ApiQuery, ApiRequestColumn, ApiRequestColumns, CollectionDefinition, CollectionQuery, CollectionResourceParentIdMap, ConversionMap, CreateRequestParameterMap, DeregFunction, EntryParentNull, FieldChangeCallback, FieldMap, ItemId, ItemIdConversionMap, ItemOptionsInterface, ItemResourcesItemTypeMap, ItemType, ItemTypeMap, LinkCollectionDefinition, PromiseInterface } from '../../../types';
|
|
6
|
+
import { ApiQuery, ApiRequestColumn, ApiRequestColumns, CollectionDefinition, CollectionQuery, CollectionResourceParentIdMap, ColumnIdTypeMap, ConversionMap, CreateRequestParameterMap, DeregFunction, EntryParentNull, FieldChangeCallback, FieldMap, ItemId, ItemIdConversionMap, ItemOptionsInterface, ItemResourcesItemTypeMap, ItemType, ItemTypeMap, LinkCollectionDefinition, PromiseInterface } from '../../../types';
|
|
7
7
|
import { ChangesDeltaResult } from '../../ChangesDeltaBase';
|
|
8
8
|
import { OnAfterCreateCallback } from '../../ChangesProcessor';
|
|
9
9
|
import { ModuleChangesCompilationResult } from '../../ModuleChangesCompilation';
|
|
@@ -247,7 +247,7 @@ export declare class TransactionCache extends AbstractCache {
|
|
|
247
247
|
getLinkCollectionsFromDef<ItemTypeType extends ItemType>(linkType: ItemType, linkIdArray: ItemId[], definition: LinkCollectionDefinition<ItemTypeType>): PromiseInterface<CollectionResourceParentIdMap<ItemTypeType>>;
|
|
248
248
|
getLinkCollections<ItemTypeType extends ItemType>(linkType: ItemType, linkIdArray: ItemId[], itemType: ItemTypeType, options: CollectionOptionsInterface<ItemTypeType>): PromiseInterface<CollectionResourceParentIdMap<ItemTypeType>>;
|
|
249
249
|
getCollectionFromDef<ItemTypeType extends ItemType>(definition: CollectionDefinition<ItemTypeType>): PromiseInterface<CollectionResource<ItemTypeType>>;
|
|
250
|
-
getCollection<ItemTypeType extends ItemType>(itemType: ItemTypeType, options: CollectionOptionsInterface<ItemTypeType>): PromiseInterface<CollectionResource<ItemTypeType>>;
|
|
250
|
+
getCollection<ItemTypeType extends ItemType, Fields extends FieldMap<ItemTypeType> = FieldMap<ItemTypeType>>(itemType: ItemTypeType, options: CollectionOptionsInterface<ItemTypeType>): PromiseInterface<CollectionResource<ItemTypeType, Fields>>;
|
|
251
251
|
getCollectionDef<ItemTypeType extends ItemType>(itemType: ItemTypeType, options: CollectionOptionsInterface<ItemTypeType>): CollectionDefinition<ItemTypeType>;
|
|
252
252
|
getLinkCollectionsDef<ItemTypeType extends ItemType>(itemType: ItemTypeType, linkField: string, options: CollectionOptionsInterface<ItemTypeType>): LinkCollectionDefinition<ItemTypeType>;
|
|
253
253
|
/**
|
|
@@ -280,7 +280,7 @@ export declare class TransactionCache extends AbstractCache {
|
|
|
280
280
|
*
|
|
281
281
|
* @param isRoot Sets the item as the root item of the transaction, new items will be linked to this item (if there's a connection in the LinkTree)
|
|
282
282
|
*/
|
|
283
|
-
getItemById<ItemTypeType extends ItemType>(itemType: ItemTypeType, itemId: ItemId, options?: Partial<ItemEntryOptions>, isRoot?: boolean): PromiseInterface<ItemResource<ItemTypeType>>;
|
|
283
|
+
getItemById<ItemTypeType extends ItemType, Fields extends FieldMap<ItemTypeType> = FieldMap<ItemTypeType>>(itemType: ItemTypeType, itemId: ItemId, options?: Partial<ItemEntryOptions>, isRoot?: boolean): PromiseInterface<ItemResource<ItemTypeType, Fields>>;
|
|
284
284
|
/**
|
|
285
285
|
* @description
|
|
286
286
|
* Fetches the title of an item, does not create an {@link ItemResource ItemResource}
|
|
@@ -316,7 +316,7 @@ export declare class TransactionCache extends AbstractCache {
|
|
|
316
316
|
*/
|
|
317
317
|
getDelta(): InternalChangesDelta;
|
|
318
318
|
createItemResource<ItemTypeType extends ItemType>(itemEntry: ItemEntry<ItemTypeType>, isRoot?: boolean, isNew?: boolean): ItemResource<ItemTypeType>;
|
|
319
|
-
createItemResources<ItemTypeType extends ItemType>(itemEntries: Array<ItemEntry<ItemTypeType>>): Array<ItemResource<ItemTypeType>>;
|
|
319
|
+
createItemResources<ItemTypeType extends ItemType, Fields extends ColumnIdTypeMap = any>(itemEntries: Array<ItemEntry<ItemTypeType>>): Array<ItemResource<ItemTypeType, Fields>>;
|
|
320
320
|
processLinkedItems<ItemTypeType extends ItemType>(linkedEntries: ItemTypeMap<ItemEntry[]>): ItemResourcesItemTypeMap<ItemResource<ItemTypeType>>;
|
|
321
321
|
createCollectionResource<ItemTypeType extends ItemType>(itemType: ItemTypeType, options: CollectionOptionsInterface<ItemTypeType>, initialEntries: Array<ItemEntry<ItemTypeType>>): CollectionResource<ItemTypeType>;
|
|
322
322
|
getChangesFromItemChanges<ItemTypeType extends ItemType = any>(changesObject: TransactionItemEntryChanges<ItemTypeType>): FieldMap<ItemTypeType>;
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { TransactionItemHandlerDependencyInterface } from '../../../interfaces';
|
|
2
2
|
import { ItemEntry, ItemEntryOptions } from '../../../models';
|
|
3
|
-
import { ApiQuery, ApiRequestColumns, DeregFunction, FieldChangeCallback, FieldMap, ItemId, ItemIdConversionMap, ItemType, ItemTypeMap, ModifyFieldsCallback, PromiseInterface, ResponseColumnItemTypeMap } from '../../../types';
|
|
3
|
+
import { ApiQuery, ApiRequestColumns, ColumnIdTypeMap, DeregFunction, FieldChangeCallback, FieldMap, ItemId, ItemIdConversionMap, ItemType, ItemTypeMap, ModifyFieldsCallback, PromiseInterface, ResponseColumnItemTypeMap } from '../../../types';
|
|
4
4
|
import { ChangesDelta } from '../../ChangesDelta';
|
|
5
5
|
import { ChangesDeltaBase, ChangesDeltaItemUpdateDelta, ChangesDeltaResult } from '../../ChangesDeltaBase';
|
|
6
6
|
import { ChangesDeltaItemCreateDelta, ColumnSubsetCache } from '../../index';
|
|
7
7
|
import { ItemHandlerBase, ProcessItemEntryChangesResult } from '../ItemHandlerBase';
|
|
8
8
|
import { TransactionCache } from './TransactionCache';
|
|
9
9
|
import { TransactionValidator } from './TransactionValidator';
|
|
10
|
-
export declare type TransactionItemEntryChanges<ItemTypeType extends ItemType = any> = {
|
|
11
|
-
initial: FieldMap<ItemTypeType>;
|
|
12
|
-
changes: FieldMap<ItemTypeType>;
|
|
10
|
+
export declare type TransactionItemEntryChanges<ItemTypeType extends ItemType = any, Fields extends ColumnIdTypeMap = any> = {
|
|
11
|
+
initial: FieldMap<ItemTypeType, Fields>;
|
|
12
|
+
changes: FieldMap<ItemTypeType, Fields>;
|
|
13
13
|
};
|
|
14
14
|
/**
|
|
15
15
|
* @description
|
|
@@ -22,11 +22,11 @@ export declare class TransactionItemHandler extends ItemHandlerBase {
|
|
|
22
22
|
private validator?;
|
|
23
23
|
deletedItems: ItemTypeMap<ItemEntry[]>;
|
|
24
24
|
itemChanges: {
|
|
25
|
-
[itemEntryId: number]: TransactionItemEntryChanges
|
|
25
|
+
[itemEntryId: number]: TransactionItemEntryChanges<any, any>;
|
|
26
26
|
};
|
|
27
27
|
fieldChangeCallbacks: {
|
|
28
28
|
[itemType: string]: {
|
|
29
|
-
[itemId: string]: FieldChangeCallback
|
|
29
|
+
[itemId: string]: Array<FieldChangeCallback<any, any>>;
|
|
30
30
|
};
|
|
31
31
|
};
|
|
32
32
|
constructor(dependencies: TransactionItemHandlerDependencyInterface, transaction: TransactionCache, validator?: TransactionValidator | undefined);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CollectionEntryService, ColumnCache, KeyService, QueryService } from '../classes';
|
|
2
2
|
import { CollectionEntry } from '../models/';
|
|
3
3
|
import { CollectionOptionsInterface } from '../models/CollectionOptions';
|
|
4
|
-
import { ItemType } from '../types/';
|
|
4
|
+
import { ColumnIdTypeMap, ItemType } from '../types/';
|
|
5
5
|
import { ColumnSetFactory } from './ColumnSetFactory';
|
|
6
6
|
export declare class CollectionEntryFactory {
|
|
7
7
|
private collectionEntryService;
|
|
@@ -10,5 +10,5 @@ export declare class CollectionEntryFactory {
|
|
|
10
10
|
private queryService;
|
|
11
11
|
private columnCache;
|
|
12
12
|
constructor(collectionEntryService: CollectionEntryService, columnSetFactory: ColumnSetFactory, keyService: KeyService, queryService: QueryService, columnCache: ColumnCache);
|
|
13
|
-
construct<ItemTypeType extends ItemType>(itemType: ItemTypeType, options: CollectionOptionsInterface<ItemTypeType>): CollectionEntry<ItemTypeType>;
|
|
13
|
+
construct<ItemTypeType extends ItemType, Fields extends ColumnIdTypeMap = any>(itemType: ItemTypeType, options: CollectionOptionsInterface<ItemTypeType, Fields>): CollectionEntry<ItemTypeType, Fields>;
|
|
14
14
|
}
|
|
@@ -2,7 +2,7 @@ import { ApiFormatter, ColumnUtil } from '../classes';
|
|
|
2
2
|
import { TransactionCache } from '../classes/cache/transaction/TransactionCache';
|
|
3
3
|
import { ErrorHandlerInterface, ExceptionHandlerInterface, PromiseLibraryInterface } from '../interfaces';
|
|
4
4
|
import { ItemEntry, ItemResource } from '../models';
|
|
5
|
-
import { ItemType } from '../types';
|
|
5
|
+
import { ColumnIdTypeMap, ItemType } from '../types';
|
|
6
6
|
export declare class ItemResourceFactory {
|
|
7
7
|
apiFormatter: ApiFormatter;
|
|
8
8
|
errorHandler: ErrorHandlerInterface;
|
|
@@ -10,5 +10,5 @@ export declare class ItemResourceFactory {
|
|
|
10
10
|
exceptionHandler: ExceptionHandlerInterface;
|
|
11
11
|
columnUtil: ColumnUtil;
|
|
12
12
|
constructor(apiFormatter: ApiFormatter, errorHandler: ErrorHandlerInterface, promiseService: PromiseLibraryInterface, exceptionHandler: ExceptionHandlerInterface, columnUtil: ColumnUtil);
|
|
13
|
-
construct<ItemTypeType extends ItemType>(itemEntry: ItemEntry<ItemTypeType>, transaction: TransactionCache, isNew?: boolean): ItemResource<ItemTypeType>;
|
|
13
|
+
construct<ItemTypeType extends ItemType, Fields extends ColumnIdTypeMap = any>(itemEntry: ItemEntry<ItemTypeType>, transaction: TransactionCache, isNew?: boolean): ItemResource<ItemTypeType, Fields>;
|
|
14
14
|
}
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import { CollectionEntryService, ColumnCache, ColumnExpansion, ColumnSet, KeyService, QueryService } from '../classes';
|
|
2
2
|
import { ColumnSetFactory } from '../factories';
|
|
3
|
-
import { CollectionQuery, EntryParentNull, ItemType, PromiseInterface } from '../types';
|
|
3
|
+
import { CollectionQuery, ColumnIdTypeMap, EntryParentNull, ItemType, PromiseInterface } from '../types';
|
|
4
4
|
import { CollectionOptions } from './CollectionOptions';
|
|
5
|
-
export declare class CollectionEntry<ItemTypeType extends ItemType = any> {
|
|
5
|
+
export declare class CollectionEntry<ItemTypeType extends ItemType = any, Fields extends ColumnIdTypeMap = any> {
|
|
6
6
|
private collectionEntryService;
|
|
7
7
|
private queryService;
|
|
8
8
|
private columnSetFactory;
|
|
9
9
|
private keyService;
|
|
10
10
|
private columnCache;
|
|
11
11
|
itemType: ItemTypeType;
|
|
12
|
-
options: CollectionOptions
|
|
12
|
+
options: CollectionOptions<ItemTypeType, Fields>;
|
|
13
13
|
id: number;
|
|
14
14
|
parent: EntryParentNull;
|
|
15
15
|
query: CollectionQuery;
|
|
16
16
|
columns: ColumnSet<ItemTypeType>;
|
|
17
17
|
reloadQueued: boolean;
|
|
18
18
|
promise: PromiseInterface<this>;
|
|
19
|
-
constructor(collectionEntryService: CollectionEntryService, queryService: QueryService, columnSetFactory: ColumnSetFactory, keyService: KeyService, columnCache: ColumnCache, itemType: ItemTypeType, options: CollectionOptions);
|
|
19
|
+
constructor(collectionEntryService: CollectionEntryService, queryService: QueryService, columnSetFactory: ColumnSetFactory, keyService: KeyService, columnCache: ColumnCache, itemType: ItemTypeType, options: CollectionOptions<ItemTypeType, Fields>);
|
|
20
20
|
isLocal(): boolean;
|
|
21
21
|
queueReload(): void;
|
|
22
22
|
expandColumns(columnExpansion: ColumnExpansion<ItemTypeType>): void;
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { CollectionResource, ItemResource } from '../models';
|
|
2
|
-
import { ApiQuery, ApiRequestColumns, ApiRequestLimit, EntryParentNull, FieldChangeCallback, ItemType } from '../types';
|
|
3
|
-
export declare type CollectionResourceCallback<ItemTypeType extends ItemType> = (itemResources: Array<ItemResource<ItemTypeType>>, collectionResource: CollectionResource<ItemTypeType>, isCalledAfterSocketUpdate: boolean) => void;
|
|
4
|
-
export declare type CollectionResourceOnAddCallback<ItemTypeType extends ItemType> = (itemResources: Array<ItemResource<ItemTypeType>>, collectionResource: CollectionResource<ItemTypeType>, isInitialCall: boolean, isCalledAfterSocketUpdate: boolean) => void;
|
|
5
|
-
export declare type CollectionOptionsInterface<ItemTypeType extends ItemType> = Partial<CollectionOptions<ItemTypeType>>;
|
|
6
|
-
export declare class CollectionOptions<ItemTypeType extends ItemType = any> {
|
|
2
|
+
import { ApiQuery, ApiRequestColumns, ApiRequestLimit, ColumnIdTypeMap, EntryParentNull, FieldChangeCallback, ItemType } from '../types';
|
|
3
|
+
export declare type CollectionResourceCallback<ItemTypeType extends ItemType, Fields extends ColumnIdTypeMap = any> = (itemResources: Array<ItemResource<ItemTypeType, Fields>>, collectionResource: CollectionResource<ItemTypeType, Fields>, isCalledAfterSocketUpdate: boolean) => void;
|
|
4
|
+
export declare type CollectionResourceOnAddCallback<ItemTypeType extends ItemType, Fields extends ColumnIdTypeMap = any> = (itemResources: Array<ItemResource<ItemTypeType, Fields>>, collectionResource: CollectionResource<ItemTypeType, Fields>, isInitialCall: boolean, isCalledAfterSocketUpdate: boolean) => void;
|
|
5
|
+
export declare type CollectionOptionsInterface<ItemTypeType extends ItemType, Fields extends ColumnIdTypeMap = any> = Partial<CollectionOptions<ItemTypeType, Fields>>;
|
|
6
|
+
export declare class CollectionOptions<ItemTypeType extends ItemType = any, Fields extends ColumnIdTypeMap = any> {
|
|
7
7
|
columns: ApiRequestColumns;
|
|
8
8
|
query: ApiQuery | null;
|
|
9
9
|
queryColumns: ApiRequestColumns;
|
|
10
10
|
parent: EntryParentNull;
|
|
11
11
|
limit: ApiRequestLimit | null;
|
|
12
|
-
onAdd: CollectionResourceOnAddCallback<ItemTypeType>;
|
|
13
|
-
onRemove: CollectionResourceCallback<ItemTypeType>;
|
|
12
|
+
onAdd: CollectionResourceOnAddCallback<ItemTypeType, Fields>;
|
|
13
|
+
onRemove: CollectionResourceCallback<ItemTypeType, Fields>;
|
|
14
14
|
onChange: FieldChangeCallback;
|
|
15
15
|
custom: any;
|
|
16
16
|
callOnAddWithInitialItems: boolean;
|
|
17
|
-
constructor(values: CollectionOptionsInterface<ItemTypeType>);
|
|
17
|
+
constructor(values: CollectionOptionsInterface<ItemTypeType, Fields>);
|
|
18
18
|
}
|
|
@@ -2,15 +2,15 @@ import { TransactionCache } from '../classes/cache/transaction/TransactionCache'
|
|
|
2
2
|
import { ChangesDeltaResult } from '../classes/ChangesDeltaBase';
|
|
3
3
|
import { CollectionResourceFactory } from '../factories';
|
|
4
4
|
import { CollectionEntry, CollectionOptions, ItemEntry, ItemResource } from '../models';
|
|
5
|
-
import { ApiRequestLimit, CompareFieldCallback, DeregFunction, FieldMap, ItemId, ItemResourceItemIdMap, ItemType, OnAddCallback, OnChangeCallback, OnRemoveCallback, PromiseInterface, ResponseColumnItemTypeMap } from '../types';
|
|
6
|
-
export declare class CollectionResource<ItemTypeType extends ItemType = any> {
|
|
5
|
+
import { ApiRequestLimit, ColumnIdTypeMap, CompareFieldCallback, DeregFunction, FieldMap, ItemId, ItemResourceItemIdMap, ItemType, OnAddCallback, OnChangeCallback, OnRemoveCallback, PromiseInterface, ResponseColumnItemTypeMap } from '../types';
|
|
6
|
+
export declare class CollectionResource<ItemTypeType extends ItemType = any, Fields extends ColumnIdTypeMap = any> {
|
|
7
7
|
protected factory: CollectionResourceFactory;
|
|
8
|
-
options: CollectionOptions<ItemTypeType>;
|
|
8
|
+
options: CollectionOptions<ItemTypeType, Fields>;
|
|
9
9
|
transaction: TransactionCache;
|
|
10
|
-
entry: CollectionEntry<ItemTypeType>;
|
|
10
|
+
entry: CollectionEntry<ItemTypeType, Fields>;
|
|
11
11
|
columns: ResponseColumnItemTypeMap;
|
|
12
|
-
items: Array<ItemResource<ItemTypeType>>;
|
|
13
|
-
protected itemIdMap: ItemResourceItemIdMap<ItemResource<ItemTypeType>>;
|
|
12
|
+
items: Array<ItemResource<ItemTypeType, Fields>>;
|
|
13
|
+
protected itemIdMap: ItemResourceItemIdMap<ItemResource<ItemTypeType, Fields>>;
|
|
14
14
|
private fieldChangeDeregFns;
|
|
15
15
|
private readonly onChangeCallbacks;
|
|
16
16
|
private readonly onAddCallbacks;
|
|
@@ -20,12 +20,12 @@ export declare class CollectionResource<ItemTypeType extends ItemType = any> {
|
|
|
20
20
|
* We store the ItemIds of the items that were taking out the collections so that we can include those when doing a not-in when having a limit
|
|
21
21
|
*/
|
|
22
22
|
private removedItemIds;
|
|
23
|
-
constructor(factory: CollectionResourceFactory, options: CollectionOptions<ItemTypeType>, transaction: TransactionCache, itemType: ItemTypeType, initialItemEntries: Array<ItemEntry<ItemTypeType>>);
|
|
23
|
+
constructor(factory: CollectionResourceFactory, options: CollectionOptions<ItemTypeType, Fields>, transaction: TransactionCache, itemType: ItemTypeType, initialItemEntries: Array<ItemEntry<ItemTypeType>>);
|
|
24
24
|
onConstruct(): void;
|
|
25
25
|
setLimit(newLimit: number | ApiRequestLimit): void;
|
|
26
|
-
onAdd(callback: OnAddCallback): DeregFunction;
|
|
27
|
-
onChange(callback: OnChangeCallback): DeregFunction;
|
|
28
|
-
onRemove(callback: OnRemoveCallback): DeregFunction;
|
|
26
|
+
onAdd(callback: OnAddCallback<ItemTypeType, Fields>): DeregFunction;
|
|
27
|
+
onChange(callback: OnChangeCallback<ItemTypeType, Fields>): DeregFunction;
|
|
28
|
+
onRemove(callback: OnRemoveCallback<ItemTypeType, Fields>): DeregFunction;
|
|
29
29
|
__clear(): void;
|
|
30
30
|
/**
|
|
31
31
|
* @deprecated
|
|
@@ -34,29 +34,29 @@ export declare class CollectionResource<ItemTypeType extends ItemType = any> {
|
|
|
34
34
|
moveItems(itemEntries: Array<ItemEntry<ItemTypeType>>, destinationResource: CollectionResource<ItemTypeType>): void;
|
|
35
35
|
removeItems(idArray: ItemId[]): PromiseInterface<ChangesDeltaResult>;
|
|
36
36
|
removeItem(itemId: ItemId): PromiseInterface<ChangesDeltaResult>;
|
|
37
|
-
addItems(valuesArray: Array<
|
|
37
|
+
addItems(valuesArray: Array<Partial<Fields>>): PromiseInterface<ChangesDeltaResult>;
|
|
38
38
|
addItem(values: FieldMap<ItemTypeType>): PromiseInterface<ChangesDeltaResult>;
|
|
39
39
|
getIdArray(): ItemId[];
|
|
40
|
-
getItemById(itemId: number): ItemResource<ItemTypeType>;
|
|
41
|
-
addItemResources(itemEntriesToBeAdded: Array<ItemEntry<ItemTypeType>>, isInitialCall?: boolean, isCalledAfterSocketUpdate?: boolean): Array<ItemResource<ItemTypeType>>;
|
|
40
|
+
getItemById(itemId: number): ItemResource<ItemTypeType, Fields>;
|
|
41
|
+
addItemResources(itemEntriesToBeAdded: Array<ItemEntry<ItemTypeType>>, isInitialCall?: boolean, isCalledAfterSocketUpdate?: boolean): Array<ItemResource<ItemTypeType, Fields>>;
|
|
42
42
|
/**
|
|
43
43
|
* @description
|
|
44
44
|
* Returns the {@link ItemResource ItemResources} that where removed from the {@link CollectionResource collection}.
|
|
45
45
|
* Filters on {@link ItemResource ItemResource}.{@link ItemEntry entry} === {@link ItemEntry entry}
|
|
46
46
|
*/
|
|
47
|
-
removeItemResources(itemEntries: Array<ItemEntry<ItemTypeType>>, isCalledAfterSocketUpdate: boolean): Array<ItemResource<ItemTypeType>>;
|
|
48
|
-
callOnAdd(itemResources: Array<ItemResource<ItemTypeType>>, isInitialCall?: boolean, isCalledAfterSocketUpdate?: boolean): void;
|
|
49
|
-
callOnChange(itemEntry: ItemEntry<ItemTypeType>, compareField: CompareFieldCallback
|
|
50
|
-
callOnRemove(itemResources: Array<ItemResource<ItemTypeType>>, isCalledAfterSocketUpdate: boolean): void;
|
|
51
|
-
forEach(callback: (itemResource: ItemResource<ItemTypeType>) => void): void;
|
|
52
|
-
filter(callback: (itemResource: ItemResource<ItemTypeType>) => boolean): Array<ItemResource<ItemTypeType>>;
|
|
53
|
-
first(callback: (itemResource: ItemResource<ItemTypeType>) => boolean): ItemResource<ItemTypeType> | null;
|
|
54
|
-
some(callback: (itemResource: ItemResource<ItemTypeType>) => boolean): boolean;
|
|
55
|
-
groupBy(argument: string | ((itemResource: ItemResource<ItemTypeType>) => string | null)): {
|
|
56
|
-
[key: string]: Array<ItemResource<ItemTypeType>>;
|
|
47
|
+
removeItemResources(itemEntries: Array<ItemEntry<ItemTypeType>>, isCalledAfterSocketUpdate: boolean): Array<ItemResource<ItemTypeType, Fields>>;
|
|
48
|
+
callOnAdd(itemResources: Array<ItemResource<ItemTypeType, Fields>>, isInitialCall?: boolean, isCalledAfterSocketUpdate?: boolean): void;
|
|
49
|
+
callOnChange(itemEntry: ItemEntry<ItemTypeType>, compareField: CompareFieldCallback<Fields>, fields: FieldMap<ItemTypeType, Fields>, isCalledAfterSocketUpdate: boolean, previous: FieldMap<ItemTypeType, Fields>): void;
|
|
50
|
+
callOnRemove(itemResources: Array<ItemResource<ItemTypeType, Fields>>, isCalledAfterSocketUpdate: boolean): void;
|
|
51
|
+
forEach(callback: (itemResource: ItemResource<ItemTypeType, Fields>) => void): void;
|
|
52
|
+
filter(callback: (itemResource: ItemResource<ItemTypeType, Fields>) => boolean): Array<ItemResource<ItemTypeType, Fields>>;
|
|
53
|
+
first(callback: (itemResource: ItemResource<ItemTypeType, Fields>) => boolean): ItemResource<ItemTypeType, Fields> | null;
|
|
54
|
+
some(callback: (itemResource: ItemResource<ItemTypeType, Fields>) => boolean): boolean;
|
|
55
|
+
groupBy(argument: string | ((itemResource: ItemResource<ItemTypeType, Fields>) => string | null)): {
|
|
56
|
+
[key: string]: Array<ItemResource<ItemTypeType, Fields>>;
|
|
57
57
|
};
|
|
58
|
-
map<U>(argument: string | ((itemResource: ItemResource<ItemTypeType>) => U)): U[];
|
|
59
|
-
reduce<U>(callback: (itemResource: ItemResource<ItemTypeType>, value: U) => U, value: U): U;
|
|
58
|
+
map<U>(argument: string | ((itemResource: ItemResource<ItemTypeType, Fields>) => U)): U[];
|
|
59
|
+
reduce<U>(callback: (itemResource: ItemResource<ItemTypeType, Fields>, value: U) => U, value: U): U;
|
|
60
60
|
/**
|
|
61
61
|
* @description
|
|
62
62
|
* Removes the reference to the {@link CollectionResource CollectionResource} from the {@link CollectionEntry CollectionEntry}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { TransactionCache } from '../classes';
|
|
2
2
|
import { ItemResourceFactory } from '../factories';
|
|
3
3
|
import { ItemEntry } from '../models';
|
|
4
|
-
import { EntryParentNull, FieldMap, ItemType, PromiseInterface, ResponseColumn } from '../types';
|
|
5
|
-
export declare class ItemResource<ItemTypeType extends ItemType = any> {
|
|
4
|
+
import { ColumnIdTypeMap, EntryParentNull, FieldMap, ItemType, PromiseInterface, ResponseColumn } from '../types';
|
|
5
|
+
export declare class ItemResource<ItemTypeType extends ItemType = any, Fields extends ColumnIdTypeMap = any> {
|
|
6
6
|
protected readonly factory: ItemResourceFactory;
|
|
7
7
|
readonly entry: ItemEntry<ItemTypeType>;
|
|
8
8
|
protected readonly _isNew: boolean;
|
|
@@ -10,16 +10,16 @@ export declare class ItemResource<ItemTypeType extends ItemType = any> {
|
|
|
10
10
|
columns: {
|
|
11
11
|
[columnId: string]: ResponseColumn;
|
|
12
12
|
};
|
|
13
|
-
fields: FieldMap<ItemTypeType>;
|
|
14
|
-
initial: Readonly<FieldMap<ItemTypeType>>;
|
|
13
|
+
fields: FieldMap<ItemTypeType, Fields>;
|
|
14
|
+
initial: Readonly<FieldMap<ItemTypeType, Fields>>;
|
|
15
15
|
constructor(factory: ItemResourceFactory, entry: ItemEntry<ItemTypeType>, _isNew: boolean, transaction: TransactionCache);
|
|
16
16
|
onConstruct(): void;
|
|
17
17
|
/**
|
|
18
18
|
* @description
|
|
19
19
|
* Updates the fields of the item and calls onChange, when updating many fields of many items it's better to create a {@link ChangesDelta ChangesDelta} yourself so all changes can be applied at once
|
|
20
20
|
*/
|
|
21
|
-
setFields(values:
|
|
22
|
-
copyFields(destination?: FieldMap<ItemTypeType>):
|
|
21
|
+
setFields(values: Partial<Fields>): PromiseInterface<this>;
|
|
22
|
+
copyFields(destination?: FieldMap<ItemTypeType>): Fields;
|
|
23
23
|
/**
|
|
24
24
|
* Fetches the ItemResource's parent with the current fields
|
|
25
25
|
*
|
|
@@ -33,7 +33,7 @@ export declare class ItemResource<ItemTypeType extends ItemType = any> {
|
|
|
33
33
|
* @deprecated
|
|
34
34
|
* Use {@link TransactionCache.applyChangesDelta transaction.applyChangesDelta} instead
|
|
35
35
|
*/
|
|
36
|
-
callOnChange(previous:
|
|
36
|
+
callOnChange(previous: Fields): void;
|
|
37
37
|
/**
|
|
38
38
|
* @description
|
|
39
39
|
* Utility function to easily check if a field is changed.
|
|
@@ -50,7 +50,7 @@ export declare class ItemResource<ItemTypeType extends ItemType = any> {
|
|
|
50
50
|
* }
|
|
51
51
|
* }
|
|
52
52
|
*/
|
|
53
|
-
compareItemField(columnId: keyof
|
|
53
|
+
compareItemField(columnId: keyof Fields, previous: Fields): boolean;
|
|
54
54
|
hasChanges(): boolean;
|
|
55
55
|
setTransactionParameters(parameters: any): void;
|
|
56
56
|
/**
|
|
@@ -61,7 +61,7 @@ export declare class ItemResource<ItemTypeType extends ItemType = any> {
|
|
|
61
61
|
isLocal(): boolean;
|
|
62
62
|
toJSON(): {
|
|
63
63
|
columns: string[];
|
|
64
|
-
fields:
|
|
64
|
+
fields: Fields;
|
|
65
65
|
entry: ItemEntry<ItemTypeType>;
|
|
66
66
|
};
|
|
67
67
|
/**
|
|
@@ -80,5 +80,5 @@ export declare class ItemResource<ItemTypeType extends ItemType = any> {
|
|
|
80
80
|
* @remark
|
|
81
81
|
* Assumes the derived item's values are already cached
|
|
82
82
|
*/
|
|
83
|
-
getDerivedValues(columnPath: string[]): Readonly<
|
|
83
|
+
getDerivedValues<DerivedFields extends FieldMap = any>(columnPath: string[]): Readonly<DerivedFields> | undefined;
|
|
84
84
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { ColumnSet } from '../classes';
|
|
2
2
|
import { TemplateFactory } from '../factories';
|
|
3
|
-
import { ApiRequestColumnMap, ApiResponse, FieldMap, ItemType, ResponseColumnItemTypeMap } from '../types';
|
|
4
|
-
export declare class Template<ItemTypeType extends ItemType = any> {
|
|
3
|
+
import { ApiRequestColumnMap, ApiResponse, ColumnIdTypeMap, FieldMap, ItemType, ResponseColumnItemTypeMap } from '../types';
|
|
4
|
+
export declare class Template<ItemTypeType extends ItemType = any, Fields extends ColumnIdTypeMap = any> {
|
|
5
5
|
itemType: ItemTypeType;
|
|
6
6
|
response: ApiResponse;
|
|
7
7
|
responseColumns: ResponseColumnItemTypeMap;
|
|
8
8
|
columns: ColumnSet<ItemTypeType>;
|
|
9
9
|
constructor(factory: TemplateFactory, itemType: ItemTypeType, response: ApiResponse, additionalRequestColumns: ApiRequestColumnMap, additionalResponseColumns: ResponseColumnItemTypeMap);
|
|
10
|
-
getFields(): FieldMap<ItemTypeType>;
|
|
10
|
+
getFields(): FieldMap<ItemTypeType, Fields>;
|
|
11
11
|
}
|
|
@@ -13,9 +13,8 @@ export declare type EntryParentNull = EntryParent | null;
|
|
|
13
13
|
* @description
|
|
14
14
|
* Used for fields that belong to a specific itemType
|
|
15
15
|
*/
|
|
16
|
-
export declare type FieldMap<_ItemTypeType extends ItemType = any> =
|
|
17
|
-
|
|
18
|
-
};
|
|
16
|
+
export declare type FieldMap<_ItemTypeType extends ItemType = any, Values = ColumnIdTypeMap> = Values;
|
|
17
|
+
export declare type ColumnIdTypeMap<Fields extends object = any> = Fields;
|
|
19
18
|
export declare type ItemOptionsInterface = ItemEntryOptionsInterface;
|
|
20
19
|
export interface CollectionDefinition<ItemTypeType extends ItemType = any> {
|
|
21
20
|
itemType: ItemTypeType;
|
|
@@ -115,10 +114,10 @@ export interface FunctionChangesResolveSocketMessage extends SocketMessage {
|
|
|
115
114
|
[key: string]: any;
|
|
116
115
|
};
|
|
117
116
|
}
|
|
118
|
-
export declare type ItemResourceItemIdMap<T extends ItemResource
|
|
117
|
+
export declare type ItemResourceItemIdMap<T extends ItemResource = ItemResource> = {
|
|
119
118
|
[itemId: number]: T;
|
|
120
119
|
};
|
|
121
|
-
export declare type ItemResourcesItemTypeMap<T extends ItemResource
|
|
120
|
+
export declare type ItemResourcesItemTypeMap<T extends ItemResource = ItemResource> = {
|
|
122
121
|
[itemType: string]: T[];
|
|
123
122
|
};
|
|
124
123
|
export declare type ItemId = number;
|
|
@@ -230,34 +229,34 @@ export declare type ApiLinkTree = {
|
|
|
230
229
|
* @description
|
|
231
230
|
* Callback to determine if an item should be included in the create delta, return `false` to exclude the item
|
|
232
231
|
*/
|
|
233
|
-
export declare type FilterItemEntryCallback = <ItemTypeType extends ItemType>(itemType: ItemTypeType, fields: FieldMap<ItemTypeType>) => boolean;
|
|
234
|
-
export declare type ModifyFieldsCallback = <ItemTypeType extends ItemType>(itemType: ItemTypeType, fields: FieldMap<ItemTypeType>, itemIdConversionMap?: ItemIdConversionMap) => void;
|
|
232
|
+
export declare type FilterItemEntryCallback = <ItemTypeType extends ItemType, Fields extends ColumnIdTypeMap = any>(itemType: ItemTypeType, fields: FieldMap<ItemTypeType, Fields>) => boolean;
|
|
233
|
+
export declare type ModifyFieldsCallback = <ItemTypeType extends ItemType, Fields extends ColumnIdTypeMap = any>(itemType: ItemTypeType, fields: FieldMap<ItemTypeType, Fields>, itemIdConversionMap?: ItemIdConversionMap) => void;
|
|
235
234
|
/**
|
|
236
235
|
* @description
|
|
237
236
|
* Returns 'false' if the field changed
|
|
238
237
|
*/
|
|
239
|
-
export declare type CompareFieldCallback<
|
|
240
|
-
export declare type FieldChangeCallbackArgs<ItemTypeType extends ItemType = any> = {
|
|
238
|
+
export declare type CompareFieldCallback<Fields extends ColumnIdTypeMap, T extends keyof Fields = string> = (field: T) => boolean;
|
|
239
|
+
export declare type FieldChangeCallbackArgs<ItemTypeType extends ItemType = any, Fields extends ColumnIdTypeMap = any> = {
|
|
241
240
|
itemEntry: ItemEntry<ItemTypeType>;
|
|
242
|
-
compareField: CompareFieldCallback
|
|
243
|
-
fields: FieldMap<ItemTypeType>;
|
|
241
|
+
compareField: CompareFieldCallback<Fields>;
|
|
242
|
+
fields: FieldMap<ItemTypeType, Fields>;
|
|
244
243
|
isCalledAfterSocketUpdate: boolean;
|
|
245
|
-
previous: FieldMap<ItemTypeType>;
|
|
244
|
+
previous: FieldMap<ItemTypeType, Fields>;
|
|
246
245
|
};
|
|
247
|
-
export declare type FieldChangeCallback<ItemTypeType extends ItemType = any> = (args: FieldChangeCallbackArgs<ItemTypeType>) => void;
|
|
246
|
+
export declare type FieldChangeCallback<ItemTypeType extends ItemType = any, Fields extends ColumnIdTypeMap = any> = (args: FieldChangeCallbackArgs<ItemTypeType, Fields>) => void;
|
|
248
247
|
export declare type DeregFunction = () => void;
|
|
249
|
-
export declare type OnChangeCallbackArgs<ItemTypeType extends ItemType = any> = FieldChangeCallbackArgs<ItemTypeType>;
|
|
250
|
-
export declare type OnChangeCallback<ItemTypeType extends ItemType = any> = FieldChangeCallback<ItemTypeType>;
|
|
251
|
-
export declare type OnAddCallbackArgs<ItemTypeType extends ItemType = any> = {
|
|
252
|
-
itemResources: Array<ItemResource<ItemTypeType>>;
|
|
253
|
-
collectionResource: CollectionResource<ItemTypeType>;
|
|
248
|
+
export declare type OnChangeCallbackArgs<ItemTypeType extends ItemType = any, Fields extends ColumnIdTypeMap = any> = FieldChangeCallbackArgs<ItemTypeType, Fields>;
|
|
249
|
+
export declare type OnChangeCallback<ItemTypeType extends ItemType = any, Fields extends ColumnIdTypeMap = any> = FieldChangeCallback<ItemTypeType, Fields>;
|
|
250
|
+
export declare type OnAddCallbackArgs<ItemTypeType extends ItemType = any, Fields extends ColumnIdTypeMap = any> = {
|
|
251
|
+
itemResources: Array<ItemResource<ItemTypeType, Fields>>;
|
|
252
|
+
collectionResource: CollectionResource<ItemTypeType, Fields>;
|
|
254
253
|
isInitialCall: boolean;
|
|
255
254
|
isCalledAfterSocketUpdate: boolean;
|
|
256
255
|
};
|
|
257
|
-
export declare type OnAddCallback<ItemTypeType extends ItemType = any> = (args: OnAddCallbackArgs<ItemTypeType>) => void;
|
|
258
|
-
export declare type OnRemoveCallbackArgs<ItemTypeType extends ItemType = any> = {
|
|
259
|
-
itemResources: Array<ItemResource<ItemTypeType>>;
|
|
260
|
-
collectionResource: CollectionResource<ItemTypeType>;
|
|
256
|
+
export declare type OnAddCallback<ItemTypeType extends ItemType = any, Fields extends ColumnIdTypeMap = any> = (args: OnAddCallbackArgs<ItemTypeType, Fields>) => void;
|
|
257
|
+
export declare type OnRemoveCallbackArgs<ItemTypeType extends ItemType = any, Fields extends ColumnIdTypeMap = any> = {
|
|
258
|
+
itemResources: Array<ItemResource<ItemTypeType, Fields>>;
|
|
259
|
+
collectionResource: CollectionResource<ItemTypeType, Fields>;
|
|
261
260
|
isCalledAfterSocketUpdate: boolean;
|
|
262
261
|
};
|
|
263
|
-
export declare type OnRemoveCallback<ItemTypeType extends ItemType = any> = (args: OnRemoveCallbackArgs<ItemTypeType>) => void;
|
|
262
|
+
export declare type OnRemoveCallback<ItemTypeType extends ItemType = any, Fields extends ColumnIdTypeMap = any> = (args: OnRemoveCallbackArgs<ItemTypeType, Fields>) => void;
|