@rentman/rm-core 2.0.2 → 2.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/changelog.md +8 -0
- package/dist/rm-core.js +82 -86
- package/dist/rm-core.min.js +1 -1
- package/dist/src/classes/ApiFormatter.d.ts +4 -0
- package/dist/src/classes/SocketMessageHandler.d.ts +3 -2
- package/dist/src/classes/TemplateCache.d.ts +1 -1
- package/dist/src/classes/cache/AbstractCache.d.ts +13 -1
- package/dist/src/classes/cache/CollectionHandlerBase.d.ts +4 -4
- package/dist/src/classes/cache/CollectionMatcherCacheProcessor.d.ts +1 -1
- package/dist/src/classes/cache/server/ServerCache.d.ts +3 -3
- package/dist/src/classes/cache/server/ServerCollectionHandler.d.ts +1 -1
- package/dist/src/classes/cache/server/ServerItemHandler.d.ts +1 -1
- package/dist/src/classes/cache/transaction/TransactionCache.d.ts +5 -15
- package/dist/src/classes/cache/transaction/TransactionCollectionHandler.d.ts +1 -1
- package/dist/src/classes/cache/transaction/TransactionItemHandler.d.ts +2 -1
- package/dist/src/models/CollectionEditResource.d.ts +0 -20
- package/dist/src/types/ItemTypesCollection.d.ts +3 -3
- package/package.json +1 -1
|
@@ -33,6 +33,10 @@ export declare class ApiFormatter {
|
|
|
33
33
|
copyFields<ItemTypeType extends ItemType>(source: FieldMap<ItemTypeType>, destination: FieldMap<ItemTypeType>, columns: Array<ColumnInfo<any>>): FieldMap<ItemTypeType>;
|
|
34
34
|
shallowCopyFields(shallowSource: FieldMap, deepSource: FieldMap, destination: FieldMap, columns: Array<ColumnInfo<any>>): FieldMap;
|
|
35
35
|
setDefaultValues(destination: FieldMap, columns: Array<ColumnInfo<any>>): FieldMap;
|
|
36
|
+
/**
|
|
37
|
+
* @description
|
|
38
|
+
* Compares the given fields, returns `true` when the fields are equal
|
|
39
|
+
*/
|
|
36
40
|
compareFields(columnType: string, first?: any, second?: any): boolean;
|
|
37
41
|
compareFloats(a: number, b: number): boolean;
|
|
38
42
|
compareMomentObjects(first: moment.Moment, second: moment.Moment): boolean;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ApiFormatter } from '../classes';
|
|
1
|
+
import { ApiFormatter, ApiRequestService } from '../classes';
|
|
2
2
|
import { RequestColumnExpansionFactory, TransactionCacheFactory } from '../factories';
|
|
3
3
|
import { ChangesDeltaFactory } from '../factories/ChangesDeltaFactory';
|
|
4
4
|
import { ErrorHandlerInterface, PromiseLibraryInterface } from '../interfaces';
|
|
@@ -15,7 +15,8 @@ export declare class SocketMessageHandler {
|
|
|
15
15
|
private transactionCacheFactory;
|
|
16
16
|
private promiseService;
|
|
17
17
|
private requestColumnExpansionFactory;
|
|
18
|
-
|
|
18
|
+
private apiRequestService;
|
|
19
|
+
constructor(requestBufferManager: RequestBufferManager, changesDeltaFactory: ChangesDeltaFactory, apiFormatter: ApiFormatter, errorHandler: ErrorHandlerInterface, transactionCacheFactory: TransactionCacheFactory, promiseService: PromiseLibraryInterface, requestColumnExpansionFactory: RequestColumnExpansionFactory, apiRequestService: ApiRequestService);
|
|
19
20
|
onMessageReceived(message: SocketMessage): any;
|
|
20
21
|
private formatMessageValues;
|
|
21
22
|
private createCollectionMap;
|
|
@@ -19,7 +19,7 @@ export declare class TemplateCache {
|
|
|
19
19
|
constructor(columnUtil: ColumnUtil, promiseService: PromiseLibraryInterface, requestBufferFactory: RequestBufferManager, columnHandler: ColumnHandler, templateFactory: TemplateFactory, errorHandler: ErrorHandlerInterface, requestColumnExpansionFactory: RequestColumnExpansionFactory);
|
|
20
20
|
/**
|
|
21
21
|
* @description
|
|
22
|
-
* Fetches a {@link Template template}
|
|
22
|
+
* Fetches a {@link Template template}, {@link TransactionItemHandler.createItems TransactionItemHandler.createItems} is a convenience function for this
|
|
23
23
|
*
|
|
24
24
|
* @param itemType The {@link ItemType ItemType} of the template item
|
|
25
25
|
* @param itemId Used for caching, multiple concurrent template calls for the same itemId will return the same template
|
|
@@ -10,11 +10,13 @@ import { ApiRequestService } from '../ApiRequestService';
|
|
|
10
10
|
import { ChangesDelta } from '../ChangesDelta';
|
|
11
11
|
import { ChangesDeltaResult } from '../ChangesDeltaBase';
|
|
12
12
|
import { OnAfterCreateCallback } from '../ChangesProcessor';
|
|
13
|
+
import { CollectionCache } from '../CollectionCache';
|
|
13
14
|
import { CollectionEntryService } from '../CollectionEntryService';
|
|
14
15
|
import { ColumnCache } from '../ColumnCache';
|
|
15
16
|
import { ColumnHandler } from '../ColumnHandler';
|
|
16
17
|
import { ColumnUtil } from '../ColumnUtil';
|
|
17
18
|
import { InternalChangesDelta } from '../InternalChangesDelta';
|
|
19
|
+
import { ItemCache } from '../ItemCache';
|
|
18
20
|
import { ItemEntryService } from '../ItemEntryService';
|
|
19
21
|
import { KeyService } from '../KeyService';
|
|
20
22
|
import { LockService } from '../LockService';
|
|
@@ -68,6 +70,16 @@ export declare abstract class AbstractCache {
|
|
|
68
70
|
protected constructor(core: RmCore, columnCache: ColumnCache, requestBufferManager: RequestBufferManager, requestColumnExpansionFactory: RequestColumnExpansionFactory, queryMatcherFactory: QueryMatcherFactory, authInterface: AuthInterface, changesDeltaFactory: ChangesDeltaFactory, lockService: LockService, moduleChangesCompilationFactory: ModuleChangesCompilationFactory, collectionResourceFactory: CollectionResourceFactory, itemResourceFactory: ItemResourceFactory, templateCache: TemplateCache, itemCacheFactory: ItemCacheFactory, collectionCacheFactory: CollectionCacheFactory, errorHandler: ErrorHandlerInterface, exceptionHandler: ExceptionHandlerInterface, promiseService: PromiseLibraryInterface, apiRequestService: ApiRequestService, columnExpansionFactory: ColumnExpansionFactory, columnHandler: ColumnHandler, columnSetFactory: ColumnSetFactory, columnSubsetCacheFactory: ColumnSubsetCacheFactory, columnUtil: ColumnUtil, itemEntryFactory: ItemEntryFactory, itemEntryService: ItemEntryService, keyService: KeyService, collectionEntryFactory: CollectionEntryFactory, collectionEntryService: CollectionEntryService, collectionMatcherFactory: CollectionMatcherFactory, queryParserFactory: QueryParserFactory, queryService: QueryService, apiFormatter: ApiFormatter, linkTreeService: LinkTreeServiceInterface);
|
|
69
71
|
createChild(id?: string): TransactionCache;
|
|
70
72
|
onChildDestroy(cache: TransactionCache): void;
|
|
73
|
+
/**
|
|
74
|
+
* @description
|
|
75
|
+
* Returns the {@link TransactionCollectionHandler.entries CollectionCache} of the transaction
|
|
76
|
+
*/
|
|
77
|
+
getCurrentCollectionEntryCache(): CollectionCache;
|
|
78
|
+
/**
|
|
79
|
+
* @description
|
|
80
|
+
* Returns the {@link TransactionItemHandler.entries ItemCache} of the transaction
|
|
81
|
+
*/
|
|
82
|
+
getCurrentItemEntryCache(): ItemCache;
|
|
71
83
|
abstract getServerCache(): ServerCache;
|
|
72
84
|
abstract getLocalItemEntry(itemEntryId: ItemEntry['id']): ItemEntry | undefined;
|
|
73
85
|
abstract getLocalItemEntryByItemId(itemType: ItemType, itemId: ItemEntry['itemId']): ItemEntry | undefined;
|
|
@@ -88,7 +100,7 @@ export declare abstract class AbstractCache {
|
|
|
88
100
|
*
|
|
89
101
|
* @internal
|
|
90
102
|
*/
|
|
91
|
-
abstract applyChangesFromParent(internalChangesDelta: InternalChangesDelta, isCalledAfterApiSave: boolean): void;
|
|
103
|
+
abstract applyChangesFromParent(internalChangesDelta: InternalChangesDelta, isCalledAfterApiSave: boolean, isCalledAfterSocketUpdate: boolean): void;
|
|
92
104
|
abstract getParent(itemEntry: ItemEntry, fromInitial?: boolean): EntryParentNull;
|
|
93
105
|
abstract getItemChangesRecursively(itemEntryId: ItemEntry['id'], copyFields?: boolean): FieldMap;
|
|
94
106
|
abstract getLocalItemEntryChangesTuple(itemEntryId: ItemEntry['id']): any;
|
|
@@ -51,10 +51,10 @@ export declare abstract class CollectionHandlerBase {
|
|
|
51
51
|
* Adds the passed {@link ItemEntry ItemEntries} to the collection's changes on the transaction,
|
|
52
52
|
* will skip the ItemEntry if the `skipEntryFilterFn` callback returns `true`
|
|
53
53
|
*/
|
|
54
|
-
|
|
55
|
-
protected abstract handleAddedItemEntriesCallback<CollectionEntryType extends CollectionEntry>(collectionEntry: CollectionEntryType, addedEntries: Array<ItemEntry<CollectionEntryType['itemType']
|
|
56
|
-
removeItemEntriesFromCollectionChanges(collectionEntry: CollectionEntry, idArray: ItemId[]): void | never[];
|
|
57
|
-
protected abstract handleRemovedItemEntriesCallback<CollectionEntryType extends CollectionEntry>(collectionEntry: CollectionEntryType, removedItemEntries: Array<ItemEntry<CollectionEntryType['itemType']
|
|
54
|
+
protected _addItemEntriesToCollectionChanges<CollectionEntryType extends CollectionEntry>(collectionEntry: CollectionEntryType, itemEntries: Array<ItemEntry<CollectionEntryType['itemType']>>, skipEntryFilterFn: (temEntry: ItemEntry) => boolean, isCalledAfterSocketUpdate: boolean): void;
|
|
55
|
+
protected abstract handleAddedItemEntriesCallback<CollectionEntryType extends CollectionEntry>(collectionEntry: CollectionEntryType, addedEntries: Array<ItemEntry<CollectionEntryType['itemType']>>, isCalledAfterSocketUpdate: boolean): void;
|
|
56
|
+
removeItemEntriesFromCollectionChanges(collectionEntry: CollectionEntry, idArray: ItemId[], isCalledAfterSocketUpdate?: boolean): void | never[];
|
|
57
|
+
protected abstract handleRemovedItemEntriesCallback<CollectionEntryType extends CollectionEntry>(collectionEntry: CollectionEntryType, removedItemEntries: Array<ItemEntry<CollectionEntryType['itemType']>>, isCalledAfterSocketUpdate: boolean): void;
|
|
58
58
|
/**
|
|
59
59
|
* @description
|
|
60
60
|
* Expands the option's {@link CollectionEntryOptions.columns columns} with the columns required for the {@link CollectionMatcher CollectionMatcher} to function.
|
|
@@ -21,6 +21,6 @@ export declare type GroupedCollectionMatcherResult<ItemTypeType extends ItemType
|
|
|
21
21
|
export declare class CollectionMatcherCacheProcessor extends CollectionMatcher {
|
|
22
22
|
private apiRequestService;
|
|
23
23
|
constructor(apiRequestService: ApiRequestService, queryMatcherFactory: QueryMatcherFactory, transaction: AbstractCache, getCollectionEntries: (itemType: ItemType) => CollectionEntry[]);
|
|
24
|
-
removeFromAndAddToCollections(): void;
|
|
24
|
+
removeFromAndAddToCollections(isCalledAfterSocketUpdate?: boolean): void;
|
|
25
25
|
private groupItemEntries;
|
|
26
26
|
}
|
|
@@ -41,12 +41,12 @@ export declare class ServerCache extends AbstractCache {
|
|
|
41
41
|
parent: null;
|
|
42
42
|
constructor(changesProcessorFactory: ChangesProcessorFactory, core: RmCore, columnCache: ColumnCache, requestBufferManager: RequestBufferManager, requestColumnExpansionFactory: RequestColumnExpansionFactory, queryMatcherFactory: QueryMatcherFactory, authInterface: AuthInterface, changesDeltaFactory: ChangesDeltaFactory, lockService: LockService, moduleChangesCompilationFactory: ModuleChangesCompilationFactory, collectionResourceFactory: CollectionResourceFactory, itemResourceFactory: ItemResourceFactory, templateCache: TemplateCache, itemCacheFactory: ItemCacheFactory, collectionCacheFactory: CollectionCacheFactory, errorHandler: ErrorHandlerInterface, exceptionHandler: ExceptionHandlerInterface, promiseService: PromiseLibraryInterface, apiFormatter: ApiFormatter, apiRequestService: ApiRequestService, columnExpansionFactory: ColumnExpansionFactory, columnHandler: ColumnHandler, columnSetFactory: ColumnSetFactory, columnSubsetCacheFactory: ColumnSubsetCacheFactory, columnUtil: ColumnUtil, itemEntryFactory: ItemEntryFactory, itemEntryService: ItemEntryService, keyService: KeyService, collectionEntryFactory: CollectionEntryFactory, collectionEntryService: CollectionEntryService, collectionMatcherFactory: CollectionMatcherFactory, queryParserFactory: QueryParserFactory, queryService: QueryService, linkTreeService: LinkTreeServiceInterface);
|
|
43
43
|
getServerCache(): ServerCache;
|
|
44
|
-
processResponse(response: ApiResponseProcessor): PromiseInterface<ChangesDeltaResult>;
|
|
44
|
+
processResponse(response: ApiResponseProcessor, isCalledAfterApiSave?: boolean, isCalledAfterSocketUpdate?: boolean): PromiseInterface<ChangesDeltaResult>;
|
|
45
45
|
/**
|
|
46
46
|
* @description
|
|
47
47
|
* Applies the changes of the changesDelta created by the API call ({@link ChangesProcessor ChangesProcessor}/{@link SocketMessageHandler SocketMessageHandler}, or manually through a module function) on all caches
|
|
48
48
|
*/
|
|
49
|
-
applyChangesFromParent(internalChangesDelta: InternalChangesDelta, isCalledAfterApiSave?: boolean): void;
|
|
49
|
+
applyChangesFromParent(internalChangesDelta: InternalChangesDelta, isCalledAfterApiSave?: boolean, isCalledAfterSocketUpdate?: boolean): void;
|
|
50
50
|
/**
|
|
51
51
|
* @description
|
|
52
52
|
* Gets the fields required to set the parent
|
|
@@ -79,7 +79,7 @@ export declare class ServerCache extends AbstractCache {
|
|
|
79
79
|
* Applies changes to this transaction and its children
|
|
80
80
|
* Differs from {@link TransactionCache.applyChangesDelta TransactionCache.applyChangesDelta} in the handling of deleted entries and the applyChangesFromParent call
|
|
81
81
|
*/
|
|
82
|
-
applyChangesDelta(changesDelta: ChangesDelta): PromiseInterface<ChangesDeltaResult>;
|
|
82
|
+
applyChangesDelta(changesDelta: ChangesDelta, isCalledAfterApiSave?: boolean, isCalledAfterSocketUpdate?: boolean): PromiseInterface<ChangesDeltaResult>;
|
|
83
83
|
getLocalItemEntry(itemEntryId: ItemEntry['id']): ItemEntry | undefined;
|
|
84
84
|
getLocalItemEntryByItemId(itemType: ItemType, itemId: ItemEntry['itemId']): ItemEntry | undefined;
|
|
85
85
|
getLocalCollectionEntry(collectionEntryId: CollectionEntry['id']): CollectionEntry | undefined;
|
|
@@ -26,7 +26,7 @@ export declare class ServerCollectionHandler extends CollectionHandlerBase {
|
|
|
26
26
|
extendCollectionEntry<CollectionEntryType extends CollectionEntry>(collectionEntry: CollectionEntryType, queryCallback: QueryCallback): PromiseInterface<CollectionEntryType>;
|
|
27
27
|
expandCollectionEntries<ItemTypeType extends ItemType>(parentType: ItemType, itemType: ItemTypeType, collections: CollectionResourceParentIdMap, newRequestColumns: ApiRequestColumn[]): PromiseInterface<CollectionResourceParentIdMap>;
|
|
28
28
|
extendCollectionEntries<T extends CollectionResourceParentIdMap>(parentType: ItemType, itemType: ItemType, options: CollectionEntryOptions, queryCallback: QueryCallback, collections: T): PromiseInterface<void>;
|
|
29
|
-
addItemEntriesToCollectionChanges<CollectionEntryType extends CollectionEntry>(collectionEntry: CollectionEntryType, itemEntries: Array<ItemEntry<CollectionEntryType['itemType']
|
|
29
|
+
addItemEntriesToCollectionChanges<CollectionEntryType extends CollectionEntry>(collectionEntry: CollectionEntryType, itemEntries: Array<ItemEntry<CollectionEntryType['itemType']>>, isCalledAfterSocketUpdate?: boolean): void;
|
|
30
30
|
protected handleAddedItemEntriesCallback<CollectionEntryType extends CollectionEntry>(_collectionEntry: CollectionEntryType, addedEntries: Array<ItemEntry<CollectionEntryType['itemType']>>): void;
|
|
31
31
|
protected handleRemovedItemEntriesCallback<CollectionEntryType extends CollectionEntry>(_collectionEntry: CollectionEntryType, removedItemEntries: Array<ItemEntry<CollectionEntryType['itemType']>>): void;
|
|
32
32
|
/**
|
|
@@ -23,7 +23,7 @@ export declare class ServerItemHandler extends ItemHandlerBase {
|
|
|
23
23
|
* @description
|
|
24
24
|
* Processes updates on a cached entry
|
|
25
25
|
*/
|
|
26
|
-
processItemEntryChanges<ItemTypeType extends ItemType = any>(itemEntryChangesTuple: ChangesDeltaItemUpdateDelta<ItemTypeType>, _forceOverwrite?: boolean, _updateInitial?: boolean): FieldMap<ItemTypeType>;
|
|
26
|
+
processItemEntryChanges<ItemTypeType extends ItemType = any>(itemEntryChangesTuple: ChangesDeltaItemUpdateDelta<ItemTypeType>, _forceOverwrite?: boolean, _updateInitial?: boolean, _isCalledAfterSocketUpdate?: boolean): FieldMap<ItemTypeType>;
|
|
27
27
|
fetchItemEntry<ItemTypeType extends ItemType>(itemType: ItemTypeType, itemId: ItemId, options: ItemEntryOptions): PromiseInterface<ItemEntry<ItemTypeType>>;
|
|
28
28
|
fetchItemEntriesByQuery<ItemTypeType extends ItemType>(itemType: ItemTypeType, query: ApiQuery, entryOptions: ItemEntryOptions): PromiseInterface<Array<ItemEntry<ItemTypeType>>>;
|
|
29
29
|
fetchItemEntries<ItemTypeType extends ItemType>(itemType: ItemTypeType, itemIds: ItemId[], options: ItemEntryOptions): PromiseInterface<Array<ItemEntry<ItemTypeType>>>;
|
|
@@ -10,7 +10,7 @@ import { ChangesDeltaResult } from '../../ChangesDeltaBase';
|
|
|
10
10
|
import { CollectionEntryService } from '../../CollectionEntryService';
|
|
11
11
|
import { ColumnHandler } from '../../ColumnHandler';
|
|
12
12
|
import { ColumnUtil } from '../../ColumnUtil';
|
|
13
|
-
import { ApiFormatter, ApiRequestService,
|
|
13
|
+
import { ApiFormatter, ApiRequestService, ColumnCache, LockService, ModuleChangesCompilationResult, OnAfterCreateCallback, RequestBufferManager, TransactionCacheCallbackCondition, TransactionCacheCallbackType, TransactionCollectionHandler, TransactionItemEntryChanges, TransactionItemHandler } from '../../index';
|
|
14
14
|
import { InternalChangesDelta } from '../../InternalChangesDelta';
|
|
15
15
|
import { ItemEntryService } from '../../ItemEntryService';
|
|
16
16
|
import { KeyService } from '../../KeyService';
|
|
@@ -92,7 +92,7 @@ export declare class TransactionCache extends AbstractCache {
|
|
|
92
92
|
* @param internalChangesDelta Changes to be applied
|
|
93
93
|
* @param isCalledAfterApiSave If 'isCalledAfterApiSave' is true local changes will always be overwritten (instead of only when there are no changes)
|
|
94
94
|
*/
|
|
95
|
-
applyChangesFromParent(internalChangesDelta: InternalChangesDelta, isCalledAfterApiSave?: boolean): void;
|
|
95
|
+
applyChangesFromParent(internalChangesDelta: InternalChangesDelta, isCalledAfterApiSave?: boolean, isCalledAfterSocketUpdate?: boolean): void;
|
|
96
96
|
/**
|
|
97
97
|
* @description
|
|
98
98
|
* Applies changes to this transaction and its children
|
|
@@ -202,16 +202,6 @@ export declare class TransactionCache extends AbstractCache {
|
|
|
202
202
|
updateItemIdMap(collectionMap: {
|
|
203
203
|
[itemId: number]: any;
|
|
204
204
|
}, conversionMap: ConversionMap): void;
|
|
205
|
-
/**
|
|
206
|
-
* @description
|
|
207
|
-
* Returns the {@link TransactionCollectionHandler.entries CollectionCache} of the transaction
|
|
208
|
-
*/
|
|
209
|
-
getCurrentCollectionEntryCache(): CollectionCache;
|
|
210
|
-
/**
|
|
211
|
-
* @description
|
|
212
|
-
* Returns the {@link TransactionItemHandler.entries ItemCache} of the transaction
|
|
213
|
-
*/
|
|
214
|
-
getCurrentItemEntryCache(): ItemCache;
|
|
215
205
|
cloneCollection<ItemTypeType extends ItemType>(collectionResource: CollectionResource<ItemTypeType>, options: CollectionOptionsInterface<ItemTypeType> & {
|
|
216
206
|
editItems: true;
|
|
217
207
|
editCollection: true;
|
|
@@ -368,13 +358,13 @@ export declare class TransactionCache extends AbstractCache {
|
|
|
368
358
|
* won't be included
|
|
369
359
|
*/
|
|
370
360
|
getDelta(): InternalChangesDelta;
|
|
371
|
-
createItemResource<ItemTypeType extends ItemType>(itemEntry: ItemEntry<ItemTypeType>, options: ItemOptionsInterface & {
|
|
361
|
+
createItemResource<ItemTypeType extends ItemType>(itemEntry: ItemEntry<ItemTypeType>, options: ItemOptionsInterface<EditResource<ItemTypeType>> & {
|
|
372
362
|
edit: true;
|
|
373
363
|
}, isRoot?: boolean, isNew?: boolean): EditResource<ItemTypeType>;
|
|
374
|
-
createItemResource<ItemTypeType extends ItemType>(itemEntry: ItemEntry<ItemTypeType>, options: ItemOptionsInterface & {
|
|
364
|
+
createItemResource<ItemTypeType extends ItemType>(itemEntry: ItemEntry<ItemTypeType>, options: ItemOptionsInterface<RemoteViewResource<ItemTypeType>> & {
|
|
375
365
|
remote: true;
|
|
376
366
|
}, isRoot?: boolean, isNew?: boolean): RemoteViewResource<ItemTypeType>;
|
|
377
|
-
createItemResource<ItemTypeType extends ItemType>(itemEntry: ItemEntry<ItemTypeType>, options: ItemOptionsInterface
|
|
367
|
+
createItemResource<ItemTypeType extends ItemType>(itemEntry: ItemEntry<ItemTypeType>, options: ItemOptionsInterface<LocalViewResource<ItemTypeType>>, isRoot?: boolean, isNew?: boolean): LocalViewResource<ItemTypeType>;
|
|
378
368
|
createItemResources<ItemTypeType extends ItemType>(itemEntries: Array<ItemEntry<ItemTypeType>>, options: ItemOptionsInterface & {
|
|
379
369
|
edit: true;
|
|
380
370
|
}): Array<EditResource<ItemTypeType>>;
|
|
@@ -49,7 +49,7 @@ export declare class TransactionCollectionHandler extends CollectionHandlerBase
|
|
|
49
49
|
fetchLinkedCollectionEntries<ItemTypeType extends ItemType>(parentType: ItemType, parentIdArray: ItemId[] | (() => ItemId[]), itemType: ItemTypeType, options: CollectionEntryOptions): PromiseInterface<CollectionEntryParentIdMap<ItemTypeType>>;
|
|
50
50
|
expandCollectionEntries<ItemTypeType extends ItemType>(parentType: ItemType, itemType: ItemTypeType, collections: CollectionResourceParentIdMap, newColumns: ApiRequestColumn[]): PromiseInterface<CollectionResourceParentIdMap>;
|
|
51
51
|
extendCollectionEntries<T extends CollectionResourceParentIdMap>(parentType: ItemType, itemType: ItemType, options: CollectionEntryOptions, queryCallback: QueryCallback, collections: T): PromiseInterface<void>;
|
|
52
|
-
addItemEntriesToCollectionChanges<CollectionEntryType extends CollectionEntry>(collectionEntry: CollectionEntryType, itemEntries: Array<ItemEntry<CollectionEntryType['itemType']
|
|
52
|
+
addItemEntriesToCollectionChanges<CollectionEntryType extends CollectionEntry>(collectionEntry: CollectionEntryType, itemEntries: Array<ItemEntry<CollectionEntryType['itemType']>>, isCalledAfterSocketUpdate?: boolean): void;
|
|
53
53
|
isLocal(options: CollectionEntryOptions): boolean;
|
|
54
54
|
expandCollectionEntry<CollectionEntryType extends CollectionEntry>(changesDelta: ChangesDelta, collectionEntry: CollectionEntryType, newColumns: ApiRequestColumns): PromiseInterface<CollectionEntryType>;
|
|
55
55
|
/**
|
|
@@ -76,11 +76,12 @@ export declare class TransactionItemHandler extends ItemHandlerBase {
|
|
|
76
76
|
* @param itemEntryChangesTuple The changes tuple
|
|
77
77
|
* @param forceOverwrite Instead of calling {@link ApiFormatter.mergeCopyFields mergeCopyFields}, {@link ApiFormatter.copyFields copyFields} will be used (because API values are always right)
|
|
78
78
|
* @param updateInitial Should be `true` if called by applyChangesFromParent
|
|
79
|
+
* @param isCalledAfterSocketUpdate Indicates that the change is done by a different user
|
|
79
80
|
*
|
|
80
81
|
* @returns
|
|
81
82
|
* The previous changes {@link FieldMap FieldMap}
|
|
82
83
|
*/
|
|
83
|
-
processItemEntryChanges<ItemTypeType extends ItemType = any>(itemEntryChangesTuple: ChangesDeltaItemUpdateDelta<ItemTypeType>, forceOverwrite?: boolean, updateInitial?: boolean): FieldMap<ItemTypeType>;
|
|
84
|
+
processItemEntryChanges<ItemTypeType extends ItemType = any>(itemEntryChangesTuple: ChangesDeltaItemUpdateDelta<ItemTypeType>, forceOverwrite?: boolean, updateInitial?: boolean, isCalledAfterSocketUpdate?: boolean): FieldMap<ItemTypeType>;
|
|
84
85
|
cloneItemEntries<ItemTypeType extends ItemType>(itemEntries: Array<ItemEntry<ItemTypeType>>, conversionMap?: ItemIdConversionMap, modifyFieldsCallback?: (sourceEntry: ItemEntry<ItemTypeType>, fields: FieldMap<ItemTypeType>) => void): PromiseInterface<ChangesDeltaResult>;
|
|
85
86
|
cloneItemEntry<ItemTypeType extends ItemType>(changesDelta: ChangesDelta, sourceEntry: ItemEntry<ItemTypeType>, newFields?: FieldMap<ItemTypeType>, conversionMap?: ItemIdConversionMap, modifyFieldsCallback?: (sourceEntry: ItemEntry<ItemTypeType>, fields: FieldMap<ItemTypeType>) => void): ItemId;
|
|
86
87
|
fetchItemEntriesByQuery<ItemTypeType extends ItemType>(itemType: ItemTypeType, query: ApiQuery, entryOptions: ItemEntryOptions): PromiseInterface<Array<ItemEntry<ItemTypeType>>>;
|
|
@@ -10,28 +10,8 @@ export declare class CollectionEditResource<ItemTypeType extends ItemType = any,
|
|
|
10
10
|
* Use {@link ChangesDelta.setItemMoved ChangesDelta.setItemMoved}
|
|
11
11
|
*/
|
|
12
12
|
moveItems(itemEntries: Array<ItemEntry<ItemTypeType>>, destinationResource: CollectionResource<ItemTypeType>): void;
|
|
13
|
-
/**
|
|
14
|
-
* @deprecated
|
|
15
|
-
* Use {@link ChangesDelta.setItemDeleted ChangesDelta.setItemDeleted}
|
|
16
|
-
*/
|
|
17
13
|
removeItems(idArray: ItemId[]): void;
|
|
18
|
-
/**
|
|
19
|
-
* @deprecated
|
|
20
|
-
* Use {@link ChangesDelta.setItemDeleted ChangesDelta.setItemDeleted}
|
|
21
|
-
*/
|
|
22
14
|
removeItem(itemId: ItemId): void;
|
|
23
|
-
/**
|
|
24
|
-
* @deprecated
|
|
25
|
-
* Use {@link ChangesDelta.setItemCreated ChangesDelta.setItemCreated}
|
|
26
|
-
*
|
|
27
|
-
* todo[cache] this will fetchCollectionEntry a template for you, make a convenience function ?
|
|
28
|
-
*/
|
|
29
15
|
addItems(valuesArray: Array<FieldMap<ItemTypeType>>): PromiseInterface<ChangesDeltaResult>;
|
|
30
|
-
/**
|
|
31
|
-
* @deprecated
|
|
32
|
-
* Use {@link ChangesDelta.setItemCreated ChangesDelta.setItemCreated}
|
|
33
|
-
*
|
|
34
|
-
* todo[cache] this will fetchCollectionEntry a template for you, make a convenience function ?
|
|
35
|
-
*/
|
|
36
16
|
addItem(values: FieldMap<ItemTypeType>): PromiseInterface<ChangesDeltaResult>;
|
|
37
17
|
}
|
|
@@ -12,7 +12,7 @@ export declare type EntryParentNull = EntryParent | null;
|
|
|
12
12
|
export declare type FieldMap<_ItemTypeType extends ItemType = any> = {
|
|
13
13
|
[key: string]: any;
|
|
14
14
|
};
|
|
15
|
-
export declare type ItemOptionsInterface = ItemEntryOptionsInterface & ItemResourceOptionsInterface
|
|
15
|
+
export declare type ItemOptionsInterface<ItemResourceType extends ItemResource<any> = ItemResource> = ItemEntryOptionsInterface & ItemResourceOptionsInterface<ItemResourceType>;
|
|
16
16
|
export declare type CollectionOptionsInterface<ItemTypeType extends ItemType = any> = CollectionEntryOptionsInterface & CollectionResourceOptionsInterface<ItemTypeType>;
|
|
17
17
|
export interface CollectionDefinition<ItemTypeType extends ItemType = any> {
|
|
18
18
|
itemType: ItemTypeType;
|
|
@@ -27,9 +27,9 @@ export interface LinkCollectionDefinition<ItemTypeType extends ItemType = any> e
|
|
|
27
27
|
export declare type OnChangeFunction<ItemResourceType extends ItemResource<any> = ItemResource<any>> = (itemResource: ItemResourceType, previous: FieldMap<ItemResourceType['entry']['itemType']>,
|
|
28
28
|
/**
|
|
29
29
|
* @description
|
|
30
|
-
* Returns '
|
|
30
|
+
* Returns 'false' if the field changed
|
|
31
31
|
*/
|
|
32
|
-
compareField: (field: keyof FieldMap<ItemResourceType['entry']['itemType']>) => boolean) => void;
|
|
32
|
+
compareField: (field: keyof FieldMap<ItemResourceType['entry']['itemType']>) => boolean, isCalledAfterSocketUpdate: boolean) => void;
|
|
33
33
|
export declare const enum StateKeyType {
|
|
34
34
|
New = "new",
|
|
35
35
|
Duplicate = "duplicate"
|