@rentman/rm-core 2.0.3 → 2.0.5
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 +9 -0
- package/dist/rm-core.js +96 -53
- 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/cache/AbstractCache.d.ts +1 -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 +9 -5
- 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/CollectionResource.d.ts +1 -1
- package/dist/src/models/CollectionResourceOptions.d.ts +1 -0
- package/dist/src/models/ItemResource.d.ts +10 -1
- 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;
|
|
@@ -100,7 +100,7 @@ export declare abstract class AbstractCache {
|
|
|
100
100
|
*
|
|
101
101
|
* @internal
|
|
102
102
|
*/
|
|
103
|
-
abstract applyChangesFromParent(internalChangesDelta: InternalChangesDelta, isCalledAfterApiSave: boolean): void;
|
|
103
|
+
abstract applyChangesFromParent(internalChangesDelta: InternalChangesDelta, isCalledAfterApiSave: boolean, isCalledAfterSocketUpdate: boolean): void;
|
|
104
104
|
abstract getParent(itemEntry: ItemEntry, fromInitial?: boolean): EntryParentNull;
|
|
105
105
|
abstract getItemChangesRecursively(itemEntryId: ItemEntry['id'], copyFields?: boolean): FieldMap;
|
|
106
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>>>;
|
|
@@ -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
|
|
@@ -114,8 +114,12 @@ export declare class TransactionCache extends AbstractCache {
|
|
|
114
114
|
*
|
|
115
115
|
* @param itemEntry The entry to get the parent from
|
|
116
116
|
* @param fromInitial If `true` the parent values will be read from {@link TransactionItemEntryChanges.initial initial} (Useful for when you've moved an entry)
|
|
117
|
+
* @param providedFields Use the provided fields instead of the cached fields, used by {@link CollectionResource.getParent CollectionResource.getParent}
|
|
118
|
+
*
|
|
119
|
+
* @remark
|
|
120
|
+
* Use {@link CollectionResource.getParent CollectionResource.getParent} instead of {@link TransactionCache.getParent TransactionCache.getParent} if you're getting the parent in the onRemove callback
|
|
117
121
|
*/
|
|
118
|
-
getParent(itemEntry: ItemEntry
|
|
122
|
+
getParent<ItemTypeType extends ItemType>(itemEntry: ItemEntry<ItemTypeType>, fromInitial?: boolean, providedFields?: FieldMap<ItemTypeType>): EntryParentNull;
|
|
119
123
|
/**
|
|
120
124
|
* @description
|
|
121
125
|
* Traverses the transaction chain and returns the changes of the item on the first transaction
|
|
@@ -358,13 +362,13 @@ export declare class TransactionCache extends AbstractCache {
|
|
|
358
362
|
* won't be included
|
|
359
363
|
*/
|
|
360
364
|
getDelta(): InternalChangesDelta;
|
|
361
|
-
createItemResource<ItemTypeType extends ItemType>(itemEntry: ItemEntry<ItemTypeType>, options: ItemOptionsInterface & {
|
|
365
|
+
createItemResource<ItemTypeType extends ItemType>(itemEntry: ItemEntry<ItemTypeType>, options: ItemOptionsInterface<EditResource<ItemTypeType>> & {
|
|
362
366
|
edit: true;
|
|
363
367
|
}, isRoot?: boolean, isNew?: boolean): EditResource<ItemTypeType>;
|
|
364
|
-
createItemResource<ItemTypeType extends ItemType>(itemEntry: ItemEntry<ItemTypeType>, options: ItemOptionsInterface & {
|
|
368
|
+
createItemResource<ItemTypeType extends ItemType>(itemEntry: ItemEntry<ItemTypeType>, options: ItemOptionsInterface<RemoteViewResource<ItemTypeType>> & {
|
|
365
369
|
remote: true;
|
|
366
370
|
}, isRoot?: boolean, isNew?: boolean): RemoteViewResource<ItemTypeType>;
|
|
367
|
-
createItemResource<ItemTypeType extends ItemType>(itemEntry: ItemEntry<ItemTypeType>, options: ItemOptionsInterface
|
|
371
|
+
createItemResource<ItemTypeType extends ItemType>(itemEntry: ItemEntry<ItemTypeType>, options: ItemOptionsInterface<LocalViewResource<ItemTypeType>>, isRoot?: boolean, isNew?: boolean): LocalViewResource<ItemTypeType>;
|
|
368
372
|
createItemResources<ItemTypeType extends ItemType>(itemEntries: Array<ItemEntry<ItemTypeType>>, options: ItemOptionsInterface & {
|
|
369
373
|
edit: true;
|
|
370
374
|
}): 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>>>;
|
|
@@ -15,7 +15,7 @@ export declare abstract class CollectionResource<ItemTypeType extends ItemType =
|
|
|
15
15
|
onConstruct(): void;
|
|
16
16
|
getIdArray(): ItemId[];
|
|
17
17
|
getItemById(itemId: number): T;
|
|
18
|
-
addItemResources(itemEntries: Array<ItemEntry<ItemTypeType>>,
|
|
18
|
+
addItemResources(itemEntries: Array<ItemEntry<ItemTypeType>>, isInitialCall?: boolean): T[];
|
|
19
19
|
/**
|
|
20
20
|
* @description
|
|
21
21
|
* Returns the {@link ItemResource ItemResources} that where removed from the {@link CollectionResource collection}.
|
|
@@ -10,6 +10,7 @@ export declare class CollectionResourceOptions<ItemTypeType extends ItemType> {
|
|
|
10
10
|
remoteItems: boolean;
|
|
11
11
|
editCollection: boolean;
|
|
12
12
|
enableSave: boolean;
|
|
13
|
+
callOnAddWithInitialItems: boolean;
|
|
13
14
|
/**
|
|
14
15
|
* @deprecated
|
|
15
16
|
* You should use itemResource.onChange and compare previous.id with fields.id
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { TransactionCache } from '../classes';
|
|
2
2
|
import { ItemResourceFactory } from '../factories';
|
|
3
3
|
import { ItemEntry, ItemResourceOptions } from '../models';
|
|
4
|
-
import { FieldMap, ItemType, ResponseColumn } from '../types';
|
|
4
|
+
import { EntryParentNull, FieldMap, ItemType, ResponseColumn } from '../types';
|
|
5
5
|
export declare abstract class ItemResource<ItemTypeType extends ItemType = any> {
|
|
6
6
|
protected readonly factory: ItemResourceFactory;
|
|
7
7
|
readonly entry: ItemEntry<ItemTypeType>;
|
|
@@ -15,6 +15,15 @@ export declare abstract class ItemResource<ItemTypeType extends ItemType = any>
|
|
|
15
15
|
initial: Readonly<FieldMap<ItemTypeType>>;
|
|
16
16
|
protected constructor(factory: ItemResourceFactory, entry: ItemEntry<ItemTypeType>, options: ItemResourceOptions<ItemResource<ItemTypeType>>, _isNew: boolean, transaction: TransactionCache);
|
|
17
17
|
onConstruct(): void;
|
|
18
|
+
/**
|
|
19
|
+
* Fetches the ItemResource's parent with the current fields
|
|
20
|
+
*
|
|
21
|
+
* ----------------
|
|
22
|
+
*
|
|
23
|
+
* @remark
|
|
24
|
+
* Use this if you need to get the parent after an item has been deleted
|
|
25
|
+
*/
|
|
26
|
+
getParent(fromInitial?: boolean): EntryParentNull;
|
|
18
27
|
/**
|
|
19
28
|
* @deprecated
|
|
20
29
|
* Use {@link TransactionCache.applyChangesDelta transaction.applyChangesDelta} instead
|
|
@@ -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"
|