@rentman/rm-core 12.1.2 → 12.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/changelog.md +1509 -1495
- package/dist/rm-core.js +909 -965
- package/dist/rm-core.min.js +1 -1
- package/dist/types/src/FieldLookupProxy.d.ts +4 -4
- package/dist/types/src/classes/ApiFormatter.d.ts +56 -76
- package/dist/types/src/classes/ApiRequestService.d.ts +18 -18
- package/dist/types/src/classes/ApiResponseProcessor.d.ts +29 -29
- package/dist/types/src/classes/BusinessLogicManager/BusinessLogicManager.d.ts +100 -100
- package/dist/types/src/classes/BusinessLogicManager/BusinessLogicRule.d.ts +93 -93
- package/dist/types/src/classes/BusinessLogicManager/Customfield/CustomFieldTypeBusinessLogicRule.d.ts +17 -17
- package/dist/types/src/classes/BusinessLogicManager/Documents/DocumentTemplateBusinessLogicRule.d.ts +24 -24
- package/dist/types/src/classes/BusinessLogicManager/Exemplaar/ExemplaarAanschafdatumBusinessLogicRule.d.ts +13 -13
- package/dist/types/src/classes/BusinessLogicManager/Factuur/FactuurBetalingsconditieBusinessLogicRule.d.ts +19 -19
- package/dist/types/src/classes/BusinessLogicManager/Factuur/FactuurDatumBusinessLogicRule.d.ts +18 -18
- package/dist/types/src/classes/BusinessLogicManager/Factuur/FactuurNumberseriesBusinessLogicRule.d.ts +13 -13
- package/dist/types/src/classes/BusinessLogicManager/Functie/FunctieNaaminternBusinessLogicRule.d.ts +17 -17
- package/dist/types/src/classes/BusinessLogicManager/Functie/FunctieTwowayBusinessLogicRule.d.ts +13 -13
- package/dist/types/src/classes/BusinessLogicManager/Materiaal/MateriaalTelexemplarenBusinessLogicRule.d.ts +15 -15
- package/dist/types/src/classes/BusinessLogicManager/Materiaal/MateriaalTypeBusinessLogicRule.d.ts +17 -17
- package/dist/types/src/classes/BusinessLogicManager/Materiaal/MateriaalVerhuurBusinessLogicRule.d.ts +17 -17
- package/dist/types/src/classes/BusinessLogicManager/Materiaal/SurfaceArticleSizeBusinessLogicRule.d.ts +18 -18
- package/dist/types/src/classes/BusinessLogicManager/OfferteContract/OfferteContractDatumBusinessLogicRule.d.ts +25 -25
- package/dist/types/src/classes/BusinessLogicManager/PlanningPersoneelTransport/PlanningPersoneelTransportBusinessLogicRule.d.ts +28 -28
- package/dist/types/src/classes/BusinessLogicManager/Project/ProjectClientNoteBusinessLogicRule.d.ts +22 -22
- package/dist/types/src/classes/BusinessLogicManager/Reparatie/ReparatieExemplaarAantalBusinessLogicRule.d.ts +13 -13
- package/dist/types/src/classes/BusinessLogicManager/Reparatie/ReparatieExemplaarLocationBusinessLogicRule.d.ts +23 -23
- package/dist/types/src/classes/BusinessLogicManager/Rol/RolDocumentAccessBusinessLogicRule.d.ts +17 -17
- package/dist/types/src/classes/BusinessLogicManager/Rol/RolEditOwnDataBusinessLogicRule.d.ts +17 -17
- package/dist/types/src/classes/BusinessLogicManager/Rol/RolFileAccessBusinessLogicRule.d.ts +17 -17
- package/dist/types/src/classes/BusinessLogicManager/Rol/RolPersoneelsplannerToegangBusinessLogicRule.d.ts +17 -17
- package/dist/types/src/classes/BusinessLogicManager/Rol/RolProjectenBewerkenBusinessLogicRule.d.ts +17 -17
- package/dist/types/src/classes/BusinessLogicManager/Rol/RolProjectenToegangBusinessLogicRule.d.ts +17 -17
- package/dist/types/src/classes/CacheSyncer.d.ts +71 -71
- package/dist/types/src/classes/ChangesCompilation.d.ts +33 -33
- package/dist/types/src/classes/ChangesDelta.d.ts +65 -65
- package/dist/types/src/classes/ChangesDeltaBase.d.ts +103 -88
- package/dist/types/src/classes/ChangesProcessor.d.ts +40 -40
- package/dist/types/src/classes/CollectionEntryService.d.ts +24 -24
- package/dist/types/src/classes/CollectionResourceService.d.ts +6 -6
- package/dist/types/src/classes/ColumnCache.d.ts +19 -19
- package/dist/types/src/classes/ColumnExpansion.d.ts +19 -19
- package/dist/types/src/classes/ColumnHandler.d.ts +20 -20
- package/dist/types/src/classes/ColumnInfo.d.ts +15 -15
- package/dist/types/src/classes/ColumnSet.d.ts +37 -37
- package/dist/types/src/classes/ColumnUtil.d.ts +108 -108
- package/dist/types/src/classes/ConversionMapService.d.ts +25 -25
- package/dist/types/src/classes/CreateRequest.d.ts +17 -17
- package/dist/types/src/classes/CreatedChangesDelta.d.ts +17 -17
- package/dist/types/src/classes/InternalChangesDelta.d.ts +44 -44
- package/dist/types/src/classes/ItemCache.d.ts +27 -27
- package/dist/types/src/classes/ItemCreateService.d.ts +18 -18
- package/dist/types/src/classes/ItemEntryService.d.ts +32 -32
- package/dist/types/src/classes/KeyService.d.ts +18 -18
- package/dist/types/src/classes/LockService.d.ts +28 -28
- package/dist/types/src/classes/ModuleChangesCompilation.d.ts +17 -17
- package/dist/types/src/classes/ParentChangesDelta.d.ts +41 -41
- package/dist/types/src/classes/QueryColumnExtractor.d.ts +18 -18
- package/dist/types/src/classes/QueryContainsLocalIdParser.d.ts +17 -17
- package/dist/types/src/classes/QueryLinkedToParser.d.ts +17 -17
- package/dist/types/src/classes/QueryLocallyMatchableParser.d.ts +20 -20
- package/dist/types/src/classes/QueryMatcher.d.ts +25 -25
- package/dist/types/src/classes/QueryParser.d.ts +25 -25
- package/dist/types/src/classes/QueryParserBase.d.ts +20 -20
- package/dist/types/src/classes/QueryParserIdUpdater.d.ts +17 -17
- package/dist/types/src/classes/QueryService.d.ts +12 -12
- package/dist/types/src/classes/RequestBuffer.d.ts +26 -26
- package/dist/types/src/classes/RequestBufferManager.d.ts +21 -21
- package/dist/types/src/classes/RequestColumnExpansion.d.ts +13 -13
- package/dist/types/src/classes/RequestColumnsOperationsCache.d.ts +46 -46
- package/dist/types/src/classes/SocketMessageHandler.d.ts +34 -34
- package/dist/types/src/classes/TemplateCache.d.ts +64 -64
- package/dist/types/src/classes/Util.d.ts +28 -28
- package/dist/types/src/classes/cache/AbstractCache.d.ts +85 -85
- package/dist/types/src/classes/cache/CachedQueryHandlerBase.d.ts +70 -70
- package/dist/types/src/classes/cache/ItemHandlerBase.d.ts +107 -107
- package/dist/types/src/classes/cache/server/ServerCache.d.ts +65 -65
- package/dist/types/src/classes/cache/server/ServerCachedQueryHandler.d.ts +27 -27
- package/dist/types/src/classes/cache/server/ServerItemHandler.d.ts +39 -39
- package/dist/types/src/classes/cache/transaction/TransactionCache.d.ts +298 -298
- package/dist/types/src/classes/cache/transaction/TransactionCachedQueryHandler.d.ts +50 -50
- package/dist/types/src/classes/cache/transaction/TransactionCollectionHandler.d.ts +24 -24
- package/dist/types/src/classes/cache/transaction/TransactionEventHandler.d.ts +21 -21
- package/dist/types/src/classes/cache/transaction/TransactionItemHandler.d.ts +80 -80
- package/dist/types/src/classes/cache/transaction/TransactionValidator.d.ts +33 -33
- package/dist/types/src/constants.d.ts +7 -7
- package/dist/types/src/core.d.ts +48 -48
- package/dist/types/src/factories/ApiResponseProcessorFactory.d.ts +6 -6
- package/dist/types/src/factories/CacheSyncerFactory.d.ts +14 -14
- package/dist/types/src/factories/ChangesCompilationFactory.d.ts +5 -5
- package/dist/types/src/factories/ChangesDeltaFactory.d.ts +13 -13
- package/dist/types/src/factories/ChangesProcessorFactory.d.ts +13 -13
- package/dist/types/src/factories/CollectionEntryFactory.d.ts +11 -11
- package/dist/types/src/factories/CollectionResourceFactory.d.ts +18 -18
- package/dist/types/src/factories/ColumnExpansionFactory.d.ts +7 -7
- package/dist/types/src/factories/ColumnInfoFactory.d.ts +7 -7
- package/dist/types/src/factories/ColumnSetFactory.d.ts +18 -18
- package/dist/types/src/factories/CreateRequestFactory.d.ts +9 -9
- package/dist/types/src/factories/ItemCacheFactory.d.ts +6 -6
- package/dist/types/src/factories/ItemEntryFactory.d.ts +12 -12
- package/dist/types/src/factories/ItemResourceFactory.d.ts +11 -11
- package/dist/types/src/factories/ModuleChangesCompilationFactory.d.ts +6 -6
- package/dist/types/src/factories/QueryMatcherFactory.d.ts +8 -8
- package/dist/types/src/factories/QueryParserFactory.d.ts +5 -5
- package/dist/types/src/factories/RequestColumnExpansionFactory.d.ts +6 -6
- package/dist/types/src/factories/RequestColumnsOperationsCacheFactory.d.ts +8 -8
- package/dist/types/src/factories/TemplateFactory.d.ts +8 -8
- package/dist/types/src/factories/TransactionCacheFactory.d.ts +13 -13
- package/dist/types/src/index.d.ts +1 -1
- package/dist/types/src/interfaces/AbstractCacheDependencyInterface.d.ts +38 -38
- package/dist/types/src/interfaces/ApiRequestServiceInterface.d.ts +12 -12
- package/dist/types/src/interfaces/AuthInterface.d.ts +10 -10
- package/dist/types/src/interfaces/ErrorHandlerInterface.d.ts +6 -6
- package/dist/types/src/interfaces/ExceptionHandlerInterface.d.ts +3 -3
- package/dist/types/src/interfaces/LinkTreeServiceInterface.d.ts +4 -4
- package/dist/types/src/interfaces/PromiseLibraryInterface.d.ts +33 -33
- package/dist/types/src/interfaces/ServerCacheDependencyInterface.d.ts +5 -5
- package/dist/types/src/interfaces/SocketMessageInterface.d.ts +3 -3
- package/dist/types/src/interfaces/TransactionCollectionHandlerDependencyInterface.d.ts +17 -17
- package/dist/types/src/interfaces/TransactionItemHandlerDependencyInterface.d.ts +22 -22
- package/dist/types/src/internal.d.ts +128 -128
- package/dist/types/src/models/CachedQueryItem.d.ts +40 -40
- package/dist/types/src/models/CollectionEntry.d.ts +22 -22
- package/dist/types/src/models/CollectionOptions.d.ts +44 -44
- package/dist/types/src/models/CollectionResource.d.ts +87 -87
- package/dist/types/src/models/ItemEntry.d.ts +19 -19
- package/dist/types/src/models/ItemEntryOptions.d.ts +8 -8
- package/dist/types/src/models/ItemResource.d.ts +95 -95
- package/dist/types/src/models/Template.d.ts +11 -11
- package/dist/types/src/types/ItemTypesCollection.d.ts +361 -361
- package/dist/types/src/types/PromiseInterface.d.ts +2 -2
- package/dist/types/tests/integration/core.test.d.ts +1 -1
- package/dist/types/tests/integration/helpers/helpers.d.ts +32 -32
- package/dist/types/tests/integration/transactions/field_lookup.test.d.ts +1 -1
- package/dist/types/tests/integration/transactions/get_by.test.d.ts +1 -1
- package/dist/types/tests/integration/transactions/updates.test.d.ts +1 -1
- package/dist/types/tests/mocks/ApiMocked.d.ts +19 -19
- package/dist/types/tests/mocks/PromiseLibrary.mocked.d.ts +2 -2
- package/dist/types/tests/regression/RM4_17754.test.d.ts +1 -1
- package/dist/types/tests/regression/RM4_18216.test.d.ts +1 -1
- package/dist/types/tests/unit/query_contains_local_id_parser.test.d.ts +1 -1
- package/dist/types/tests/unit/query_linked_to_parser.test.d.ts +1 -1
- package/dist/types/tests/unit/query_matcher.test.d.ts +1 -1
- package/dist/types/tests/unit/query_parser_id_updater.test.d.ts +1 -1
- package/dist/types/tests/unit/query_service.test.d.ts +1 -1
- package/package.json +57 -57
- package/readme.md +16 -16
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import { ApiEnumItemType, ItemId } from '@rentman/backend-types';
|
|
2
|
-
import { ApiQuery, CollectionOptions, CollectionOptionsInterface, CollectionQuery, EntryParentNull, ItemEntry, QueryParserFactory, QueryService } from '../internal';
|
|
3
|
-
export declare class CollectionEntryService {
|
|
4
|
-
private queryParserFactory;
|
|
5
|
-
private queryService;
|
|
6
|
-
constructor(queryParserFactory: QueryParserFactory, queryService: QueryService);
|
|
7
|
-
createUnfoundLocalCollectionError(itemType: ApiEnumItemType): {
|
|
8
|
-
message: string;
|
|
9
|
-
};
|
|
10
|
-
cloneOptions(options: CollectionOptions, parent: EntryParentNull): CollectionOptions<any, import("../internal").ItemTypeColumnIds<any>>;
|
|
11
|
-
processOptions<ItemTypeType extends ApiEnumItemType>(options: CollectionOptionsInterface<ItemTypeType>): CollectionOptions;
|
|
12
|
-
createQuery(query: ApiQuery): CollectionQuery;
|
|
13
|
-
createQueryFromOptions(options: CollectionOptions): CollectionQuery;
|
|
14
|
-
createBatchedLinkToQuery(parentType: ApiEnumItemType, parentIdArray: ItemId[], options: CollectionOptions): CollectionQuery;
|
|
15
|
-
getIdArray(itemEntries: ItemEntry[], accumulator?: ItemId[]): ItemId[];
|
|
16
|
-
/**
|
|
17
|
-
* @description
|
|
18
|
-
* Filters an array of {@link ItemEntry ItemEntries} according to the callback function.
|
|
19
|
-
* Does an in-place replacement of the items in the array that do match the condition (keeping the array reference)
|
|
20
|
-
*
|
|
21
|
-
* @returns {@link ItemEntry ItemEntries} that failed the condition
|
|
22
|
-
*/
|
|
23
|
-
filterArray<T extends ItemEntry = ItemEntry>(itemEntries: T[], callback: (itemEntry: T) => boolean): T[];
|
|
24
|
-
}
|
|
1
|
+
import { ApiEnumItemType, ItemId } from '@rentman/backend-types';
|
|
2
|
+
import { ApiQuery, CollectionOptions, CollectionOptionsInterface, CollectionQuery, EntryParentNull, ItemEntry, QueryParserFactory, QueryService } from '../internal';
|
|
3
|
+
export declare class CollectionEntryService {
|
|
4
|
+
private queryParserFactory;
|
|
5
|
+
private queryService;
|
|
6
|
+
constructor(queryParserFactory: QueryParserFactory, queryService: QueryService);
|
|
7
|
+
createUnfoundLocalCollectionError(itemType: ApiEnumItemType): {
|
|
8
|
+
message: string;
|
|
9
|
+
};
|
|
10
|
+
cloneOptions(options: CollectionOptions, parent: EntryParentNull): CollectionOptions<any, import("../internal").ItemTypeColumnIds<any>>;
|
|
11
|
+
processOptions<ItemTypeType extends ApiEnumItemType>(options: CollectionOptionsInterface<ItemTypeType>): CollectionOptions;
|
|
12
|
+
createQuery(query: ApiQuery): CollectionQuery;
|
|
13
|
+
createQueryFromOptions(options: CollectionOptions): CollectionQuery;
|
|
14
|
+
createBatchedLinkToQuery(parentType: ApiEnumItemType, parentIdArray: ItemId[], options: CollectionOptions): CollectionQuery;
|
|
15
|
+
getIdArray(itemEntries: ItemEntry[], accumulator?: ItemId[]): ItemId[];
|
|
16
|
+
/**
|
|
17
|
+
* @description
|
|
18
|
+
* Filters an array of {@link ItemEntry ItemEntries} according to the callback function.
|
|
19
|
+
* Does an in-place replacement of the items in the array that do match the condition (keeping the array reference)
|
|
20
|
+
*
|
|
21
|
+
* @returns {@link ItemEntry ItemEntries} that failed the condition
|
|
22
|
+
*/
|
|
23
|
+
filterArray<T extends ItemEntry = ItemEntry>(itemEntries: T[], callback: (itemEntry: T) => boolean): T[];
|
|
24
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ApiEnumItemType, ItemId } from '@rentman/backend-types';
|
|
2
|
-
import { CollectionOptions, CollectionOptionsInterface, ItemResource } from '../internal';
|
|
3
|
-
export declare class CollectionResourceService {
|
|
4
|
-
processOptions<ItemTypeType extends ApiEnumItemType>(options: CollectionOptionsInterface<ItemTypeType>): CollectionOptions<ItemTypeType>;
|
|
5
|
-
getIdArray(itemResources: ItemResource[]): ItemId[];
|
|
6
|
-
}
|
|
1
|
+
import { ApiEnumItemType, ItemId } from '@rentman/backend-types';
|
|
2
|
+
import { CollectionOptions, CollectionOptionsInterface, ItemResource } from '../internal';
|
|
3
|
+
export declare class CollectionResourceService {
|
|
4
|
+
processOptions<ItemTypeType extends ApiEnumItemType>(options: CollectionOptionsInterface<ItemTypeType>): CollectionOptions<ItemTypeType>;
|
|
5
|
+
getIdArray(itemResources: ItemResource[]): ItemId[];
|
|
6
|
+
}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { ApiEnumItemType, ResponseColumn } from '@rentman/backend-types';
|
|
2
|
-
import { ApiRequestColumns, ColumnUtil, ResponseColumnItemTypeMap } from '../internal';
|
|
3
|
-
export declare class ColumnCache {
|
|
4
|
-
private columnUtil;
|
|
5
|
-
private cache;
|
|
6
|
-
private allColumns;
|
|
7
|
-
constructor(columnUtil: ColumnUtil);
|
|
8
|
-
setColumn(itemType: ApiEnumItemType, responseColumn: ResponseColumn): ResponseColumn;
|
|
9
|
-
setColumns(itemType: ApiEnumItemType, requestColumns: ApiRequestColumns, responseColumns: ResponseColumnItemTypeMap, columnFilter: string | false): ResponseColumnItemTypeMap;
|
|
10
|
-
retrieve(itemType: ApiEnumItemType, requestColumns: ApiRequestColumns): {
|
|
11
|
-
cached: ResponseColumnItemTypeMap;
|
|
12
|
-
missing: ApiRequestColumns;
|
|
13
|
-
};
|
|
14
|
-
containsAll(itemType: ApiEnumItemType): boolean;
|
|
15
|
-
getColumns(itemType: ApiEnumItemType): ResponseColumnItemTypeMap;
|
|
16
|
-
getColumn(itemType: ApiEnumItemType, columnId: string): ResponseColumn | undefined;
|
|
17
|
-
private retrieveColumns;
|
|
18
|
-
private retrieveColumn;
|
|
19
|
-
}
|
|
1
|
+
import { ApiEnumItemType, ResponseColumn } from '@rentman/backend-types';
|
|
2
|
+
import { ApiRequestColumns, ColumnUtil, ResponseColumnItemTypeMap } from '../internal';
|
|
3
|
+
export declare class ColumnCache {
|
|
4
|
+
private columnUtil;
|
|
5
|
+
private cache;
|
|
6
|
+
private allColumns;
|
|
7
|
+
constructor(columnUtil: ColumnUtil);
|
|
8
|
+
setColumn(itemType: ApiEnumItemType, responseColumn: ResponseColumn): ResponseColumn;
|
|
9
|
+
setColumns(itemType: ApiEnumItemType, requestColumns: ApiRequestColumns, responseColumns: ResponseColumnItemTypeMap, columnFilter: string | false): ResponseColumnItemTypeMap;
|
|
10
|
+
retrieve(itemType: ApiEnumItemType, requestColumns: ApiRequestColumns): {
|
|
11
|
+
cached: ResponseColumnItemTypeMap;
|
|
12
|
+
missing: ApiRequestColumns;
|
|
13
|
+
};
|
|
14
|
+
containsAll(itemType: ApiEnumItemType): boolean;
|
|
15
|
+
getColumns(itemType: ApiEnumItemType): ResponseColumnItemTypeMap;
|
|
16
|
+
getColumn(itemType: ApiEnumItemType, columnId: string): ResponseColumn | undefined;
|
|
17
|
+
private retrieveColumns;
|
|
18
|
+
private retrieveColumn;
|
|
19
|
+
}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import { ApiEnumItemType } from '@rentman/backend-types';
|
|
2
|
-
import { ApiRequestColumns, ColumnExpansionResult, ColumnInfo, ColumnInfoFactory, ColumnSet, ResponseColumnItemTypeMap } from '../internal';
|
|
3
|
-
/**
|
|
4
|
-
* @description
|
|
5
|
-
* A ColumnExpansion is used to make sure {@link ItemEntry ItemEntries} that have the same {@link ColumnSet ColumnSet} (matched on {@link ColumnSet.id ColumnSet.id}) will all get the same new expanded ColumnSet
|
|
6
|
-
*/
|
|
7
|
-
export declare class ColumnExpansion<ItemTypeType extends ApiEnumItemType> {
|
|
8
|
-
private columnInfoFactory;
|
|
9
|
-
itemType: ItemTypeType;
|
|
10
|
-
responseColumns: ResponseColumnItemTypeMap;
|
|
11
|
-
private expansionMap;
|
|
12
|
-
private expansionMapSize;
|
|
13
|
-
private requestColumnsTrue;
|
|
14
|
-
private requestColumns;
|
|
15
|
-
constructor(columnInfoFactory: ColumnInfoFactory, itemType: ItemTypeType, requestColumns: ApiRequestColumns, responseColumns: ResponseColumnItemTypeMap);
|
|
16
|
-
run(columnSet: ColumnSet<ItemTypeType>): ColumnExpansionResult<ItemTypeType> | null;
|
|
17
|
-
aggregateRootColumns(): ColumnInfo<ItemTypeType>[];
|
|
18
|
-
private expandRootColumnMap;
|
|
19
|
-
}
|
|
1
|
+
import { ApiEnumItemType } from '@rentman/backend-types';
|
|
2
|
+
import { ApiRequestColumns, ColumnExpansionResult, ColumnInfo, ColumnInfoFactory, ColumnSet, ResponseColumnItemTypeMap } from '../internal';
|
|
3
|
+
/**
|
|
4
|
+
* @description
|
|
5
|
+
* A ColumnExpansion is used to make sure {@link ItemEntry ItemEntries} that have the same {@link ColumnSet ColumnSet} (matched on {@link ColumnSet.id ColumnSet.id}) will all get the same new expanded ColumnSet
|
|
6
|
+
*/
|
|
7
|
+
export declare class ColumnExpansion<ItemTypeType extends ApiEnumItemType> {
|
|
8
|
+
private columnInfoFactory;
|
|
9
|
+
itemType: ItemTypeType;
|
|
10
|
+
responseColumns: ResponseColumnItemTypeMap;
|
|
11
|
+
private expansionMap;
|
|
12
|
+
private expansionMapSize;
|
|
13
|
+
private requestColumnsTrue;
|
|
14
|
+
private requestColumns;
|
|
15
|
+
constructor(columnInfoFactory: ColumnInfoFactory, itemType: ItemTypeType, requestColumns: ApiRequestColumns, responseColumns: ResponseColumnItemTypeMap);
|
|
16
|
+
run(columnSet: ColumnSet<ItemTypeType>): ColumnExpansionResult<ItemTypeType> | null;
|
|
17
|
+
aggregateRootColumns(): ColumnInfo<ItemTypeType>[];
|
|
18
|
+
private expandRootColumnMap;
|
|
19
|
+
}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { ApiEnumItemType, ResponseColumn } from '@rentman/backend-types';
|
|
2
|
-
import { ApiRequestColumns, ApiRequestService, ColumnCache, ColumnUtil, ErrorHandlerInterface, PromiseInterface, PromiseLibraryInterface, ResponseColumnItemTypeMap } from '../internal';
|
|
3
|
-
export declare class ColumnHandler {
|
|
4
|
-
private apiRequestService;
|
|
5
|
-
private errorHandler;
|
|
6
|
-
private promiseService;
|
|
7
|
-
private cache;
|
|
8
|
-
private columnUtil;
|
|
9
|
-
constructor(apiRequestService: ApiRequestService, errorHandler: ErrorHandlerInterface, promiseService: PromiseLibraryInterface, cache: ColumnCache, columnUtil: ColumnUtil);
|
|
10
|
-
setColumn(itemType: ApiEnumItemType, responseColumn: ResponseColumn): ResponseColumn;
|
|
11
|
-
setColumns(itemType: ApiEnumItemType, requestColumns: ApiRequestColumns, responseColumns: ResponseColumnItemTypeMap, filter?: string | false): ResponseColumnItemTypeMap;
|
|
12
|
-
fetchItemTypeTranslations(itemTypes: ApiEnumItemType[]): PromiseInterface<{
|
|
13
|
-
[itemType: string]: string;
|
|
14
|
-
}>;
|
|
15
|
-
request(itemType: ApiEnumItemType, columns: ApiRequestColumns, params?: {
|
|
16
|
-
filter: string | false;
|
|
17
|
-
}): PromiseInterface<ResponseColumnItemTypeMap>;
|
|
18
|
-
fetch(itemType: ApiEnumItemType, requestColumns: ApiRequestColumns, params?: any): PromiseInterface<ResponseColumnItemTypeMap>;
|
|
19
|
-
fetchAll(itemType: ApiEnumItemType): PromiseInterface<ResponseColumnItemTypeMap>;
|
|
20
|
-
}
|
|
1
|
+
import { ApiEnumItemType, ResponseColumn } from '@rentman/backend-types';
|
|
2
|
+
import { ApiRequestColumns, ApiRequestService, ColumnCache, ColumnUtil, ErrorHandlerInterface, PromiseInterface, PromiseLibraryInterface, ResponseColumnItemTypeMap } from '../internal';
|
|
3
|
+
export declare class ColumnHandler {
|
|
4
|
+
private apiRequestService;
|
|
5
|
+
private errorHandler;
|
|
6
|
+
private promiseService;
|
|
7
|
+
private cache;
|
|
8
|
+
private columnUtil;
|
|
9
|
+
constructor(apiRequestService: ApiRequestService, errorHandler: ErrorHandlerInterface, promiseService: PromiseLibraryInterface, cache: ColumnCache, columnUtil: ColumnUtil);
|
|
10
|
+
setColumn(itemType: ApiEnumItemType, responseColumn: ResponseColumn): ResponseColumn;
|
|
11
|
+
setColumns(itemType: ApiEnumItemType, requestColumns: ApiRequestColumns, responseColumns: ResponseColumnItemTypeMap, filter?: string | false): ResponseColumnItemTypeMap;
|
|
12
|
+
fetchItemTypeTranslations(itemTypes: ApiEnumItemType[]): PromiseInterface<{
|
|
13
|
+
[itemType: string]: string;
|
|
14
|
+
}>;
|
|
15
|
+
request(itemType: ApiEnumItemType, columns: ApiRequestColumns, params?: {
|
|
16
|
+
filter: string | false;
|
|
17
|
+
}): PromiseInterface<ResponseColumnItemTypeMap>;
|
|
18
|
+
fetch(itemType: ApiEnumItemType, requestColumns: ApiRequestColumns, params?: any): PromiseInterface<ResponseColumnItemTypeMap>;
|
|
19
|
+
fetchAll(itemType: ApiEnumItemType): PromiseInterface<ResponseColumnItemTypeMap>;
|
|
20
|
+
}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { ApiEnumItemType, GetColumnType } from '@rentman/backend-types';
|
|
2
|
-
import { ItemTypeColumnId } from '..';
|
|
3
|
-
export declare class ColumnInfo<ItemTypeType extends ApiEnumItemType = any, ColumnId extends ItemTypeColumnId<ItemTypeType> = any> {
|
|
4
|
-
readonly apiColumn: GetColumnType<ItemTypeType, ColumnId>;
|
|
5
|
-
readonly parent: ColumnInfo | null;
|
|
6
|
-
id: ColumnId;
|
|
7
|
-
level: number;
|
|
8
|
-
path: string;
|
|
9
|
-
tailPath: string;
|
|
10
|
-
itemType: ItemTypeType | null;
|
|
11
|
-
children: ColumnInfo<ItemTypeType>[];
|
|
12
|
-
isLeaf: boolean;
|
|
13
|
-
constructor(apiColumn: GetColumnType<ItemTypeType, ColumnId>, parent?: ColumnInfo | null);
|
|
14
|
-
setChildren(itemType: ItemTypeType, children: ColumnInfo<ItemTypeType>[]): this;
|
|
15
|
-
}
|
|
1
|
+
import { ApiEnumItemType, GetColumnType } from '@rentman/backend-types';
|
|
2
|
+
import { ItemTypeColumnId } from '..';
|
|
3
|
+
export declare class ColumnInfo<ItemTypeType extends ApiEnumItemType = any, ColumnId extends ItemTypeColumnId<ItemTypeType> = any> {
|
|
4
|
+
readonly apiColumn: GetColumnType<ItemTypeType, ColumnId>;
|
|
5
|
+
readonly parent: ColumnInfo | null;
|
|
6
|
+
id: ColumnId;
|
|
7
|
+
level: number;
|
|
8
|
+
path: string;
|
|
9
|
+
tailPath: string;
|
|
10
|
+
itemType: ItemTypeType | null;
|
|
11
|
+
children: ColumnInfo<ItemTypeType>[];
|
|
12
|
+
isLeaf: boolean;
|
|
13
|
+
constructor(apiColumn: GetColumnType<ItemTypeType, ColumnId>, parent?: ColumnInfo | null);
|
|
14
|
+
setChildren(itemType: ItemTypeType, children: ColumnInfo<ItemTypeType>[]): this;
|
|
15
|
+
}
|
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
import { ApiEnumItemType } from '@rentman/backend-types';
|
|
2
|
-
import { ApiRequestColumns, ColumnExpansionResult, ColumnInfo, ColumnSetFactory, ColumnUtil, RequestColumnMergeResult, ResponseColumnItemTypeMap } from '../internal';
|
|
3
|
-
export declare class ColumnSet<ItemTypeType extends ApiEnumItemType = any> {
|
|
4
|
-
private columnUtil;
|
|
5
|
-
private columnSetFactory;
|
|
6
|
-
itemType: ItemTypeType;
|
|
7
|
-
id: number;
|
|
8
|
-
request: ApiRequestColumns;
|
|
9
|
-
requestColumnsTrue: boolean;
|
|
10
|
-
response: ResponseColumnItemTypeMap;
|
|
11
|
-
link: ColumnInfo<ItemTypeType> | null;
|
|
12
|
-
main: ColumnInfo<ItemTypeType>[];
|
|
13
|
-
derived: ColumnInfo<ItemTypeType>[];
|
|
14
|
-
root: ColumnInfo<ItemTypeType>[];
|
|
15
|
-
leaf: ColumnInfo<ItemTypeType>[];
|
|
16
|
-
formatted: {
|
|
17
|
-
main: ColumnInfo<ItemTypeType>[];
|
|
18
|
-
derived: ColumnInfo<ItemTypeType>[];
|
|
19
|
-
};
|
|
20
|
-
filtered: ColumnInfo<ItemTypeType>[];
|
|
21
|
-
custom: ColumnInfo<ItemTypeType>[];
|
|
22
|
-
searchable: ColumnInfo<ItemTypeType>[];
|
|
23
|
-
item: ColumnInfo<ItemTypeType>[];
|
|
24
|
-
notItem: ColumnInfo<ItemTypeType>[];
|
|
25
|
-
constructor(columnUtil: ColumnUtil, columnSetFactory: ColumnSetFactory, itemType: ItemTypeType);
|
|
26
|
-
groupColumnInfo(columnInfo: ColumnInfo): void;
|
|
27
|
-
toJSON(): {
|
|
28
|
-
main: any[];
|
|
29
|
-
derived: any[];
|
|
30
|
-
};
|
|
31
|
-
isSupersetOf(columnsToCompare: ApiRequestColumns): boolean;
|
|
32
|
-
mergeRequestColumns(requestColumns: ApiRequestColumns): RequestColumnMergeResult;
|
|
33
|
-
mergeResponseColumns(responseColumns: ResponseColumnItemTypeMap): ResponseColumnItemTypeMap;
|
|
34
|
-
merge(columnSet: ColumnSet<ItemTypeType>): ColumnSet<ItemTypeType>;
|
|
35
|
-
expand(requestColumns: ApiRequestColumns, requestColumnsTrue: boolean, responseColumns: ResponseColumnItemTypeMap): ColumnExpansionResult<ItemTypeType>;
|
|
36
|
-
private getMergedColumnSet;
|
|
37
|
-
}
|
|
1
|
+
import { ApiEnumItemType } from '@rentman/backend-types';
|
|
2
|
+
import { ApiRequestColumns, ColumnExpansionResult, ColumnInfo, ColumnSetFactory, ColumnUtil, RequestColumnMergeResult, ResponseColumnItemTypeMap } from '../internal';
|
|
3
|
+
export declare class ColumnSet<ItemTypeType extends ApiEnumItemType = any> {
|
|
4
|
+
private columnUtil;
|
|
5
|
+
private columnSetFactory;
|
|
6
|
+
itemType: ItemTypeType;
|
|
7
|
+
id: number;
|
|
8
|
+
request: ApiRequestColumns;
|
|
9
|
+
requestColumnsTrue: boolean;
|
|
10
|
+
response: ResponseColumnItemTypeMap;
|
|
11
|
+
link: ColumnInfo<ItemTypeType> | null;
|
|
12
|
+
main: ColumnInfo<ItemTypeType>[];
|
|
13
|
+
derived: ColumnInfo<ItemTypeType>[];
|
|
14
|
+
root: ColumnInfo<ItemTypeType>[];
|
|
15
|
+
leaf: ColumnInfo<ItemTypeType>[];
|
|
16
|
+
formatted: {
|
|
17
|
+
main: ColumnInfo<ItemTypeType>[];
|
|
18
|
+
derived: ColumnInfo<ItemTypeType>[];
|
|
19
|
+
};
|
|
20
|
+
filtered: ColumnInfo<ItemTypeType>[];
|
|
21
|
+
custom: ColumnInfo<ItemTypeType>[];
|
|
22
|
+
searchable: ColumnInfo<ItemTypeType>[];
|
|
23
|
+
item: ColumnInfo<ItemTypeType>[];
|
|
24
|
+
notItem: ColumnInfo<ItemTypeType>[];
|
|
25
|
+
constructor(columnUtil: ColumnUtil, columnSetFactory: ColumnSetFactory, itemType: ItemTypeType);
|
|
26
|
+
groupColumnInfo(columnInfo: ColumnInfo): void;
|
|
27
|
+
toJSON(): {
|
|
28
|
+
main: any[];
|
|
29
|
+
derived: any[];
|
|
30
|
+
};
|
|
31
|
+
isSupersetOf(columnsToCompare: ApiRequestColumns): boolean;
|
|
32
|
+
mergeRequestColumns(requestColumns: ApiRequestColumns): RequestColumnMergeResult;
|
|
33
|
+
mergeResponseColumns(responseColumns: ResponseColumnItemTypeMap): ResponseColumnItemTypeMap;
|
|
34
|
+
merge(columnSet: ColumnSet<ItemTypeType>): ColumnSet<ItemTypeType>;
|
|
35
|
+
expand(requestColumns: ApiRequestColumns, requestColumnsTrue: boolean, responseColumns: ResponseColumnItemTypeMap): ColumnExpansionResult<ItemTypeType>;
|
|
36
|
+
private getMergedColumnSet;
|
|
37
|
+
}
|
|
@@ -1,108 +1,108 @@
|
|
|
1
|
-
import { ApiEnumApiType, ApiEnumItemType, ApiFields, ResponseColumn, ResponseColumnCustom, ResponseColumnItem } from '@rentman/backend-types';
|
|
2
|
-
import { ApiRequestColumn, ApiRequestColumnArray, ApiRequestColumns, LinkTreeServiceInterface, MutableApiRequestColumnArray, RequestColumnsTuple, ResponseColumnItemTypeMap, ResponseColumnMap } from '../internal';
|
|
3
|
-
export declare type RequestColumnMergeResult<T extends ApiRequestColumns = ApiRequestColumns, U extends ApiRequestColumns = ApiRequestColumns> = {
|
|
4
|
-
merged: T;
|
|
5
|
-
difference: U;
|
|
6
|
-
};
|
|
7
|
-
/**
|
|
8
|
-
* @description
|
|
9
|
-
* A service which provides functions to help on {@link ResponseColumn ResponseColumns}
|
|
10
|
-
*
|
|
11
|
-
* @warning
|
|
12
|
-
* The code in these functions can be *very hot* on large databases, therefore performance must be kept in mind.
|
|
13
|
-
* This is also the reason why all column types are written out instead of using the enum
|
|
14
|
-
*/
|
|
15
|
-
export declare class ColumnUtil {
|
|
16
|
-
private linkTreeService;
|
|
17
|
-
constructor(linkTreeService: LinkTreeServiceInterface);
|
|
18
|
-
getColumnIdsWithRelations(itemType: ApiEnumItemType): ApiRequestColumn[];
|
|
19
|
-
/**
|
|
20
|
-
* @description
|
|
21
|
-
* Checks the {@link ApiLinkTree LinkTree} and returns the link columnIds for the given ItemType
|
|
22
|
-
*
|
|
23
|
-
* @remark
|
|
24
|
-
* - For {@link ApiLinkTreeType.DIRECT direct links} it will be a columnId
|
|
25
|
-
* - For {@link ApiLinkTreeType.ITEMTABLE itemtable links} it will be 'itemtype' and 'item'
|
|
26
|
-
*/
|
|
27
|
-
getColumnsFromLink<ChildItemType extends ApiEnumItemType>(parentType: ApiEnumItemType, itemType: ChildItemType): ApiRequestColumn[];
|
|
28
|
-
getColumnPath(columns: ResponseColumn[], renderAs: null | string): string;
|
|
29
|
-
getDateFormatOptions(columnType?: 'datetime'): {
|
|
30
|
-
'J-M-Y': string;
|
|
31
|
-
'J-M': string;
|
|
32
|
-
'j+F+Y': string;
|
|
33
|
-
'D+j+F+Y': string;
|
|
34
|
-
F: string;
|
|
35
|
-
f: string;
|
|
36
|
-
D: string;
|
|
37
|
-
d: string;
|
|
38
|
-
};
|
|
39
|
-
isStringColumn(column: ResponseColumn): boolean;
|
|
40
|
-
isFloatColumn(column: ResponseColumn): boolean;
|
|
41
|
-
isIntColumn(column: ResponseColumn): boolean;
|
|
42
|
-
isNumberColumn(column: ResponseColumn): boolean;
|
|
43
|
-
isCustomColumn<ItemTypeType extends ApiEnumItemType, ColumnId extends keyof ApiFields[ItemTypeType]>(column: ResponseColumn<ItemTypeType, ColumnId>): column is ResponseColumnCustom<ItemTypeType, ColumnId>;
|
|
44
|
-
isAggregateColumn(column: ResponseColumn): boolean;
|
|
45
|
-
isItemColumn<ItemTypeType extends ApiEnumItemType, ColumnId extends keyof ApiFields[ItemTypeType]>(column: ResponseColumn<ItemTypeType, ColumnId>, includeId?: boolean): column is ResponseColumnItem<ItemTypeType, ColumnId>;
|
|
46
|
-
isDateColumn(column: ResponseColumn): boolean;
|
|
47
|
-
isRenderedColumn(column: ResponseColumn): boolean;
|
|
48
|
-
isFilteredColumn(column: ResponseColumn): boolean;
|
|
49
|
-
isFormattedColumn(column: ResponseColumn): boolean;
|
|
50
|
-
isSelectableColumn(column: ResponseColumn): boolean;
|
|
51
|
-
hasLocationProperty(column: ResponseColumn, location: number): boolean;
|
|
52
|
-
isEditableColumn(column: ResponseColumn): boolean;
|
|
53
|
-
isSearchableColumn(column: ResponseColumn): boolean;
|
|
54
|
-
getComparators(column: ResponseColumn & {
|
|
55
|
-
type: ApiEnumApiType.TYPE_DIMENSION | ApiEnumApiType.TYPE_WEIGHT | ApiEnumApiType.TYPE_PRICE;
|
|
56
|
-
}): ['=', '>', '<'];
|
|
57
|
-
getComparators(column: ResponseColumn & {
|
|
58
|
-
type: ApiEnumApiType.TYPE_DATE | ApiEnumApiType.TYPE_DATETIME | ApiEnumApiType.TYPE_DURATION;
|
|
59
|
-
}): ['>', '<'];
|
|
60
|
-
getComparators(column: ResponseColumn): ['=', '!='];
|
|
61
|
-
containsColumn(requestColumn: ApiRequestColumn, destination: ApiRequestColumnArray): boolean;
|
|
62
|
-
containsDerivedColumns(requestColumns: ApiRequestColumnArray): boolean;
|
|
63
|
-
responseColumnsAvailable(itemType: ApiEnumItemType, requestColumns: ApiRequestColumnArray, responseColumnMap: ResponseColumnItemTypeMap): boolean;
|
|
64
|
-
copyRequestColumns(columns: true): true;
|
|
65
|
-
copyRequestColumns(columns: ApiRequestColumns): ApiRequestColumns;
|
|
66
|
-
copyRequestColumn(requestColumn: ApiRequestColumn): ApiRequestColumn;
|
|
67
|
-
mergeRequestColumns(first: true, second: ApiRequestColumns): RequestColumnMergeResult<true, []>;
|
|
68
|
-
mergeRequestColumns(first: ApiRequestColumnArray, second: true): RequestColumnMergeResult<true, true>;
|
|
69
|
-
mergeRequestColumns(first: ApiRequestColumnArray, second: ApiRequestColumnArray): RequestColumnMergeResult<ApiRequestColumnArray, ApiRequestColumnArray>;
|
|
70
|
-
mergeRequestColumns(first: ApiRequestColumns, second: ApiRequestColumns): RequestColumnMergeResult;
|
|
71
|
-
mergeRequestColumn(requestColumn: ApiRequestColumn, destination: MutableApiRequestColumnArray): ApiRequestColumn | null;
|
|
72
|
-
createRequestColumnSetId(requestColumns: ApiRequestColumns): RequestColumnsTuple['string'];
|
|
73
|
-
private createRequestColumnId;
|
|
74
|
-
getRequestColumnId(requestColumn: ApiRequestColumn): string;
|
|
75
|
-
parseRequestColumn(requestColumn: ApiRequestColumn): {
|
|
76
|
-
id: string;
|
|
77
|
-
children: ApiRequestColumnArray;
|
|
78
|
-
};
|
|
79
|
-
/**
|
|
80
|
-
* @description
|
|
81
|
-
* Merges two sets of {@link ResponseColumnItemTypeMap ResponseColumnItemTypeMaps}.
|
|
82
|
-
*
|
|
83
|
-
* @returns
|
|
84
|
-
* - Merged: The merged set of columns
|
|
85
|
-
* - Difference: Columns that are in second, but not in first
|
|
86
|
-
*/
|
|
87
|
-
mergeResponseColumns(first: ResponseColumnItemTypeMap, second: ResponseColumnItemTypeMap): {
|
|
88
|
-
merged: ResponseColumnItemTypeMap;
|
|
89
|
-
difference: ResponseColumnItemTypeMap;
|
|
90
|
-
};
|
|
91
|
-
/**
|
|
92
|
-
* @description
|
|
93
|
-
* Merges two sets of {@link ResponseColumnMap response columns}.
|
|
94
|
-
*
|
|
95
|
-
* @returns
|
|
96
|
-
* - Merged: The merged set of columns
|
|
97
|
-
* - Difference: Columns that are in second, but not in first
|
|
98
|
-
*/
|
|
99
|
-
mergeResponseColumnMap(first: ResponseColumnMap, second: ResponseColumnMap): {
|
|
100
|
-
merged: ResponseColumnMap;
|
|
101
|
-
difference: ResponseColumnMap;
|
|
102
|
-
};
|
|
103
|
-
isLocalColumnId(columnId: string): boolean;
|
|
104
|
-
processConfigColumns(configColumns: string[]): ApiRequestColumn[];
|
|
105
|
-
parseConfigColumn(configColumn: string): string[];
|
|
106
|
-
processConfigColumn(parsedConfigColumn: string[], destination: MutableApiRequestColumnArray): void;
|
|
107
|
-
findRequestColumn(columnId: string, requestColumns: ApiRequestColumnArray): number;
|
|
108
|
-
}
|
|
1
|
+
import { ApiEnumApiType, ApiEnumItemType, ApiFields, ResponseColumn, ResponseColumnCustom, ResponseColumnItem } from '@rentman/backend-types';
|
|
2
|
+
import { ApiRequestColumn, ApiRequestColumnArray, ApiRequestColumns, LinkTreeServiceInterface, MutableApiRequestColumnArray, RequestColumnsTuple, ResponseColumnItemTypeMap, ResponseColumnMap } from '../internal';
|
|
3
|
+
export declare type RequestColumnMergeResult<T extends ApiRequestColumns = ApiRequestColumns, U extends ApiRequestColumns = ApiRequestColumns> = {
|
|
4
|
+
merged: T;
|
|
5
|
+
difference: U;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* @description
|
|
9
|
+
* A service which provides functions to help on {@link ResponseColumn ResponseColumns}
|
|
10
|
+
*
|
|
11
|
+
* @warning
|
|
12
|
+
* The code in these functions can be *very hot* on large databases, therefore performance must be kept in mind.
|
|
13
|
+
* This is also the reason why all column types are written out instead of using the enum
|
|
14
|
+
*/
|
|
15
|
+
export declare class ColumnUtil {
|
|
16
|
+
private linkTreeService;
|
|
17
|
+
constructor(linkTreeService: LinkTreeServiceInterface);
|
|
18
|
+
getColumnIdsWithRelations(itemType: ApiEnumItemType): ApiRequestColumn[];
|
|
19
|
+
/**
|
|
20
|
+
* @description
|
|
21
|
+
* Checks the {@link ApiLinkTree LinkTree} and returns the link columnIds for the given ItemType
|
|
22
|
+
*
|
|
23
|
+
* @remark
|
|
24
|
+
* - For {@link ApiLinkTreeType.DIRECT direct links} it will be a columnId
|
|
25
|
+
* - For {@link ApiLinkTreeType.ITEMTABLE itemtable links} it will be 'itemtype' and 'item'
|
|
26
|
+
*/
|
|
27
|
+
getColumnsFromLink<ChildItemType extends ApiEnumItemType>(parentType: ApiEnumItemType, itemType: ChildItemType): ApiRequestColumn[];
|
|
28
|
+
getColumnPath(columns: ResponseColumn[], renderAs: null | string): string;
|
|
29
|
+
getDateFormatOptions(columnType?: 'datetime'): {
|
|
30
|
+
'J-M-Y': string;
|
|
31
|
+
'J-M': string;
|
|
32
|
+
'j+F+Y': string;
|
|
33
|
+
'D+j+F+Y': string;
|
|
34
|
+
F: string;
|
|
35
|
+
f: string;
|
|
36
|
+
D: string;
|
|
37
|
+
d: string;
|
|
38
|
+
};
|
|
39
|
+
isStringColumn(column: ResponseColumn): boolean;
|
|
40
|
+
isFloatColumn(column: ResponseColumn): boolean;
|
|
41
|
+
isIntColumn(column: ResponseColumn): boolean;
|
|
42
|
+
isNumberColumn(column: ResponseColumn): boolean;
|
|
43
|
+
isCustomColumn<ItemTypeType extends ApiEnumItemType, ColumnId extends keyof ApiFields[ItemTypeType]>(column: ResponseColumn<ItemTypeType, ColumnId>): column is ResponseColumnCustom<ItemTypeType, ColumnId>;
|
|
44
|
+
isAggregateColumn(column: ResponseColumn): boolean;
|
|
45
|
+
isItemColumn<ItemTypeType extends ApiEnumItemType, ColumnId extends keyof ApiFields[ItemTypeType]>(column: ResponseColumn<ItemTypeType, ColumnId>, includeId?: boolean): column is ResponseColumnItem<ItemTypeType, ColumnId>;
|
|
46
|
+
isDateColumn(column: ResponseColumn): boolean;
|
|
47
|
+
isRenderedColumn(column: ResponseColumn): boolean;
|
|
48
|
+
isFilteredColumn(column: ResponseColumn): boolean;
|
|
49
|
+
isFormattedColumn(column: ResponseColumn): boolean;
|
|
50
|
+
isSelectableColumn(column: ResponseColumn): boolean;
|
|
51
|
+
hasLocationProperty(column: ResponseColumn, location: number): boolean;
|
|
52
|
+
isEditableColumn(column: ResponseColumn): boolean;
|
|
53
|
+
isSearchableColumn(column: ResponseColumn): boolean;
|
|
54
|
+
getComparators(column: ResponseColumn & {
|
|
55
|
+
type: ApiEnumApiType.TYPE_DIMENSION | ApiEnumApiType.TYPE_WEIGHT | ApiEnumApiType.TYPE_PRICE;
|
|
56
|
+
}): ['=', '>', '<'];
|
|
57
|
+
getComparators(column: ResponseColumn & {
|
|
58
|
+
type: ApiEnumApiType.TYPE_DATE | ApiEnumApiType.TYPE_DATETIME | ApiEnumApiType.TYPE_DURATION;
|
|
59
|
+
}): ['>', '<'];
|
|
60
|
+
getComparators(column: ResponseColumn): ['=', '!='];
|
|
61
|
+
containsColumn(requestColumn: ApiRequestColumn, destination: ApiRequestColumnArray): boolean;
|
|
62
|
+
containsDerivedColumns(requestColumns: ApiRequestColumnArray): boolean;
|
|
63
|
+
responseColumnsAvailable(itemType: ApiEnumItemType, requestColumns: ApiRequestColumnArray, responseColumnMap: ResponseColumnItemTypeMap): boolean;
|
|
64
|
+
copyRequestColumns(columns: true): true;
|
|
65
|
+
copyRequestColumns(columns: ApiRequestColumns): ApiRequestColumns;
|
|
66
|
+
copyRequestColumn(requestColumn: ApiRequestColumn): ApiRequestColumn;
|
|
67
|
+
mergeRequestColumns(first: true, second: ApiRequestColumns): RequestColumnMergeResult<true, []>;
|
|
68
|
+
mergeRequestColumns(first: ApiRequestColumnArray, second: true): RequestColumnMergeResult<true, true>;
|
|
69
|
+
mergeRequestColumns(first: ApiRequestColumnArray, second: ApiRequestColumnArray): RequestColumnMergeResult<ApiRequestColumnArray, ApiRequestColumnArray>;
|
|
70
|
+
mergeRequestColumns(first: ApiRequestColumns, second: ApiRequestColumns): RequestColumnMergeResult;
|
|
71
|
+
mergeRequestColumn(requestColumn: ApiRequestColumn, destination: MutableApiRequestColumnArray): ApiRequestColumn | null;
|
|
72
|
+
createRequestColumnSetId(requestColumns: ApiRequestColumns): RequestColumnsTuple['string'];
|
|
73
|
+
private createRequestColumnId;
|
|
74
|
+
getRequestColumnId(requestColumn: ApiRequestColumn): string;
|
|
75
|
+
parseRequestColumn(requestColumn: ApiRequestColumn): {
|
|
76
|
+
id: string;
|
|
77
|
+
children: ApiRequestColumnArray;
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* @description
|
|
81
|
+
* Merges two sets of {@link ResponseColumnItemTypeMap ResponseColumnItemTypeMaps}.
|
|
82
|
+
*
|
|
83
|
+
* @returns
|
|
84
|
+
* - Merged: The merged set of columns
|
|
85
|
+
* - Difference: Columns that are in second, but not in first
|
|
86
|
+
*/
|
|
87
|
+
mergeResponseColumns(first: ResponseColumnItemTypeMap, second: ResponseColumnItemTypeMap): {
|
|
88
|
+
merged: ResponseColumnItemTypeMap;
|
|
89
|
+
difference: ResponseColumnItemTypeMap;
|
|
90
|
+
};
|
|
91
|
+
/**
|
|
92
|
+
* @description
|
|
93
|
+
* Merges two sets of {@link ResponseColumnMap response columns}.
|
|
94
|
+
*
|
|
95
|
+
* @returns
|
|
96
|
+
* - Merged: The merged set of columns
|
|
97
|
+
* - Difference: Columns that are in second, but not in first
|
|
98
|
+
*/
|
|
99
|
+
mergeResponseColumnMap(first: ResponseColumnMap, second: ResponseColumnMap): {
|
|
100
|
+
merged: ResponseColumnMap;
|
|
101
|
+
difference: ResponseColumnMap;
|
|
102
|
+
};
|
|
103
|
+
isLocalColumnId(columnId: string): boolean;
|
|
104
|
+
processConfigColumns(configColumns: string[]): ApiRequestColumn[];
|
|
105
|
+
parseConfigColumn(configColumn: string): string[];
|
|
106
|
+
processConfigColumn(parsedConfigColumn: string[], destination: MutableApiRequestColumnArray): void;
|
|
107
|
+
findRequestColumn(columnId: string, requestColumns: ApiRequestColumnArray): number;
|
|
108
|
+
}
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import { ApiEnumItemType, ItemId } from '@rentman/backend-types';
|
|
2
|
-
import { ApiResponse, ColumnInfo, EntryParentNull, FieldMap, ItemEntry, ItemIdConversionMap, KeyService } from '../internal';
|
|
3
|
-
/**
|
|
4
|
-
* @description A 'ConversionMap' is used to update a set of item IDs to another. This happens when processing back-end
|
|
5
|
-
* responses (create / template) or cloning items in the front-end. A conversion map is grouped by item type, as item
|
|
6
|
-
* ID's are not unique across types.
|
|
7
|
-
*
|
|
8
|
-
* TODO: In the future, we should create a class and a 'ConversionMapFactory'.
|
|
9
|
-
*/
|
|
10
|
-
export declare class ConversionMapService {
|
|
11
|
-
private keyService;
|
|
12
|
-
constructor(keyService: KeyService);
|
|
13
|
-
createLocalConversionMap(itemType: ApiEnumItemType, itemId: ItemId, doExtend: boolean | undefined, apiResponse: ApiResponse): ItemIdConversionMap;
|
|
14
|
-
expandLocalConversionMap(parentType: ApiEnumItemType, parentId: ItemId, apiResponse: ApiResponse, conversionMap: ItemIdConversionMap): void;
|
|
15
|
-
expandConversionMap(itemType: ApiEnumItemType, itemId: ItemId, conversionMap: ItemIdConversionMap, newItemId?: ItemId): ItemId;
|
|
16
|
-
batchExpandConversionMap(itemEntries: ItemEntry<any>[], conversionMap: ItemIdConversionMap): ItemIdConversionMap;
|
|
17
|
-
getConversionValue(itemType: ApiEnumItemType, itemId: ItemId, map: ItemIdConversionMap): ItemId | undefined;
|
|
18
|
-
/**
|
|
19
|
-
* @description
|
|
20
|
-
* Updates the columns in `fields` using the `parent` and `conversionMap`.
|
|
21
|
-
*
|
|
22
|
-
* @param parent - When retrieving an item the 'link' column is not present in the template response, and is added at a later stage. The value for this column can be read from this parameter.
|
|
23
|
-
*/
|
|
24
|
-
updateItemValues<ItemTypeType extends ApiEnumItemType>(source: FieldMap<ItemTypeType>, destination: FieldMap<ItemTypeType>, itemColumns: ColumnInfo<ItemTypeType>[], conversionMap: ItemIdConversionMap, parent?: EntryParentNull): void;
|
|
25
|
-
}
|
|
1
|
+
import { ApiEnumItemType, ItemId } from '@rentman/backend-types';
|
|
2
|
+
import { ApiResponse, ColumnInfo, EntryParentNull, FieldMap, ItemEntry, ItemIdConversionMap, KeyService } from '../internal';
|
|
3
|
+
/**
|
|
4
|
+
* @description A 'ConversionMap' is used to update a set of item IDs to another. This happens when processing back-end
|
|
5
|
+
* responses (create / template) or cloning items in the front-end. A conversion map is grouped by item type, as item
|
|
6
|
+
* ID's are not unique across types.
|
|
7
|
+
*
|
|
8
|
+
* TODO: In the future, we should create a class and a 'ConversionMapFactory'.
|
|
9
|
+
*/
|
|
10
|
+
export declare class ConversionMapService {
|
|
11
|
+
private keyService;
|
|
12
|
+
constructor(keyService: KeyService);
|
|
13
|
+
createLocalConversionMap(itemType: ApiEnumItemType, itemId: ItemId, doExtend: boolean | undefined, apiResponse: ApiResponse): ItemIdConversionMap;
|
|
14
|
+
expandLocalConversionMap(parentType: ApiEnumItemType, parentId: ItemId, apiResponse: ApiResponse, conversionMap: ItemIdConversionMap): void;
|
|
15
|
+
expandConversionMap(itemType: ApiEnumItemType, itemId: ItemId, conversionMap: ItemIdConversionMap, newItemId?: ItemId): ItemId;
|
|
16
|
+
batchExpandConversionMap(itemEntries: ItemEntry<any>[], conversionMap: ItemIdConversionMap): ItemIdConversionMap;
|
|
17
|
+
getConversionValue(itemType: ApiEnumItemType, itemId: ItemId, map: ItemIdConversionMap): ItemId | undefined;
|
|
18
|
+
/**
|
|
19
|
+
* @description
|
|
20
|
+
* Updates the columns in `fields` using the `parent` and `conversionMap`.
|
|
21
|
+
*
|
|
22
|
+
* @param parent - When retrieving an item the 'link' column is not present in the template response, and is added at a later stage. The value for this column can be read from this parameter.
|
|
23
|
+
*/
|
|
24
|
+
updateItemValues<ItemTypeType extends ApiEnumItemType>(source: FieldMap<ItemTypeType>, destination: FieldMap<ItemTypeType>, itemColumns: ColumnInfo<ItemTypeType>[], conversionMap: ItemIdConversionMap, parent?: EntryParentNull): void;
|
|
25
|
+
}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { ApiEnumItemType } from '@rentman/backend-types';
|
|
2
|
-
import { ApiFormatter, CreateCompilation, CreateRequestCompilationParent, CreateRequestEntry, KeyService, RequestColumnExpansionFactory, TransactionCache } from '../internal';
|
|
3
|
-
export declare class CreateRequest<ItemTypeType extends ApiEnumItemType> {
|
|
4
|
-
private apiFormatter;
|
|
5
|
-
private keyService;
|
|
6
|
-
private requestColumnExpansionFactory;
|
|
7
|
-
private compilation;
|
|
8
|
-
private transaction;
|
|
9
|
-
private breakupByParent;
|
|
10
|
-
requests: CreateRequestEntry<ItemTypeType>[];
|
|
11
|
-
constructor(apiFormatter: ApiFormatter, keyService: KeyService, requestColumnExpansionFactory: RequestColumnExpansionFactory, compilation: CreateCompilation, transaction: TransactionCache, breakupByParent?: boolean);
|
|
12
|
-
finalizeRequest(requestResource: CreateRequestEntry<ItemTypeType>): CreateRequestEntry<ItemTypeType>;
|
|
13
|
-
setRequestParent(parentType: CreateRequestCompilationParent, requestEntry: CreateRequestEntry<ItemTypeType>): boolean;
|
|
14
|
-
run(): CreateRequestEntry<ItemTypeType>[];
|
|
15
|
-
initializeRequest(): CreateRequestEntry<ItemTypeType>;
|
|
16
|
-
private extendRequest;
|
|
17
|
-
}
|
|
1
|
+
import { ApiEnumItemType } from '@rentman/backend-types';
|
|
2
|
+
import { ApiFormatter, CreateCompilation, CreateRequestCompilationParent, CreateRequestEntry, KeyService, RequestColumnExpansionFactory, TransactionCache } from '../internal';
|
|
3
|
+
export declare class CreateRequest<ItemTypeType extends ApiEnumItemType> {
|
|
4
|
+
private apiFormatter;
|
|
5
|
+
private keyService;
|
|
6
|
+
private requestColumnExpansionFactory;
|
|
7
|
+
private compilation;
|
|
8
|
+
private transaction;
|
|
9
|
+
private breakupByParent;
|
|
10
|
+
requests: CreateRequestEntry<ItemTypeType>[];
|
|
11
|
+
constructor(apiFormatter: ApiFormatter, keyService: KeyService, requestColumnExpansionFactory: RequestColumnExpansionFactory, compilation: CreateCompilation, transaction: TransactionCache, breakupByParent?: boolean);
|
|
12
|
+
finalizeRequest(requestResource: CreateRequestEntry<ItemTypeType>): CreateRequestEntry<ItemTypeType>;
|
|
13
|
+
setRequestParent(parentType: CreateRequestCompilationParent, requestEntry: CreateRequestEntry<ItemTypeType>): boolean;
|
|
14
|
+
run(): CreateRequestEntry<ItemTypeType>[];
|
|
15
|
+
initializeRequest(): CreateRequestEntry<ItemTypeType>;
|
|
16
|
+
private extendRequest;
|
|
17
|
+
}
|