@rentman/rm-core 3.0.1 → 4.0.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 +13 -0
- package/dist/rm-core.js +8452 -8668
- package/dist/rm-core.min.js +2 -2
- package/dist/types/classes/ApiResponseProcessor.d.ts +2 -1
- package/dist/types/classes/ChangesDelta.d.ts +3 -6
- package/dist/types/classes/ChangesDeltaBase.d.ts +1 -0
- package/dist/types/classes/ConversionMapService.d.ts +27 -0
- package/dist/types/classes/CreatedChangesDelta.d.ts +15 -0
- package/dist/types/classes/InternalChangesDelta.d.ts +1 -0
- package/dist/types/classes/ItemCache.d.ts +1 -1
- package/dist/types/classes/ItemCreateService.d.ts +6 -10
- package/dist/types/classes/ItemEntryService.d.ts +2 -9
- package/dist/types/classes/cache/AbstractCache.d.ts +3 -51
- package/dist/types/classes/cache/ItemHandlerBase.d.ts +1 -1
- package/dist/types/classes/cache/server/ServerCache.d.ts +3 -20
- package/dist/types/classes/cache/server/ServerItemHandler.d.ts +2 -1
- package/dist/types/classes/cache/transaction/TransactionCache.d.ts +14 -44
- package/dist/types/classes/cache/transaction/TransactionCollectionHandler.d.ts +6 -17
- package/dist/types/classes/cache/transaction/TransactionItemHandler.d.ts +14 -34
- package/dist/types/classes/index.d.ts +2 -0
- package/dist/types/core.d.ts +5 -4
- package/dist/types/factories/ItemResourceFactory.d.ts +2 -5
- package/dist/types/factories/TransactionCacheFactory.d.ts +4 -47
- package/dist/types/interfaces/AbstractCacheDependencyInterface.d.ts +44 -0
- package/dist/types/interfaces/ServerCacheDependencyInterface.d.ts +7 -0
- package/dist/types/interfaces/TransactionCollectionHandlerDependencyInterface.d.ts +20 -0
- package/dist/types/interfaces/TransactionItemHandlerDependencyInterface.d.ts +26 -0
- package/dist/types/interfaces/index.d.ts +4 -0
- package/dist/types/models/CollectionResource.d.ts +2 -1
- package/dist/types/models/CollectionResourceOptions.d.ts +3 -3
- package/dist/types/models/ItemResource.d.ts +3 -12
- package/dist/types/models/Template.d.ts +1 -1
- package/dist/types/models/index.d.ts +0 -1
- package/dist/types/types/ItemTypesCollection.d.ts +9 -8
- package/package.json +1 -1
- package/dist/types/models/ItemResourceOptions.d.ts +0 -6
|
@@ -14,6 +14,7 @@ export * from './ColumnInfo';
|
|
|
14
14
|
export * from './ColumnSet';
|
|
15
15
|
export * from './ColumnSubsetCache';
|
|
16
16
|
export * from './ColumnUtil';
|
|
17
|
+
export * from './ConversionMapService';
|
|
17
18
|
export * from './CreateRequest';
|
|
18
19
|
export * from './ItemCache';
|
|
19
20
|
export * from './ItemEntryService';
|
|
@@ -42,3 +43,4 @@ export * from './InternalChangesDelta';
|
|
|
42
43
|
export * from './RequestBufferManager';
|
|
43
44
|
export * from './RequestBuffer';
|
|
44
45
|
export * from './ItemCreateService';
|
|
46
|
+
export * from './CreatedChangesDelta';
|
package/dist/types/core.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ApiFormatter, ApiRequestService, CollectionEntryService, CollectionResourceService, ColumnCache, ColumnHandler, ColumnUtil, ItemEntryService, KeyService, LockService, QueryService, SocketMessageHandler } from './classes';
|
|
1
|
+
import { ApiFormatter, ApiRequestService, CollectionEntryService, CollectionResourceService, ColumnCache, ColumnHandler, ColumnUtil, ConversionMapService, ItemEntryService, KeyService, LockService, QueryService, SocketMessageHandler } from './classes';
|
|
2
2
|
import { ItemCreateService } from './classes/ItemCreateService';
|
|
3
3
|
import { TemplateCache } from './classes/TemplateCache';
|
|
4
4
|
import { ApiResponseProcessorFactory, ChangesCompilationFactory, CollectionCacheFactory, CollectionEntryFactory, CollectionMatcherFactory, CollectionResourceFactory, ColumnExpansionFactory, ColumnInfoFactory, ColumnSetFactory, ColumnSubsetCacheFactory, CreateRequestFactory, ItemCacheFactory, ItemEntryFactory, ItemResourceFactory, ModuleChangesCompilationFactory, QueryMatcherFactory, QueryParserFactory, RequestColumnExpansionFactory, TemplateFactory, TransactionCacheFactory } from './factories';
|
|
@@ -13,6 +13,7 @@ export declare class RmCore {
|
|
|
13
13
|
apiRequestService: ApiRequestService;
|
|
14
14
|
apiResponseProcessorFactory: ApiResponseProcessorFactory;
|
|
15
15
|
changesCompilationFactory: ChangesCompilationFactory;
|
|
16
|
+
changesDeltaFactory: ChangesDeltaFactory;
|
|
16
17
|
changesProcessorFactory: ChangesProcessorFactory;
|
|
17
18
|
collectionCacheFactory: CollectionCacheFactory;
|
|
18
19
|
collectionEntryFactory: CollectionEntryFactory;
|
|
@@ -27,6 +28,7 @@ export declare class RmCore {
|
|
|
27
28
|
columnSetFactory: ColumnSetFactory;
|
|
28
29
|
columnSubsetCacheFactory: ColumnSubsetCacheFactory;
|
|
29
30
|
columnUtil: ColumnUtil;
|
|
31
|
+
conversionMapService: ConversionMapService;
|
|
30
32
|
createRequestFactory: CreateRequestFactory;
|
|
31
33
|
itemCacheFactory: ItemCacheFactory;
|
|
32
34
|
itemCreateService: ItemCreateService;
|
|
@@ -34,7 +36,6 @@ export declare class RmCore {
|
|
|
34
36
|
itemEntryService: ItemEntryService;
|
|
35
37
|
itemResourceFactory: ItemResourceFactory;
|
|
36
38
|
keyService: KeyService;
|
|
37
|
-
transactionCacheFactory: TransactionCacheFactory;
|
|
38
39
|
lockService: LockService;
|
|
39
40
|
moduleChangesCompilationFactory: ModuleChangesCompilationFactory;
|
|
40
41
|
queryMatcherFactory: QueryMatcherFactory;
|
|
@@ -42,9 +43,9 @@ export declare class RmCore {
|
|
|
42
43
|
queryService: QueryService;
|
|
43
44
|
requestColumnExpansionFactory: RequestColumnExpansionFactory;
|
|
44
45
|
socketMessageHandler: SocketMessageHandler;
|
|
45
|
-
templateFactory: TemplateFactory;
|
|
46
|
-
changesDeltaFactory: ChangesDeltaFactory;
|
|
47
46
|
templateCache: TemplateCache;
|
|
47
|
+
templateFactory: TemplateFactory;
|
|
48
|
+
transactionCacheFactory: TransactionCacheFactory;
|
|
48
49
|
constructor(_apiRequestService: ApiRequestServiceInterface, authInterface: AuthInterface, errorHandler: ErrorHandlerInterface, exceptionHandler: ExceptionHandlerInterface, promiseLibrary: PromiseLibraryInterface, linkTreeService: LinkTreeServiceInterface);
|
|
49
50
|
}
|
|
50
51
|
export declare function noop(): void;
|
|
@@ -2,8 +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 {
|
|
6
|
-
export declare type ResourceConstructor<ItemTypeType extends ItemType> = (itemEntry: ItemEntry<ItemTypeType>) => ItemResource<ItemTypeType>;
|
|
5
|
+
import { ItemType } from '../types';
|
|
7
6
|
export declare class ItemResourceFactory {
|
|
8
7
|
apiFormatter: ApiFormatter;
|
|
9
8
|
errorHandler: ErrorHandlerInterface;
|
|
@@ -11,7 +10,5 @@ export declare class ItemResourceFactory {
|
|
|
11
10
|
exceptionHandler: ExceptionHandlerInterface;
|
|
12
11
|
columnUtil: ColumnUtil;
|
|
13
12
|
constructor(apiFormatter: ApiFormatter, errorHandler: ErrorHandlerInterface, promiseService: PromiseLibraryInterface, exceptionHandler: ExceptionHandlerInterface, columnUtil: ColumnUtil);
|
|
14
|
-
|
|
15
|
-
construct<ItemTypeType extends ItemType>(itemEntry: ItemEntry<ItemTypeType>, options: ItemOptionsInterface<ItemTypeType>, transaction: TransactionCache, isNew?: boolean): ItemResource<ItemTypeType>;
|
|
16
|
-
private constructWithOptions;
|
|
13
|
+
construct<ItemTypeType extends ItemType>(itemEntry: ItemEntry<ItemTypeType>, transaction: TransactionCache, isNew?: boolean): ItemResource<ItemTypeType>;
|
|
17
14
|
}
|
|
@@ -1,54 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ServerCache } from '../classes/cache/server/ServerCache';
|
|
3
|
-
import { TransactionCache } from '../classes/cache/transaction/TransactionCache';
|
|
4
|
-
import { TransactionValidatorFactory } from '../classes/cache/transaction/TransactionValidator';
|
|
5
|
-
import { ItemCreateService } from '../classes/ItemCreateService';
|
|
6
|
-
import { RequestBufferManager } from '../classes/RequestBufferManager';
|
|
7
|
-
import { TemplateCache } from '../classes/TemplateCache';
|
|
1
|
+
import { ServerCache, TransactionCache, TransactionValidatorFactory } from '../classes';
|
|
8
2
|
import { RmCore } from '../core';
|
|
9
|
-
import {
|
|
10
|
-
import { AuthInterface, ErrorHandlerInterface, ExceptionHandlerInterface, PromiseLibraryInterface } from '../interfaces';
|
|
11
|
-
import { LinkTreeServiceInterface } from '../interfaces/LinkTreeServiceInterface';
|
|
12
|
-
import { ChangesDeltaFactory } from './ChangesDeltaFactory';
|
|
13
|
-
import { ChangesProcessorFactory } from './ChangesProcessorFactory';
|
|
3
|
+
import { ServerCacheDependencyInterface } from '../interfaces';
|
|
14
4
|
export declare class TransactionCacheFactory {
|
|
5
|
+
private dependencies;
|
|
15
6
|
private core;
|
|
16
|
-
private columnCache;
|
|
17
|
-
private requestBufferManager;
|
|
18
|
-
private requestColumnExpansionFactory;
|
|
19
|
-
private queryMatcherFactory;
|
|
20
|
-
private authInterface;
|
|
21
|
-
private changesDeltaFactory;
|
|
22
|
-
private changesProcessorFactory;
|
|
23
|
-
private lockService;
|
|
24
|
-
private moduleChangesCompilationFactory;
|
|
25
|
-
private collectionResourceFactory;
|
|
26
|
-
private itemResourceFactory;
|
|
27
|
-
private templateCache;
|
|
28
|
-
private itemCacheFactory;
|
|
29
|
-
private collectionCacheFactory;
|
|
30
|
-
private errorHandler;
|
|
31
|
-
private exceptionHandler;
|
|
32
|
-
private promiseService;
|
|
33
|
-
private apiFormatter;
|
|
34
|
-
private apiRequestService;
|
|
35
|
-
private columnExpansionFactory;
|
|
36
|
-
private columnHandler;
|
|
37
|
-
private columnSetFactory;
|
|
38
|
-
private columnSubsetCacheFactory;
|
|
39
|
-
private columnUtil;
|
|
40
|
-
private itemEntryFactory;
|
|
41
|
-
private itemEntryService;
|
|
42
|
-
private keyService;
|
|
43
|
-
private collectionEntryFactory;
|
|
44
|
-
private collectionEntryService;
|
|
45
|
-
private collectionMatcherFactory;
|
|
46
|
-
private queryParserFactory;
|
|
47
|
-
private queryService;
|
|
48
|
-
private linkTreeService;
|
|
49
|
-
private changesDeltaService;
|
|
50
7
|
private readonly serverCache;
|
|
51
|
-
constructor(
|
|
8
|
+
constructor(dependencies: ServerCacheDependencyInterface, core: RmCore);
|
|
52
9
|
/**
|
|
53
10
|
* Todo[cache] Store a map of all transactions by transaction id ?
|
|
54
11
|
*/
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { ApiFormatter, ApiRequestService, CollectionEntryService, ColumnCache, ColumnHandler, ColumnUtil, ConversionMapService, ItemCreateService, ItemEntryService, KeyService, LockService, QueryService, RequestBufferManager } from '../classes';
|
|
2
|
+
import { TemplateCache } from '../classes/TemplateCache';
|
|
3
|
+
import { ChangesDeltaFactory, CollectionCacheFactory, CollectionEntryFactory, CollectionMatcherFactory, CollectionResourceFactory, ColumnExpansionFactory, ColumnSetFactory, ColumnSubsetCacheFactory, ItemCacheFactory, ItemEntryFactory, ItemResourceFactory, ModuleChangesCompilationFactory, QueryMatcherFactory, QueryParserFactory, RequestColumnExpansionFactory } from '../factories';
|
|
4
|
+
import { AuthInterface } from './AuthInterface';
|
|
5
|
+
import { ErrorHandlerInterface } from './ErrorHandlerInterface';
|
|
6
|
+
import { ExceptionHandlerInterface } from './ExceptionHandlerInterface';
|
|
7
|
+
import { LinkTreeServiceInterface } from './LinkTreeServiceInterface';
|
|
8
|
+
import { PromiseLibraryInterface } from './PromiseLibraryInterface';
|
|
9
|
+
export interface AbstractCacheDependencyInterface {
|
|
10
|
+
apiFormatter: ApiFormatter;
|
|
11
|
+
apiRequestService: ApiRequestService;
|
|
12
|
+
authInterface: AuthInterface;
|
|
13
|
+
changesDeltaFactory: ChangesDeltaFactory;
|
|
14
|
+
collectionCacheFactory: CollectionCacheFactory;
|
|
15
|
+
collectionEntryFactory: CollectionEntryFactory;
|
|
16
|
+
collectionEntryService: CollectionEntryService;
|
|
17
|
+
collectionMatcherFactory: CollectionMatcherFactory;
|
|
18
|
+
collectionResourceFactory: CollectionResourceFactory;
|
|
19
|
+
columnCache: ColumnCache;
|
|
20
|
+
columnExpansionFactory: ColumnExpansionFactory;
|
|
21
|
+
columnHandler: ColumnHandler;
|
|
22
|
+
columnSetFactory: ColumnSetFactory;
|
|
23
|
+
columnSubsetCacheFactory: ColumnSubsetCacheFactory;
|
|
24
|
+
columnUtil: ColumnUtil;
|
|
25
|
+
conversionMapService: ConversionMapService;
|
|
26
|
+
errorHandler: ErrorHandlerInterface;
|
|
27
|
+
exceptionHandler: ExceptionHandlerInterface;
|
|
28
|
+
itemCacheFactory: ItemCacheFactory;
|
|
29
|
+
itemCreateService: ItemCreateService;
|
|
30
|
+
itemEntryFactory: ItemEntryFactory;
|
|
31
|
+
itemEntryService: ItemEntryService;
|
|
32
|
+
itemResourceFactory: ItemResourceFactory;
|
|
33
|
+
keyService: KeyService;
|
|
34
|
+
linkTreeService: LinkTreeServiceInterface;
|
|
35
|
+
lockService: LockService;
|
|
36
|
+
moduleChangesCompilationFactory: ModuleChangesCompilationFactory;
|
|
37
|
+
promiseService: PromiseLibraryInterface;
|
|
38
|
+
queryMatcherFactory: QueryMatcherFactory;
|
|
39
|
+
queryParserFactory: QueryParserFactory;
|
|
40
|
+
queryService: QueryService;
|
|
41
|
+
requestBufferManager: RequestBufferManager;
|
|
42
|
+
requestColumnExpansionFactory: RequestColumnExpansionFactory;
|
|
43
|
+
templateCache: TemplateCache;
|
|
44
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ItemCreateService } from '../classes';
|
|
2
|
+
import { ChangesProcessorFactory } from '../factories';
|
|
3
|
+
import { AbstractCacheDependencyInterface } from './AbstractCacheDependencyInterface';
|
|
4
|
+
export interface ServerCacheDependencyInterface extends AbstractCacheDependencyInterface {
|
|
5
|
+
changesProcessorFactory: ChangesProcessorFactory;
|
|
6
|
+
itemCreateService: ItemCreateService;
|
|
7
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { CollectionEntryService, ColumnHandler, ColumnUtil, KeyService } from '../classes';
|
|
2
|
+
import { ChangesDeltaFactory, CollectionCacheFactory, CollectionMatcherFactory, ColumnExpansionFactory, ColumnSubsetCacheFactory, RequestColumnExpansionFactory } from '../factories';
|
|
3
|
+
import { ErrorHandlerInterface } from './ErrorHandlerInterface';
|
|
4
|
+
import { ExceptionHandlerInterface } from './ExceptionHandlerInterface';
|
|
5
|
+
import { PromiseLibraryInterface } from './PromiseLibraryInterface';
|
|
6
|
+
export interface TransactionCollectionHandlerDependencyInterface {
|
|
7
|
+
requestColumnExpansionFactory: RequestColumnExpansionFactory;
|
|
8
|
+
columnUtil: ColumnUtil;
|
|
9
|
+
columnSubsetCacheFactory: ColumnSubsetCacheFactory;
|
|
10
|
+
columnExpansionFactory: ColumnExpansionFactory;
|
|
11
|
+
changesDeltaFactory: ChangesDeltaFactory;
|
|
12
|
+
collectionCacheFactory: CollectionCacheFactory;
|
|
13
|
+
collectionEntryService: CollectionEntryService;
|
|
14
|
+
collectionMatcherFactory: CollectionMatcherFactory;
|
|
15
|
+
columnHandler: ColumnHandler;
|
|
16
|
+
errorHandler: ErrorHandlerInterface;
|
|
17
|
+
keyService: KeyService;
|
|
18
|
+
promiseService: PromiseLibraryInterface;
|
|
19
|
+
exceptionHandler: ExceptionHandlerInterface;
|
|
20
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { ApiFormatter, ColumnHandler, ColumnUtil, ConversionMapService, ItemCreateService, ItemEntryService, KeyService } from '../classes';
|
|
2
|
+
import { TemplateCache } from '../classes/TemplateCache';
|
|
3
|
+
import { ChangesDeltaFactory, ColumnExpansionFactory, ColumnSetFactory, ColumnSubsetCacheFactory, ItemCacheFactory, ItemEntryFactory, RequestColumnExpansionFactory } from '../factories';
|
|
4
|
+
import { ErrorHandlerInterface } from './ErrorHandlerInterface';
|
|
5
|
+
import { ExceptionHandlerInterface } from './ExceptionHandlerInterface';
|
|
6
|
+
import { PromiseLibraryInterface } from './PromiseLibraryInterface';
|
|
7
|
+
export interface TransactionItemHandlerDependencyInterface {
|
|
8
|
+
apiFormatter: ApiFormatter;
|
|
9
|
+
changesDeltaFactory: ChangesDeltaFactory;
|
|
10
|
+
columnExpansionFactory: ColumnExpansionFactory;
|
|
11
|
+
columnHandler: ColumnHandler;
|
|
12
|
+
columnSetFactory: ColumnSetFactory;
|
|
13
|
+
columnSubsetCacheFactory: ColumnSubsetCacheFactory;
|
|
14
|
+
columnUtil: ColumnUtil;
|
|
15
|
+
conversionMapService: ConversionMapService;
|
|
16
|
+
errorHandler: ErrorHandlerInterface;
|
|
17
|
+
exceptionHandler: ExceptionHandlerInterface;
|
|
18
|
+
itemCacheFactory: ItemCacheFactory;
|
|
19
|
+
itemCreateService: ItemCreateService;
|
|
20
|
+
itemEntryFactory: ItemEntryFactory;
|
|
21
|
+
itemEntryService: ItemEntryService;
|
|
22
|
+
keyService: KeyService;
|
|
23
|
+
promiseService: PromiseLibraryInterface;
|
|
24
|
+
requestColumnExpansionFactory: RequestColumnExpansionFactory;
|
|
25
|
+
templateCache: TemplateCache;
|
|
26
|
+
}
|
|
@@ -5,3 +5,7 @@ export * from './AuthInterface';
|
|
|
5
5
|
export * from './ApiRequestServiceInterface';
|
|
6
6
|
export * from './SocketMessageInterface';
|
|
7
7
|
export * from './LinkTreeServiceInterface';
|
|
8
|
+
export * from './AbstractCacheDependencyInterface';
|
|
9
|
+
export * from './TransactionItemHandlerDependencyInterface';
|
|
10
|
+
export * from './TransactionCollectionHandlerDependencyInterface';
|
|
11
|
+
export * from './ServerCacheDependencyInterface';
|
|
@@ -11,6 +11,7 @@ export declare class CollectionResource<ItemTypeType extends ItemType = any> {
|
|
|
11
11
|
items: Array<ItemResource<ItemTypeType>>;
|
|
12
12
|
columns: ResponseColumnItemTypeMap;
|
|
13
13
|
protected itemIdMap: ItemResourceItemIdMap<ItemResource<ItemTypeType>>;
|
|
14
|
+
private fieldChangeDeregFns;
|
|
14
15
|
private readonly onChange;
|
|
15
16
|
constructor(factory: CollectionResourceFactory, entry: CollectionEntry<ItemTypeType>, options: CollectionResourceOptions<ItemTypeType>, transaction: TransactionCache);
|
|
16
17
|
onConstruct(): void;
|
|
@@ -58,5 +59,5 @@ export declare class CollectionResource<ItemTypeType extends ItemType = any> {
|
|
|
58
59
|
* @remarks
|
|
59
60
|
* - Doesn't revert changes on the items themselves
|
|
60
61
|
*/
|
|
61
|
-
clearResource(
|
|
62
|
+
clearResource(): void;
|
|
62
63
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CollectionEntry, CollectionResource, ItemEntry, ItemResource } from '../models';
|
|
2
|
-
import { ConversionMap,
|
|
2
|
+
import { ConversionMap, FieldChangeCallback, ItemType } from '../types';
|
|
3
3
|
export declare type CollectionResourceCallback<ItemTypeType extends ItemType> = (itemResources: Array<ItemResource<ItemTypeType>>, collectionResource: CollectionResource<ItemTypeType>) => void;
|
|
4
4
|
export declare type CollectionResourceOnAddCallback<ItemTypeType extends ItemType> = (itemResources: Array<ItemResource<ItemTypeType>>, collectionResource: CollectionResource<ItemTypeType>, isInitialCall: boolean) => void;
|
|
5
5
|
export declare type CollectionResourceInitialCallback<ItemTypeType extends ItemType> = (itemEntries: Array<ItemEntry<ItemTypeType>>, collectionEntry: CollectionEntry<ItemTypeType>) => void;
|
|
@@ -9,12 +9,12 @@ export declare class CollectionResourceOptions<ItemTypeType extends ItemType> {
|
|
|
9
9
|
callOnAddWithInitialItems: boolean;
|
|
10
10
|
/**
|
|
11
11
|
* @deprecated
|
|
12
|
-
* You should use
|
|
12
|
+
* You should use register a {@link TransactionCache.registerFieldChangeCallback field change callback} and compare previous.id with fields.id
|
|
13
13
|
*/
|
|
14
14
|
onItemsCreated: OnItemsCreatedCallback;
|
|
15
|
-
onChange: OnChangeFunction;
|
|
16
15
|
onAdd: CollectionResourceOnAddCallback<ItemTypeType>;
|
|
17
16
|
onRemove: CollectionResourceCallback<ItemTypeType>;
|
|
17
|
+
onChange: FieldChangeCallback;
|
|
18
18
|
onAddInitial: CollectionResourceInitialCallback<ItemTypeType>;
|
|
19
19
|
onRemoveInitial: CollectionResourceInitialCallback<ItemTypeType>;
|
|
20
20
|
resourceKey: string | null;
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { TransactionCache } from '../classes';
|
|
2
2
|
import { ItemResourceFactory } from '../factories';
|
|
3
|
-
import { ItemEntry
|
|
3
|
+
import { ItemEntry } from '../models';
|
|
4
4
|
import { EntryParentNull, FieldMap, ItemType, PromiseInterface, ResponseColumn } from '../types';
|
|
5
5
|
export declare class ItemResource<ItemTypeType extends ItemType = any> {
|
|
6
6
|
protected readonly factory: ItemResourceFactory;
|
|
7
7
|
readonly entry: ItemEntry<ItemTypeType>;
|
|
8
|
-
readonly options: ItemResourceOptions<ItemTypeType>;
|
|
9
8
|
protected readonly _isNew: boolean;
|
|
10
9
|
protected readonly transaction: TransactionCache;
|
|
11
10
|
columns: {
|
|
@@ -13,7 +12,7 @@ export declare class ItemResource<ItemTypeType extends ItemType = any> {
|
|
|
13
12
|
};
|
|
14
13
|
fields: FieldMap<ItemTypeType>;
|
|
15
14
|
initial: Readonly<FieldMap<ItemTypeType>>;
|
|
16
|
-
constructor(factory: ItemResourceFactory, entry: ItemEntry<ItemTypeType>,
|
|
15
|
+
constructor(factory: ItemResourceFactory, entry: ItemEntry<ItemTypeType>, _isNew: boolean, transaction: TransactionCache);
|
|
17
16
|
onConstruct(): void;
|
|
18
17
|
/**
|
|
19
18
|
* @description
|
|
@@ -34,7 +33,7 @@ export declare class ItemResource<ItemTypeType extends ItemType = any> {
|
|
|
34
33
|
* @deprecated
|
|
35
34
|
* Use {@link TransactionCache.applyChangesDelta transaction.applyChangesDelta} instead
|
|
36
35
|
*/
|
|
37
|
-
callOnChange(
|
|
36
|
+
callOnChange(): void;
|
|
38
37
|
/**
|
|
39
38
|
* @description
|
|
40
39
|
* Utility function to easily check if a field is changed.
|
|
@@ -60,14 +59,6 @@ export declare class ItemResource<ItemTypeType extends ItemType = any> {
|
|
|
60
59
|
*/
|
|
61
60
|
isNew(): boolean;
|
|
62
61
|
isLocal(): boolean;
|
|
63
|
-
/**
|
|
64
|
-
* @description
|
|
65
|
-
* Removes the reference to the {@link ItemResource ItemResource} from the {@link TransactionCache TransactionCache}, so that the OnChange callback won't be called anymore.
|
|
66
|
-
*
|
|
67
|
-
* Warning:
|
|
68
|
-
* This doesn't revert any changes made to the item, in order to revert the changes you should use {@link TransactionItemHandler.clearItemEntry TransactionItemHandler.clearItemEntry}
|
|
69
|
-
*/
|
|
70
|
-
clearResource(): void;
|
|
71
62
|
toJSON(): {
|
|
72
63
|
columns: string[];
|
|
73
64
|
fields: FieldMap<ItemTypeType>;
|
|
@@ -4,8 +4,8 @@ import { ApiRequestColumnMap, ApiResponse, FieldMap, ItemType, ResponseColumnIte
|
|
|
4
4
|
export declare class Template<ItemTypeType extends ItemType = any> {
|
|
5
5
|
itemType: ItemTypeType;
|
|
6
6
|
response: ApiResponse;
|
|
7
|
-
fields: FieldMap<ItemTypeType>;
|
|
8
7
|
responseColumns: ResponseColumnItemTypeMap;
|
|
9
8
|
columns: ColumnSet<ItemTypeType>;
|
|
10
9
|
constructor(factory: TemplateFactory, itemType: ItemTypeType, response: ApiResponse, additionalRequestColumns: ApiRequestColumnMap, additionalResponseColumns: ResponseColumnItemTypeMap);
|
|
10
|
+
getFields(): FieldMap<ItemTypeType>;
|
|
11
11
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ApiResponseProcessor, CollectionMatcher, ColumnSet, RequestColumnExpansion } from '../classes';
|
|
2
|
-
import { CollectionEntry, CollectionEntryOptions, CollectionEntryOptionsInterface, CollectionResource, CollectionResourceOptions, CollectionResourceOptionsInterface, ItemEntry, ItemEntryOptionsInterface, ItemResource
|
|
2
|
+
import { CollectionEntry, CollectionEntryOptions, CollectionEntryOptionsInterface, CollectionResource, CollectionResourceOptions, CollectionResourceOptionsInterface, ItemEntry, ItemEntryOptionsInterface, ItemResource } from '../models';
|
|
3
3
|
export declare type EntryParent = {
|
|
4
4
|
itemType: string;
|
|
5
5
|
itemId: number;
|
|
@@ -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
|
|
15
|
+
export declare type ItemOptionsInterface = ItemEntryOptionsInterface;
|
|
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;
|
|
@@ -24,12 +24,6 @@ export interface CollectionDefinition<ItemTypeType extends ItemType = any> {
|
|
|
24
24
|
export interface LinkCollectionDefinition<ItemTypeType extends ItemType = any> extends CollectionDefinition<ItemTypeType> {
|
|
25
25
|
linkField: string;
|
|
26
26
|
}
|
|
27
|
-
export declare type OnChangeFunction<ItemTypeType extends ItemType = any> = (itemResource: ItemResource<ItemTypeType>, previous: FieldMap<ItemTypeType>,
|
|
28
|
-
/**
|
|
29
|
-
* @description
|
|
30
|
-
* Returns 'false' if the field changed
|
|
31
|
-
*/
|
|
32
|
-
compareField: (field: keyof FieldMap<ItemTypeType>) => boolean, isCalledAfterSocketUpdate: boolean) => void;
|
|
33
27
|
export declare enum StateKeyType {
|
|
34
28
|
New = "new",
|
|
35
29
|
Duplicate = "duplicate"
|
|
@@ -260,3 +254,10 @@ export declare type ApiLinkTree = {
|
|
|
260
254
|
*/
|
|
261
255
|
export declare type FilterItemEntryCallback = <ItemTypeType extends ItemType>(itemType: ItemTypeType, fields: FieldMap<ItemTypeType>) => boolean;
|
|
262
256
|
export declare type ModifyFieldsCallback = <ItemTypeType extends ItemType>(itemType: ItemTypeType, fields: FieldMap<ItemTypeType>, itemIdConversionMap?: ItemIdConversionMap) => void;
|
|
257
|
+
/**
|
|
258
|
+
* @description
|
|
259
|
+
* Returns 'false' if the field changed
|
|
260
|
+
*/
|
|
261
|
+
export declare type CompareFieldCallback<ItemTypeType extends ItemType = any> = (field: keyof FieldMap<ItemTypeType>) => boolean;
|
|
262
|
+
export declare type FieldChangeCallback<ItemTypeType extends ItemType = any> = (itemEntry: ItemEntry<ItemTypeType>, compareField: CompareFieldCallback, fields: FieldMap<ItemTypeType>, isCalledAfterSocketUpdate: boolean, previous: FieldMap<ItemTypeType>) => void;
|
|
263
|
+
export declare type DeregFunction = () => void;
|
package/package.json
CHANGED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { ItemType, OnChangeFunction } from '../types';
|
|
2
|
-
export declare type ItemResourceOptionsInterface<ItemTypeType extends ItemType = any> = Partial<ItemResourceOptions<ItemTypeType>>;
|
|
3
|
-
export declare class ItemResourceOptions<ItemTypeType extends ItemType = any> {
|
|
4
|
-
onChange: OnChangeFunction<ItemTypeType>;
|
|
5
|
-
constructor(values: ItemResourceOptionsInterface<ItemTypeType>);
|
|
6
|
-
}
|