@rentman/rm-core 7.2.0 → 8.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 +6 -0
- package/dist/rm-core.js +1167 -915
- package/dist/rm-core.min.js +2 -2
- package/dist/types/classes/ApiFormatter.d.ts +16 -15
- package/dist/types/classes/ApiRequestService.d.ts +9 -8
- package/dist/types/classes/ApiResponseProcessor.d.ts +12 -13
- package/dist/types/classes/ChangesCompilation.d.ts +5 -3
- package/dist/types/classes/ChangesDelta.d.ts +5 -4
- package/dist/types/classes/ChangesDeltaBase.d.ts +5 -5
- package/dist/types/classes/CollectionEntryService.d.ts +5 -4
- package/dist/types/classes/CollectionMatcherBase.d.ts +5 -4
- package/dist/types/classes/CollectionMatcherCachedCollectionProcessor.d.ts +6 -5
- package/dist/types/classes/CollectionResourceService.d.ts +2 -2
- package/dist/types/classes/ColumnCache.d.ts +8 -7
- package/dist/types/classes/ColumnExpansion.d.ts +3 -2
- package/dist/types/classes/ColumnHandler.d.ts +9 -8
- package/dist/types/classes/ColumnInfo.d.ts +6 -6
- package/dist/types/classes/ColumnSet.d.ts +5 -4
- package/dist/types/classes/ColumnSubsetCache.d.ts +3 -2
- package/dist/types/classes/ColumnUtil.d.ts +12 -11
- package/dist/types/classes/ConversionMapService.d.ts +6 -5
- package/dist/types/classes/CreateRequest.d.ts +5 -4
- package/dist/types/classes/CreatedChangesDelta.d.ts +7 -6
- package/dist/types/classes/InternalChangesDelta.d.ts +4 -3
- package/dist/types/classes/ItemCache.d.ts +13 -12
- package/dist/types/classes/ItemCreateService.d.ts +5 -4
- package/dist/types/classes/ItemEntryService.d.ts +8 -7
- package/dist/types/classes/KeyService.d.ts +7 -6
- package/dist/types/classes/LockService.d.ts +11 -11
- package/dist/types/classes/ModuleChangesCompilation.d.ts +3 -2
- package/dist/types/classes/QueryColumnExtractor.d.ts +11 -11
- package/dist/types/classes/QueryContainsLocalIdParser.d.ts +10 -10
- package/dist/types/classes/QueryLinkedToParser.d.ts +11 -11
- package/dist/types/classes/QueryLocallyMatchableParser.d.ts +10 -10
- package/dist/types/classes/QueryMatcher.d.ts +4 -3
- package/dist/types/classes/QueryParser.d.ts +15 -13
- package/dist/types/classes/QueryParserBase.d.ts +14 -23
- package/dist/types/classes/QueryParserIdUpdater.d.ts +10 -10
- package/dist/types/classes/QueryService.d.ts +4 -9
- package/dist/types/classes/RequestBuffer.d.ts +5 -4
- package/dist/types/classes/RequestBufferManager.d.ts +5 -4
- package/dist/types/classes/RequestColumnExpansion.d.ts +4 -3
- package/dist/types/classes/SocketMessageHandler.d.ts +4 -3
- package/dist/types/classes/TemplateCache.d.ts +4 -3
- package/dist/types/classes/Util.d.ts +1 -1
- package/dist/types/classes/cache/AbstractCache.d.ts +8 -8
- package/dist/types/classes/cache/CachedQueryHandlerBase.d.ts +13 -12
- package/dist/types/classes/cache/CollectionMatcherCachedQueryProcessor.d.ts +6 -5
- package/dist/types/classes/cache/ItemHandlerBase.d.ts +14 -11
- package/dist/types/classes/cache/server/ServerCache.d.ts +8 -7
- package/dist/types/classes/cache/server/ServerCachedQueryHandler.d.ts +6 -6
- package/dist/types/classes/cache/server/ServerItemHandler.d.ts +10 -9
- package/dist/types/classes/cache/transaction/TransactionCache.d.ts +31 -30
- package/dist/types/classes/cache/transaction/TransactionCachedQueryHandler.d.ts +6 -6
- package/dist/types/classes/cache/transaction/TransactionCollectionHandler.d.ts +3 -2
- package/dist/types/classes/cache/transaction/TransactionItemHandler.d.ts +23 -20
- package/dist/types/classes/cache/transaction/TransactionValidator.d.ts +3 -2
- package/dist/types/constants.d.ts +1 -1
- package/dist/types/factories/CollectionEntryFactory.d.ts +2 -2
- package/dist/types/factories/CollectionMatcherFactory.d.ts +4 -4
- package/dist/types/factories/CollectionResourceFactory.d.ts +2 -2
- package/dist/types/factories/ColumnExpansionFactory.d.ts +3 -2
- package/dist/types/factories/ColumnInfoFactory.d.ts +4 -3
- package/dist/types/factories/ColumnSetFactory.d.ts +6 -5
- package/dist/types/factories/ColumnSubsetCacheFactory.d.ts +3 -2
- package/dist/types/factories/CreateRequestFactory.d.ts +2 -2
- package/dist/types/factories/ItemEntryFactory.d.ts +2 -2
- package/dist/types/factories/ItemResourceFactory.d.ts +2 -2
- package/dist/types/factories/QueryMatcherFactory.d.ts +3 -2
- package/dist/types/factories/TemplateFactory.d.ts +3 -2
- package/dist/types/interfaces/ApiRequestServiceInterface.d.ts +9 -8
- package/dist/types/interfaces/AuthInterface.d.ts +2 -1
- package/dist/types/interfaces/LinkTreeServiceInterface.d.ts +1 -1
- package/dist/types/models/CollectionEntry.d.ts +5 -4
- package/dist/types/models/CollectionOptions.d.ts +9 -8
- package/dist/types/models/CollectionResource.d.ts +27 -26
- package/dist/types/models/ItemEntry.d.ts +2 -2
- package/dist/types/models/ItemResource.d.ts +18 -14
- package/dist/types/models/Template.d.ts +4 -3
- package/dist/types/types/ItemTypesCollection.d.ts +138 -55
- package/package.json +5 -3
|
@@ -1,15 +1,16 @@
|
|
|
1
|
+
import { ApiEnumItemType, ItemId } from '@rentman/backend-types';
|
|
1
2
|
import { TransactionItemHandlerDependencyInterface } from '../../../interfaces';
|
|
2
3
|
import { ItemEntry, ItemEntryOptions } from '../../../models';
|
|
3
|
-
import { ApiQuery, ApiRequestColumns,
|
|
4
|
+
import { ApiQuery, ApiRequestColumns, DeregFunction, FieldChangeCallback, FieldMap, ItemIdConversionMap, ItemTypeMap, ModifyFieldsCallback, PromiseInterface, ResponseColumnItemTypeMap } from '../../../types';
|
|
4
5
|
import { ChangesDelta } from '../../ChangesDelta';
|
|
5
6
|
import { ChangesDeltaBase, ChangesDeltaItemUpdateDelta, ChangesDeltaResult } from '../../ChangesDeltaBase';
|
|
6
7
|
import { ChangesDeltaItemCreateDelta, ColumnSubsetCache } from '../../index';
|
|
7
8
|
import { ItemHandlerBase, ProcessItemEntryChangesResult } from '../ItemHandlerBase';
|
|
8
9
|
import { TransactionCache } from './TransactionCache';
|
|
9
10
|
import { TransactionValidator } from './TransactionValidator';
|
|
10
|
-
export declare type TransactionItemEntryChanges<
|
|
11
|
-
initial:
|
|
12
|
-
changes:
|
|
11
|
+
export declare type TransactionItemEntryChanges<Fields extends FieldMap = FieldMap> = {
|
|
12
|
+
initial: Fields;
|
|
13
|
+
changes: Fields;
|
|
13
14
|
};
|
|
14
15
|
/**
|
|
15
16
|
* @description
|
|
@@ -22,22 +23,24 @@ export declare class TransactionItemHandler extends ItemHandlerBase {
|
|
|
22
23
|
private validator?;
|
|
23
24
|
deletedItems: ItemTypeMap<ItemEntry[]>;
|
|
24
25
|
itemChanges: {
|
|
25
|
-
[itemEntryId: number]: TransactionItemEntryChanges
|
|
26
|
+
[itemEntryId: number]: TransactionItemEntryChanges;
|
|
26
27
|
};
|
|
27
28
|
fieldChangeCallbacks: {
|
|
28
29
|
[itemType: string]: {
|
|
29
|
-
[itemId: string]:
|
|
30
|
+
[itemId: string]: FieldChangeCallback[];
|
|
30
31
|
};
|
|
31
32
|
};
|
|
32
33
|
constructor(dependencies: TransactionItemHandlerDependencyInterface, transaction: TransactionCache, validator?: TransactionValidator | undefined);
|
|
33
|
-
registerFieldChangeCallback<ItemTypeType extends
|
|
34
|
+
registerFieldChangeCallback<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, itemId: ItemId, callback: FieldChangeCallback<ItemTypeType>): DeregFunction;
|
|
34
35
|
copyTransactionItemEntryChanges(itemEntryChanges: TransactionItemEntryChanges, entry: ItemEntry): TransactionItemEntryChanges;
|
|
35
36
|
createItemEntry(createTuple: ChangesDeltaItemCreateDelta): ItemEntry;
|
|
36
37
|
/**
|
|
37
38
|
* @description
|
|
38
39
|
* Gets the local {@link FieldMap changes} of the {@link ItemEntry entry} on the {@link TransactionCache transaction} in a formatted way the API accepts
|
|
39
40
|
*/
|
|
40
|
-
formatRequest<ItemEntryType extends ItemEntry>(entry: ItemEntryType):
|
|
41
|
+
formatRequest<ItemEntryType extends ItemEntry>(entry: ItemEntryType): {
|
|
42
|
+
[columnId: string]: any;
|
|
43
|
+
};
|
|
41
44
|
detectChanges(): boolean;
|
|
42
45
|
/**
|
|
43
46
|
* @description
|
|
@@ -61,20 +64,20 @@ export declare class TransactionItemHandler extends ItemHandlerBase {
|
|
|
61
64
|
* @returns
|
|
62
65
|
* The previous changes {@link FieldMap FieldMap}, returns `null` when the item was not cached or no fields were changed.
|
|
63
66
|
*/
|
|
64
|
-
processItemEntryChanges<ItemTypeType extends
|
|
65
|
-
cloneItemEntries<ItemTypeType extends
|
|
66
|
-
cloneItemEntry<ItemTypeType extends
|
|
67
|
-
fetchItemEntriesByQuery<ItemTypeType extends
|
|
68
|
-
fetchItemEntry<ItemTypeType extends
|
|
67
|
+
processItemEntryChanges<ItemTypeType extends ApiEnumItemType = any>(itemEntryChangesTuple: ChangesDeltaItemUpdateDelta<ItemTypeType>, forceOverwrite?: boolean, updateInitial?: boolean, isCalledAfterSocketUpdate?: boolean, createItemChangesIfNoneExist?: boolean): ProcessItemEntryChangesResult<ItemTypeType>;
|
|
68
|
+
cloneItemEntries<ItemTypeType extends ApiEnumItemType>(changesDelta: ChangesDelta, itemEntries: Array<ItemEntry<ItemTypeType>>, conversionMap?: ItemIdConversionMap, modifyFieldsCallback?: ModifyFieldsCallback): ItemId[];
|
|
69
|
+
cloneItemEntry<ItemTypeType extends ApiEnumItemType>(changesDelta: ChangesDelta, sourceEntry: ItemEntry<ItemTypeType>, conversionMap?: ItemIdConversionMap, modifyFieldsCallback?: ModifyFieldsCallback): ItemId;
|
|
70
|
+
fetchItemEntriesByQuery<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, query: ApiQuery, entryOptions: ItemEntryOptions): PromiseInterface<Array<ItemEntry<ItemTypeType>>>;
|
|
71
|
+
fetchItemEntry<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, itemId: ItemId, options: ItemEntryOptions): PromiseInterface<ItemEntry<ItemTypeType>>;
|
|
69
72
|
/**
|
|
70
73
|
* @description
|
|
71
74
|
* Fetches a template and creates a new {@link ItemEntry ItemEntry}, will error if the ItemEntry with the given ItemId already exists
|
|
72
75
|
*/
|
|
73
|
-
fetchNewItemEntry<ItemTypeType extends
|
|
74
|
-
fetchItemEntries<ItemTypeType extends
|
|
75
|
-
fetchTitle(itemType:
|
|
76
|
-
resolveLocalItemEntry<ItemTypeType extends
|
|
77
|
-
expandLocalItemEntries<ItemTypeType extends
|
|
76
|
+
fetchNewItemEntry<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, itemId: ItemId, options: ItemEntryOptions): PromiseInterface<ChangesDeltaResult>;
|
|
77
|
+
fetchItemEntries<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, itemIds: ItemId[], options: ItemEntryOptions): PromiseInterface<Array<ItemEntry<ItemTypeType>>>;
|
|
78
|
+
fetchTitle(itemType: ApiEnumItemType, itemId: ItemId): PromiseInterface<string>;
|
|
79
|
+
resolveLocalItemEntry<ItemTypeType extends ApiEnumItemType>(changesDelta: ChangesDelta, itemEntry: ItemEntry<ItemTypeType>, columnSubsetCache: ColumnSubsetCache<ItemTypeType>, options: ItemEntryOptions): PromiseInterface<ItemEntry<ItemTypeType>>;
|
|
80
|
+
expandLocalItemEntries<ItemTypeType extends ApiEnumItemType>(changesDelta: ChangesDeltaBase, itemType: ItemTypeType, itemEntries: Array<ItemEntry<ItemTypeType>>, requestColumns: ApiRequestColumns, responseColumns: ResponseColumnItemTypeMap): PromiseInterface<Array<ItemEntry<ItemTypeType>>>;
|
|
78
81
|
/**
|
|
79
82
|
* @description
|
|
80
83
|
* Fetches the data for the passed ItemType/ItemId/columns, is able to __fetchCachedQueryItem non-local derived values.
|
|
@@ -82,8 +85,8 @@ export declare class TransactionItemHandler extends ItemHandlerBase {
|
|
|
82
85
|
* @remark
|
|
83
86
|
* Assumes the the ItemEntry with the given ItemType-ItemId is already cached
|
|
84
87
|
*/
|
|
85
|
-
fetchLocalItemEntryData<ItemTypeType extends
|
|
86
|
-
fetchLocalItemEntries<ItemTypeType extends
|
|
88
|
+
fetchLocalItemEntryData<ItemTypeType extends ApiEnumItemType>(changesDelta: ChangesDelta, itemType: ItemTypeType, itemId: ItemId, columnSubsetCache: ColumnSubsetCache<ItemTypeType>, options: ItemEntryOptions): PromiseInterface<any>;
|
|
89
|
+
fetchLocalItemEntries<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, itemIds: ItemId[], options: ItemEntryOptions): PromiseInterface<Array<ItemEntry<ItemTypeType>>>;
|
|
87
90
|
private getColumnDifference;
|
|
88
91
|
private expandLocalItemEntry;
|
|
89
92
|
private getLocalValues;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { ApiEnumItemType } from '@rentman/backend-types';
|
|
1
2
|
import { ItemEntry } from '../../../models/index';
|
|
2
|
-
import { FieldMap,
|
|
3
|
+
import { FieldMap, PromiseInterface } from '../../../types/index';
|
|
3
4
|
import { TransactionCache, TransactionErrorLevel } from './TransactionCache';
|
|
4
5
|
export interface TransactionValidatorFactory {
|
|
5
6
|
construct(transaction: TransactionCache): TransactionValidator;
|
|
@@ -27,7 +28,7 @@ export declare abstract class TransactionValidator {
|
|
|
27
28
|
* @param fields
|
|
28
29
|
* @param previous
|
|
29
30
|
*/
|
|
30
|
-
abstract validateItem<ItemTypeType extends
|
|
31
|
+
abstract validateItem<ItemTypeType extends ApiEnumItemType>(itemEntry: ItemEntry<ItemTypeType>, fields: FieldMap<ItemTypeType>, previous: FieldMap<ItemTypeType>): void;
|
|
31
32
|
protected setGlobalError(key: string, isInvalid: boolean | PromiseInterface<boolean>, saveButtonErrorTranslationFn: () => string, level: TransactionErrorLevel): void;
|
|
32
33
|
protected setItemError(itemEntryId: ItemEntry['id'], columnId: string, errorKey: string, isInvalid: boolean | PromiseInterface<boolean>, fieldErrorTranslationFn: () => string, saveButtonErrorTranslationFn: () => string, level: TransactionErrorLevel): void;
|
|
33
34
|
private getHash;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { ApiEnumItemType, ApiFields } from '@rentman/backend-types';
|
|
1
2
|
import { CollectionEntryService, ColumnCache, KeyService, QueryService } from '../classes';
|
|
2
3
|
import { CollectionEntry } from '../models/';
|
|
3
4
|
import { CollectionOptionsInterface } from '../models/CollectionOptions';
|
|
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
|
|
13
|
+
construct<ItemTypeType extends ApiEnumItemType, ColumnIds extends Array<keyof ApiFields[ItemTypeType]> = Array<keyof ApiFields[ItemTypeType]>>(itemType: ItemTypeType, options: CollectionOptionsInterface<ItemTypeType, ColumnIds>): CollectionEntry<ItemTypeType, ColumnIds>;
|
|
14
14
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ApiEnumItemType } from '@rentman/backend-types';
|
|
1
2
|
import { AbstractCache, ApiRequestService, QueryService } from '../classes';
|
|
2
3
|
import { CachedQueryItem } from '../classes/cache/CachedQueryHandlerBase';
|
|
3
4
|
import { CollectionMatcherCachedQueryProcessor } from '../classes/cache/CollectionMatcherCachedQueryProcessor';
|
|
@@ -5,15 +6,14 @@ import { CollectionMatcherCachedCollectionProcessor } from '../classes/Collectio
|
|
|
5
6
|
import { QueryMatcherFactory } from '../factories';
|
|
6
7
|
import { PromiseLibraryInterface } from '../interfaces';
|
|
7
8
|
import { CollectionResource } from '../models';
|
|
8
|
-
import { ItemType } from '../types';
|
|
9
9
|
export declare class CollectionMatcherFactory {
|
|
10
10
|
private queryMatcherFactory;
|
|
11
11
|
private queryService;
|
|
12
12
|
private apiRequestService;
|
|
13
13
|
private promiseService;
|
|
14
14
|
constructor(queryMatcherFactory: QueryMatcherFactory, queryService: QueryService, apiRequestService: ApiRequestService, promiseService: PromiseLibraryInterface);
|
|
15
|
-
constructCachedCollectionProcessor(transaction: AbstractCache, getCollections: (itemType:
|
|
16
|
-
[queryString: string]: CollectionResource
|
|
15
|
+
constructCachedCollectionProcessor(transaction: AbstractCache, getCollections: <ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType) => {
|
|
16
|
+
[queryString: string]: Array<CollectionResource<ItemTypeType>>;
|
|
17
17
|
}): CollectionMatcherCachedCollectionProcessor;
|
|
18
|
-
constructCachedQueryProcessor(transaction: AbstractCache, getQueries: (itemType:
|
|
18
|
+
constructCachedQueryProcessor(transaction: AbstractCache, getQueries: <ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType) => Array<CachedQueryItem<ItemTypeType>>): CollectionMatcherCachedQueryProcessor;
|
|
19
19
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import { ApiEnumItemType } from '@rentman/backend-types';
|
|
1
2
|
import { ItemEntryService, KeyService, QueryService } from '../classes';
|
|
2
3
|
import { TransactionCache } from '../classes/cache/transaction/TransactionCache';
|
|
3
4
|
import { ErrorHandlerInterface, ExceptionHandlerInterface, PromiseLibraryInterface } from '../interfaces';
|
|
4
5
|
import { CollectionResource, ItemEntry } from '../models';
|
|
5
6
|
import { CollectionOptionsInterface } from '../models/CollectionOptions';
|
|
6
|
-
import { ItemType } from '../types';
|
|
7
7
|
import { ChangesDeltaFactory } from './ChangesDeltaFactory';
|
|
8
8
|
import { CollectionEntryFactory } from './CollectionEntryFactory';
|
|
9
9
|
import { ColumnSetFactory } from './ColumnSetFactory';
|
|
@@ -18,5 +18,5 @@ export declare class CollectionResourceFactory {
|
|
|
18
18
|
queryService: QueryService;
|
|
19
19
|
columnSetFactory: ColumnSetFactory;
|
|
20
20
|
constructor(errorHandler: ErrorHandlerInterface, exceptionHandler: ExceptionHandlerInterface, keyService: KeyService, promiseService: PromiseLibraryInterface, changesDeltaFactory: ChangesDeltaFactory, itemEntryService: ItemEntryService, collectionEntryFactory: CollectionEntryFactory, queryService: QueryService, columnSetFactory: ColumnSetFactory);
|
|
21
|
-
construct<ItemTypeType extends
|
|
21
|
+
construct<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, options: CollectionOptionsInterface<ItemTypeType>, transaction: TransactionCache, initialItemEntries: Array<ItemEntry<ItemTypeType>>): CollectionResource<ItemTypeType>;
|
|
22
22
|
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import { ApiEnumItemType } from '@rentman/backend-types';
|
|
1
2
|
import { ColumnExpansion } from '../classes';
|
|
2
3
|
import { ColumnInfoFactory } from '../factories';
|
|
3
|
-
import { ApiRequestColumns,
|
|
4
|
+
import { ApiRequestColumns, ResponseColumnItemTypeMap } from '../types';
|
|
4
5
|
export declare class ColumnExpansionFactory {
|
|
5
6
|
private columnInfoFactory;
|
|
6
7
|
constructor(columnInfoFactory: ColumnInfoFactory);
|
|
7
|
-
construct<ItemTypeType extends
|
|
8
|
+
construct<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, requestColumns: ApiRequestColumns, responseColumns: ResponseColumnItemTypeMap): ColumnExpansion<ItemTypeType>;
|
|
8
9
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { ApiEnumItemType, ApiFields, GetColumnType } from '@rentman/backend-types';
|
|
1
2
|
import { ColumnInfo } from '../classes';
|
|
2
|
-
import {
|
|
3
|
+
import { RootColumnMap } from '../types';
|
|
3
4
|
export declare class ColumnInfoFactory {
|
|
4
5
|
constructor();
|
|
5
|
-
construct<ItemTypeType extends
|
|
6
|
-
constructFromRootMap<ItemTypeType extends
|
|
6
|
+
construct<ItemTypeType extends ApiEnumItemType = any, ColumnId extends keyof ApiFields[ItemTypeType] = any>(apiColumn: GetColumnType<ItemTypeType, ColumnId>, parent: ColumnInfo | null): ColumnInfo<ItemTypeType>;
|
|
7
|
+
constructFromRootMap<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends Array<keyof ApiFields[ItemTypeType]> = any>(rootColumnMap: RootColumnMap<ItemTypeType, ColumnIds>, parent?: ColumnInfo | null): ColumnInfo<ItemTypeType, ColumnIds[number]>[];
|
|
7
8
|
}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
|
+
import { ApiEnumItemType } from '@rentman/backend-types';
|
|
1
2
|
import { ColumnHandler, ColumnSet, ColumnUtil } from '../classes';
|
|
2
3
|
import { ColumnInfoFactory } from '../factories';
|
|
3
|
-
import { ApiRequestColumns,
|
|
4
|
+
import { ApiRequestColumns, ResponseColumnItemTypeMap } from '../types';
|
|
4
5
|
export declare class ColumnSetFactory {
|
|
5
6
|
private columnHandler;
|
|
6
7
|
private columnUtil;
|
|
7
8
|
private columnInfoFactory;
|
|
8
9
|
constructor(columnHandler: ColumnHandler, columnUtil: ColumnUtil, columnInfoFactory: ColumnInfoFactory);
|
|
9
|
-
constructStub<ItemTypeType extends
|
|
10
|
-
resolveStub<ItemTypeType extends
|
|
11
|
-
construct<ItemTypeType extends
|
|
12
|
-
constructFromResponse<ItemTypeType extends
|
|
10
|
+
constructStub<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, requestColumns: ApiRequestColumns): ColumnSet<ItemTypeType>;
|
|
11
|
+
resolveStub<ItemTypeType extends ApiEnumItemType>(columnSet: ColumnSet<ItemTypeType>, responseColumns: ResponseColumnItemTypeMap, enableCaching?: boolean, includeIdColumn?: boolean): ColumnSet<ItemTypeType>;
|
|
12
|
+
construct<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, requestColumns: ApiRequestColumns, responseColumns: ResponseColumnItemTypeMap, enableCaching?: boolean, includeIdColumn?: boolean): ColumnSet<ItemTypeType>;
|
|
13
|
+
constructFromResponse<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, responseColumns: ResponseColumnItemTypeMap, enableCaching?: boolean): ColumnSet<ItemTypeType>;
|
|
13
14
|
private processResponseColumns;
|
|
14
15
|
private constructRequestColumnsFromRootColumnMap;
|
|
15
16
|
private expandRootColumnMapFromResponseColumns;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import { ApiEnumItemType } from '@rentman/backend-types';
|
|
1
2
|
import { ColumnCache, ColumnSubsetCache, ColumnUtil } from '../classes';
|
|
2
|
-
import { ApiRequestColumns
|
|
3
|
+
import { ApiRequestColumns } from '../types';
|
|
3
4
|
export declare class ColumnSubsetCacheFactory {
|
|
4
5
|
private columnUtil;
|
|
5
6
|
private columnCache;
|
|
6
7
|
constructor(columnUtil: ColumnUtil, columnCache: ColumnCache);
|
|
7
|
-
construct<ItemTypeType extends
|
|
8
|
+
construct<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, requestColumns: ApiRequestColumns): ColumnSubsetCache<ItemTypeType>;
|
|
8
9
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
+
import { ApiEnumItemType } from '@rentman/backend-types';
|
|
1
2
|
import { ApiFormatter, CreateCompilation, CreateRequest, KeyService } from '../classes';
|
|
2
3
|
import { TransactionCache } from '../classes/cache/transaction/TransactionCache';
|
|
3
4
|
import { RequestColumnExpansionFactory } from '../factories';
|
|
4
|
-
import { ItemType } from '../types';
|
|
5
5
|
export declare class CreateRequestFactory {
|
|
6
6
|
private apiFormatter;
|
|
7
7
|
private keyService;
|
|
8
8
|
private requestColumnExpansionFactory;
|
|
9
9
|
constructor(apiFormatter: ApiFormatter, keyService: KeyService, requestColumnExpansionFactory: RequestColumnExpansionFactory);
|
|
10
|
-
construct<ItemTypeType extends
|
|
10
|
+
construct<ItemTypeType extends ApiEnumItemType>(compilation: CreateCompilation, transaction: TransactionCache, breakupByParent?: boolean): CreateRequest<ItemTypeType>;
|
|
11
11
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import { ApiEnumItemType, ItemId } from '@rentman/backend-types';
|
|
1
2
|
import { ApiFormatter, ColumnSet, ItemEntryService, KeyService } from '../classes';
|
|
2
3
|
import { ColumnSetFactory } from '../factories';
|
|
3
4
|
import { ExceptionHandlerInterface, PromiseLibraryInterface } from '../interfaces';
|
|
4
5
|
import { ItemEntry } from '../models';
|
|
5
|
-
import { ItemId, ItemType } from '../types';
|
|
6
6
|
export declare class ItemEntryFactory {
|
|
7
7
|
apiFormatter: ApiFormatter;
|
|
8
8
|
columnSetFactory: ColumnSetFactory;
|
|
@@ -11,5 +11,5 @@ export declare class ItemEntryFactory {
|
|
|
11
11
|
keyService: KeyService;
|
|
12
12
|
promiseService: PromiseLibraryInterface;
|
|
13
13
|
constructor(apiFormatter: ApiFormatter, columnSetFactory: ColumnSetFactory, exceptionHandler: ExceptionHandlerInterface, itemEntryService: ItemEntryService, keyService: KeyService, promiseService: PromiseLibraryInterface);
|
|
14
|
-
construct<ItemTypeType extends
|
|
14
|
+
construct<ItemTypeType extends ApiEnumItemType>(itemId: ItemId, columnInfo: ColumnSet<ItemTypeType>): ItemEntry<ItemTypeType>;
|
|
15
15
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import { ApiEnumItemType, ApiFields } from '@rentman/backend-types';
|
|
1
2
|
import { ApiFormatter, ColumnUtil } from '../classes';
|
|
2
3
|
import { TransactionCache } from '../classes/cache/transaction/TransactionCache';
|
|
3
4
|
import { ErrorHandlerInterface, ExceptionHandlerInterface, PromiseLibraryInterface } from '../interfaces';
|
|
4
5
|
import { ItemEntry, ItemResource } from '../models';
|
|
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
|
|
13
|
+
construct<ItemTypeType extends ApiEnumItemType, ColumnIds extends Array<keyof ApiFields[ItemTypeType]> = Array<keyof ApiFields[ItemTypeType]>>(itemEntry: ItemEntry<ItemTypeType>, transaction: TransactionCache, isNew?: boolean): ItemResource<ItemTypeType, ColumnIds>;
|
|
14
14
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { ApiEnumItemType } from '@rentman/backend-types';
|
|
1
2
|
import { ApiFormatter, QueryMatcher } from '../classes';
|
|
2
|
-
import { EntryParentNull, FieldMap
|
|
3
|
+
import { EntryParentNull, FieldMap } from '../types';
|
|
3
4
|
export declare class QueryMatcherFactory {
|
|
4
5
|
private apiFormatter;
|
|
5
6
|
constructor(apiFormatter: ApiFormatter);
|
|
6
|
-
construct(itemType:
|
|
7
|
+
construct(itemType: ApiEnumItemType, fields: FieldMap, parent: EntryParentNull): QueryMatcher;
|
|
7
8
|
}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
import { ApiEnumItemType } from '@rentman/backend-types';
|
|
1
2
|
import { ColumnUtil } from '../classes';
|
|
2
3
|
import { ColumnSetFactory } from '../factories';
|
|
3
4
|
import { Template } from '../models';
|
|
4
|
-
import { ApiRequestColumnMap, ApiResponse,
|
|
5
|
+
import { ApiRequestColumnMap, ApiResponse, ResponseColumnItemTypeMap } from '../types';
|
|
5
6
|
export declare class TemplateFactory {
|
|
6
7
|
columnSetFactory: ColumnSetFactory;
|
|
7
8
|
columnUtil: ColumnUtil;
|
|
8
9
|
constructor(columnSetFactory: ColumnSetFactory, columnUtil: ColumnUtil);
|
|
9
|
-
construct<ItemTypeType extends
|
|
10
|
+
construct<ItemTypeType extends ApiEnumItemType>(itemType: ItemTypeType, response: ApiResponse, additionalRequestColumns: ApiRequestColumnMap, additionalResponseColumns: ResponseColumnItemTypeMap): Template<ItemTypeType>;
|
|
10
11
|
}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ApiEnumItemType, ItemId } from '@rentman/backend-types';
|
|
2
|
+
import { ApiRequestColumnMap, ApiRequestItemMap, ApiRequestLimit, ApiRequestMoveItems, PromiseInterface } from '../types';
|
|
2
3
|
export interface ApiRequestServiceInterface {
|
|
3
|
-
template(itemType:
|
|
4
|
-
create(itemType:
|
|
5
|
-
delete(itemType:
|
|
6
|
-
updateItems(itemType:
|
|
4
|
+
template(itemType: ApiEnumItemType, params: any): PromiseInterface<any>;
|
|
5
|
+
create(itemType: ApiEnumItemType, itemId: ItemId, values: any, parentType?: ApiEnumItemType, parentId?: ItemId): PromiseInterface<any>;
|
|
6
|
+
delete(itemType: ApiEnumItemType, itemIds: ItemId[]): PromiseInterface<any>;
|
|
7
|
+
updateItems(itemType: ApiEnumItemType, items: ApiRequestItemMap, columns: ApiRequestColumnMap): PromiseInterface<any>;
|
|
7
8
|
requestSkeleton(params: any, requestCanceler?: PromiseInterface<any>): PromiseInterface<any>;
|
|
8
|
-
moveItems(parentType:
|
|
9
|
-
columns(itemType:
|
|
10
|
-
query(itemType:
|
|
9
|
+
moveItems(parentType: ApiEnumItemType, parentId: ItemId, items: ApiRequestMoveItems): PromiseInterface<any>;
|
|
10
|
+
columns(itemType: ApiEnumItemType, columns: ApiRequestColumnMap, params?: any): PromiseInterface<any>;
|
|
11
|
+
query(itemType: ApiEnumItemType, query: any, columns: ApiRequestColumnMap, limit?: ApiRequestLimit): PromiseInterface<any>;
|
|
11
12
|
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { ItemId } from '@rentman/backend-types';
|
|
1
2
|
export interface AuthInterface {
|
|
2
3
|
/**
|
|
3
4
|
* @returns {string} A uniquely identifying string for each user of the api
|
|
4
5
|
*/
|
|
5
6
|
getUniqueUserId(): string;
|
|
6
|
-
getUserId():
|
|
7
|
+
getUserId(): ItemId;
|
|
7
8
|
getUserAccountname(): string;
|
|
8
9
|
getUserDisplayname(): string;
|
|
9
10
|
}
|
|
@@ -1,22 +1,23 @@
|
|
|
1
|
+
import { ApiEnumItemType, ApiFields } from '@rentman/backend-types';
|
|
1
2
|
import { CollectionEntryService, ColumnCache, ColumnExpansion, ColumnSet, KeyService, QueryService } from '../classes';
|
|
2
3
|
import { ColumnSetFactory } from '../factories';
|
|
3
|
-
import { CollectionQuery,
|
|
4
|
+
import { CollectionQuery, EntryParentNull, PromiseInterface } from '../types';
|
|
4
5
|
import { CollectionOptions } from './CollectionOptions';
|
|
5
|
-
export declare class CollectionEntry<ItemTypeType extends
|
|
6
|
+
export declare class CollectionEntry<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends Array<keyof ApiFields[ItemTypeType]> = Array<keyof ApiFields[ItemTypeType]>> {
|
|
6
7
|
private collectionEntryService;
|
|
7
8
|
private queryService;
|
|
8
9
|
private columnSetFactory;
|
|
9
10
|
private keyService;
|
|
10
11
|
private columnCache;
|
|
11
12
|
itemType: ItemTypeType;
|
|
12
|
-
options: CollectionOptions<ItemTypeType,
|
|
13
|
+
options: CollectionOptions<ItemTypeType, ColumnIds>;
|
|
13
14
|
id: number;
|
|
14
15
|
parent: EntryParentNull;
|
|
15
16
|
query: CollectionQuery;
|
|
16
17
|
columns: ColumnSet<ItemTypeType>;
|
|
17
18
|
reloadQueued: boolean;
|
|
18
19
|
promise: PromiseInterface<this>;
|
|
19
|
-
constructor(collectionEntryService: CollectionEntryService, queryService: QueryService, columnSetFactory: ColumnSetFactory, keyService: KeyService, columnCache: ColumnCache, itemType: ItemTypeType, options: CollectionOptions<ItemTypeType,
|
|
20
|
+
constructor(collectionEntryService: CollectionEntryService, queryService: QueryService, columnSetFactory: ColumnSetFactory, keyService: KeyService, columnCache: ColumnCache, itemType: ItemTypeType, options: CollectionOptions<ItemTypeType, ColumnIds>);
|
|
20
21
|
isLocal(): boolean;
|
|
21
22
|
queueReload(): void;
|
|
22
23
|
expandColumns(columnExpansion: ColumnExpansion<ItemTypeType>): void;
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
+
import { ApiEnumItemType, ApiFields } from '@rentman/backend-types';
|
|
1
2
|
import { CollectionResource, ItemResource } from '../models';
|
|
2
|
-
import { ApiQuery, ApiRequestColumns, ApiRequestLimit,
|
|
3
|
-
export declare type CollectionResourceCallback<ItemTypeType extends
|
|
4
|
-
export declare type CollectionResourceOnAddCallback<ItemTypeType extends
|
|
5
|
-
export declare type CollectionOptionsInterface<ItemTypeType extends
|
|
6
|
-
export declare class CollectionOptions<ItemTypeType extends
|
|
3
|
+
import { ApiQuery, ApiRequestColumns, ApiRequestLimit, EntryParentNull, FieldChangeCallback } from '../types';
|
|
4
|
+
export declare type CollectionResourceCallback<ItemTypeType extends ApiEnumItemType, ColumnIds extends Array<keyof ApiFields[ItemTypeType]> = Array<keyof ApiFields[ItemTypeType]>> = (itemResources: Array<ItemResource<ItemTypeType, ColumnIds>>, collectionResource: CollectionResource<ItemTypeType, ColumnIds>, isCalledAfterSocketUpdate: boolean) => void;
|
|
5
|
+
export declare type CollectionResourceOnAddCallback<ItemTypeType extends ApiEnumItemType, ColumnIds extends Array<keyof ApiFields[ItemTypeType]> = Array<keyof ApiFields[ItemTypeType]>> = (itemResources: Array<ItemResource<ItemTypeType, ColumnIds>>, collectionResource: CollectionResource<ItemTypeType, ColumnIds>, isInitialCall: boolean, isCalledAfterSocketUpdate: boolean) => void;
|
|
6
|
+
export declare type CollectionOptionsInterface<ItemTypeType extends ApiEnumItemType, ColumnIds extends Array<keyof ApiFields[ItemTypeType]> = Array<keyof ApiFields[ItemTypeType]>> = Partial<CollectionOptions<ItemTypeType, ColumnIds>>;
|
|
7
|
+
export declare class CollectionOptions<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends Array<keyof ApiFields[ItemTypeType]> = Array<keyof ApiFields[ItemTypeType]>> {
|
|
7
8
|
columns: ApiRequestColumns;
|
|
8
9
|
query: ApiQuery | null;
|
|
9
10
|
queryColumns: ApiRequestColumns;
|
|
10
11
|
parent: EntryParentNull;
|
|
11
12
|
limit: ApiRequestLimit | null;
|
|
12
|
-
onAdd: CollectionResourceOnAddCallback<ItemTypeType,
|
|
13
|
-
onRemove: CollectionResourceCallback<ItemTypeType,
|
|
13
|
+
onAdd: CollectionResourceOnAddCallback<ItemTypeType, ColumnIds>;
|
|
14
|
+
onRemove: CollectionResourceCallback<ItemTypeType, ColumnIds>;
|
|
14
15
|
onChange: FieldChangeCallback;
|
|
15
16
|
custom: any;
|
|
16
17
|
callOnAddWithInitialItems: boolean;
|
|
@@ -19,5 +20,5 @@ export declare class CollectionOptions<ItemTypeType extends ItemType = any, Fiel
|
|
|
19
20
|
* Prevents a CachedQueryItem from being cached (the CollectionResource will still be cached), you can use this when you fetch an Itemtype for which the backend doesn't send socket messages (so it never automatically updates)
|
|
20
21
|
*/
|
|
21
22
|
preventCaching: boolean;
|
|
22
|
-
constructor(values: CollectionOptionsInterface<ItemTypeType,
|
|
23
|
+
constructor(values: CollectionOptionsInterface<ItemTypeType, ColumnIds>);
|
|
23
24
|
}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
+
import { ApiEnumItemType, ApiFields, ItemId } from '@rentman/backend-types';
|
|
1
2
|
import { TransactionCache } from '../classes/cache/transaction/TransactionCache';
|
|
2
3
|
import { ChangesDeltaResult } from '../classes/ChangesDeltaBase';
|
|
3
4
|
import { CollectionResourceFactory } from '../factories';
|
|
4
5
|
import { CollectionEntry, CollectionOptions, ItemEntry, ItemResource } from '../models';
|
|
5
|
-
import { ApiRequestLimit,
|
|
6
|
-
export declare class CollectionResource<ItemTypeType extends
|
|
6
|
+
import { ApiRequestLimit, CompareFieldCallback, DeregFunction, FieldMap, ItemResourceItemIdMap, OnAddCallback, OnChangeCallback, OnRemoveCallback, PromiseInterface, ResponseColumnItemTypeMap } from '../types';
|
|
7
|
+
export declare class CollectionResource<ItemTypeType extends ApiEnumItemType = any, ColumnIds extends Array<keyof ApiFields[ItemTypeType]> = Array<keyof ApiFields[ItemTypeType]>> {
|
|
7
8
|
protected factory: CollectionResourceFactory;
|
|
8
|
-
options: CollectionOptions<ItemTypeType,
|
|
9
|
+
options: CollectionOptions<ItemTypeType, ColumnIds>;
|
|
9
10
|
transaction: TransactionCache;
|
|
10
|
-
entry: CollectionEntry<ItemTypeType,
|
|
11
|
+
entry: CollectionEntry<ItemTypeType, ColumnIds>;
|
|
11
12
|
columns: ResponseColumnItemTypeMap;
|
|
12
|
-
items: Array<ItemResource<ItemTypeType,
|
|
13
|
-
protected itemIdMap: ItemResourceItemIdMap<ItemResource<ItemTypeType,
|
|
13
|
+
items: Array<ItemResource<ItemTypeType, ColumnIds>>;
|
|
14
|
+
protected itemIdMap: ItemResourceItemIdMap<ItemResource<ItemTypeType, ColumnIds>>;
|
|
14
15
|
private fieldChangeDeregFns;
|
|
15
16
|
private readonly onChangeCallbacks;
|
|
16
17
|
private readonly onAddCallbacks;
|
|
@@ -20,7 +21,7 @@ export declare class CollectionResource<ItemTypeType extends ItemType = any, Fie
|
|
|
20
21
|
* 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
22
|
*/
|
|
22
23
|
private removedItemIds;
|
|
23
|
-
constructor(factory: CollectionResourceFactory, options: CollectionOptions<ItemTypeType,
|
|
24
|
+
constructor(factory: CollectionResourceFactory, options: CollectionOptions<ItemTypeType, ColumnIds>, transaction: TransactionCache, itemType: ItemTypeType, initialItemEntries: Array<ItemEntry<ItemTypeType>>);
|
|
24
25
|
onConstruct(): void;
|
|
25
26
|
/**
|
|
26
27
|
* @description
|
|
@@ -28,9 +29,9 @@ export declare class CollectionResource<ItemTypeType extends ItemType = any, Fie
|
|
|
28
29
|
*/
|
|
29
30
|
refresh(): PromiseInterface<void>;
|
|
30
31
|
setLimit(newLimit: number | ApiRequestLimit): void;
|
|
31
|
-
onAdd(callback: OnAddCallback<ItemTypeType,
|
|
32
|
-
onChange(callback: OnChangeCallback<ItemTypeType,
|
|
33
|
-
onRemove(callback: OnRemoveCallback<ItemTypeType,
|
|
32
|
+
onAdd(callback: OnAddCallback<ItemTypeType, ColumnIds>): DeregFunction;
|
|
33
|
+
onChange(callback: OnChangeCallback<ItemTypeType, ColumnIds>): DeregFunction;
|
|
34
|
+
onRemove(callback: OnRemoveCallback<ItemTypeType, ColumnIds>): DeregFunction;
|
|
34
35
|
__clear(): void;
|
|
35
36
|
/**
|
|
36
37
|
* @deprecated
|
|
@@ -39,29 +40,29 @@ export declare class CollectionResource<ItemTypeType extends ItemType = any, Fie
|
|
|
39
40
|
moveItems(itemEntries: Array<ItemEntry<ItemTypeType>>, destinationResource: CollectionResource<ItemTypeType>): void;
|
|
40
41
|
removeItems(idArray: ItemId[]): PromiseInterface<ChangesDeltaResult>;
|
|
41
42
|
removeItem(itemId: ItemId): PromiseInterface<ChangesDeltaResult>;
|
|
42
|
-
addItems(valuesArray: Array<Partial<
|
|
43
|
-
addItem(values: FieldMap<ItemTypeType
|
|
43
|
+
addItems(valuesArray: Array<Partial<FieldMap<ItemTypeType, ColumnIds>>>): PromiseInterface<ChangesDeltaResult>;
|
|
44
|
+
addItem(values: Partial<FieldMap<ItemTypeType>>): PromiseInterface<ChangesDeltaResult>;
|
|
44
45
|
getIdArray(): ItemId[];
|
|
45
|
-
getItemById(itemId:
|
|
46
|
-
addItemResources(itemEntriesToBeAdded: Array<ItemEntry<ItemTypeType>>, isInitialCall?: boolean, isCalledAfterSocketUpdate?: boolean): Array<ItemResource<ItemTypeType,
|
|
46
|
+
getItemById(itemId: ItemId): ItemResource<ItemTypeType, ColumnIds>;
|
|
47
|
+
addItemResources(itemEntriesToBeAdded: Array<ItemEntry<ItemTypeType>>, isInitialCall?: boolean, isCalledAfterSocketUpdate?: boolean): Array<ItemResource<ItemTypeType, ColumnIds>>;
|
|
47
48
|
/**
|
|
48
49
|
* @description
|
|
49
50
|
* Returns the {@link ItemResource ItemResources} that where removed from the {@link CollectionResource collection}.
|
|
50
51
|
* Filters on {@link ItemResource ItemResource}.{@link ItemEntry entry} === {@link ItemEntry entry}
|
|
51
52
|
*/
|
|
52
|
-
removeItemResources(itemEntries: Array<ItemEntry<ItemTypeType>>, isCalledAfterSocketUpdate: boolean): Array<ItemResource<ItemTypeType,
|
|
53
|
-
callOnAdd(itemResources: Array<ItemResource<ItemTypeType,
|
|
54
|
-
callOnChange(itemEntry: ItemEntry<ItemTypeType>, compareField: CompareFieldCallback<
|
|
55
|
-
callOnRemove(itemResources: Array<ItemResource<ItemTypeType,
|
|
56
|
-
forEach(callback: (itemResource: ItemResource<ItemTypeType,
|
|
57
|
-
filter(callback: (itemResource: ItemResource<ItemTypeType,
|
|
58
|
-
first(callback: (itemResource: ItemResource<ItemTypeType,
|
|
59
|
-
some(callback: (itemResource: ItemResource<ItemTypeType,
|
|
60
|
-
groupBy(argument: string | ((itemResource: ItemResource<ItemTypeType,
|
|
61
|
-
[key: string]: Array<ItemResource<ItemTypeType,
|
|
53
|
+
removeItemResources(itemEntries: Array<ItemEntry<ItemTypeType>>, isCalledAfterSocketUpdate: boolean): Array<ItemResource<ItemTypeType, ColumnIds>>;
|
|
54
|
+
callOnAdd(itemResources: Array<ItemResource<ItemTypeType, ColumnIds>>, isInitialCall?: boolean, isCalledAfterSocketUpdate?: boolean): void;
|
|
55
|
+
callOnChange(itemEntry: ItemEntry<ItemTypeType>, compareField: CompareFieldCallback<FieldMap<ItemTypeType, ColumnIds>>, fields: FieldMap<ItemTypeType, ColumnIds>, isCalledAfterSocketUpdate: boolean, previous: FieldMap<ItemTypeType, ColumnIds>): void;
|
|
56
|
+
callOnRemove(itemResources: Array<ItemResource<ItemTypeType, ColumnIds>>, isCalledAfterSocketUpdate: boolean): void;
|
|
57
|
+
forEach(callback: (itemResource: ItemResource<ItemTypeType, ColumnIds>) => void): void;
|
|
58
|
+
filter(callback: (itemResource: ItemResource<ItemTypeType, ColumnIds>) => boolean): Array<ItemResource<ItemTypeType, ColumnIds>>;
|
|
59
|
+
first(callback: (itemResource: ItemResource<ItemTypeType, ColumnIds>) => boolean): ItemResource<ItemTypeType, ColumnIds> | null;
|
|
60
|
+
some(callback: (itemResource: ItemResource<ItemTypeType, ColumnIds>) => boolean): boolean;
|
|
61
|
+
groupBy(argument: string | ((itemResource: ItemResource<ItemTypeType, ColumnIds>) => string | null)): {
|
|
62
|
+
[key: string]: Array<ItemResource<ItemTypeType, ColumnIds>>;
|
|
62
63
|
};
|
|
63
|
-
map<U>(argument: string | ((itemResource: ItemResource<ItemTypeType,
|
|
64
|
-
reduce<U>(callback: (itemResource: ItemResource<ItemTypeType,
|
|
64
|
+
map<U>(argument: string | ((itemResource: ItemResource<ItemTypeType, ColumnIds>) => U)): U[];
|
|
65
|
+
reduce<U>(callback: (itemResource: ItemResource<ItemTypeType, ColumnIds>, value: U) => U, value: U): U;
|
|
65
66
|
/**
|
|
66
67
|
* @description
|
|
67
68
|
* Removes the reference to the {@link CollectionResource CollectionResource} from the {@link CollectionEntry CollectionEntry}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { ApiEnumItemType, ItemId } from '@rentman/backend-types';
|
|
1
2
|
import { ColumnSet } from '../classes';
|
|
2
3
|
import { ItemEntryFactory } from '../factories';
|
|
3
|
-
|
|
4
|
-
export declare class ItemEntry<ItemTypeType extends ItemType = any> {
|
|
4
|
+
export declare class ItemEntry<ItemTypeType extends ApiEnumItemType = any> {
|
|
5
5
|
private factory;
|
|
6
6
|
itemType: ItemTypeType;
|
|
7
7
|
itemId: ItemId;
|