@rentman/rm-core 1.5.5 → 1.5.7-1
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 +33 -0
- package/dist/rm-core.js +219 -253
- package/dist/rm-core.min.js +1 -1
- package/dist/src/classes/ApiFormatter.d.ts +20 -21
- package/dist/src/classes/ApiResponseProcessor.d.ts +24 -16
- package/dist/src/classes/ChangesCompilation.d.ts +3 -3
- package/dist/src/classes/ChangesProcessor.d.ts +15 -15
- package/dist/src/classes/CollectionCache.d.ts +9 -9
- package/dist/src/classes/CollectionEntryService.d.ts +4 -7
- package/dist/src/classes/CollectionHandler.d.ts +8 -8
- package/dist/src/classes/CollectionMatcher.d.ts +24 -13
- package/dist/src/classes/CollectionResourceService.d.ts +2 -1
- package/dist/src/classes/ColumnCache.d.ts +4 -4
- package/dist/src/classes/ColumnExpansion.d.ts +5 -4
- package/dist/src/classes/ColumnSet.d.ts +7 -7
- package/dist/src/classes/ColumnUtil.d.ts +36 -22
- package/dist/src/classes/CreateRequest.d.ts +1 -1
- package/dist/src/classes/ItemAdministrator.d.ts +123 -45
- package/dist/src/classes/ItemCache.d.ts +8 -7
- package/dist/src/classes/ItemEntryService.d.ts +2 -2
- package/dist/src/classes/ItemHandler.d.ts +8 -8
- package/dist/src/classes/ItemRequestService.d.ts +2 -2
- package/dist/src/classes/KeyService.d.ts +1 -1
- package/dist/src/classes/LocalCache.d.ts +40 -16
- package/dist/src/classes/LockService.d.ts +22 -13
- package/dist/src/classes/ModuleChangesCompilation.d.ts +4 -4
- package/dist/src/classes/QueryMatcher.d.ts +5 -5
- package/dist/src/classes/QueryParser.d.ts +14 -13
- package/dist/src/classes/QueryService.d.ts +5 -16
- package/dist/src/classes/RequestColumnExpansion.d.ts +5 -3
- package/dist/src/classes/SocketMessageHandler.d.ts +10 -9
- package/dist/src/classes/Util.d.ts +6 -5
- package/dist/src/constants.d.ts +1 -1
- package/dist/src/factories/ChangesCompilationFactory.d.ts +2 -2
- package/dist/src/factories/CollectionResourceFactory.d.ts +12 -2
- package/dist/src/factories/ColumnInfoFactory.d.ts +1 -1
- package/dist/src/factories/ColumnSetFactory.d.ts +1 -1
- package/dist/src/factories/ItemEntryFactory.d.ts +1 -1
- package/dist/src/factories/ItemResourceFactory.d.ts +9 -3
- package/dist/src/factories/QueryParserFactory.d.ts +2 -1
- package/dist/src/interfaces/LocalCacheManagerInterface.d.ts +1 -0
- package/dist/src/interfaces/PromiseLibraryInterface.d.ts +19 -9
- package/dist/src/models/CollectionEditResource.d.ts +8 -8
- package/dist/src/models/CollectionEntry.d.ts +37 -23
- package/dist/src/models/CollectionEntryOptions.d.ts +9 -17
- package/dist/src/models/CollectionResource.d.ts +20 -20
- package/dist/src/models/CollectionResourceOptions.d.ts +17 -32
- package/dist/src/models/CollectionViewResource.d.ts +2 -2
- package/dist/src/models/EditResource.d.ts +1 -1
- package/dist/src/models/ItemEntry.d.ts +9 -7
- package/dist/src/models/ItemEntryOptions.d.ts +8 -15
- package/dist/src/models/ItemResource.d.ts +1 -1
- package/dist/src/models/ItemResourceOptions.d.ts +6 -10
- package/dist/src/types/ItemTypesCollection.d.ts +27 -34
- package/package.json +2 -2
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="moment" />
|
|
2
1
|
import * as moment from 'moment';
|
|
3
2
|
import { ColumnInfo } from '../classes';
|
|
4
3
|
import { FieldMap } from '../types';
|
|
@@ -17,24 +16,24 @@ export declare class ApiFormatter {
|
|
|
17
16
|
copyFields(source: FieldMap, destination: FieldMap, columns: ColumnInfo[]): FieldMap;
|
|
18
17
|
shallowCopyFields(shallowSource: FieldMap, deepSource: FieldMap, destination: FieldMap, columns: ColumnInfo[]): FieldMap;
|
|
19
18
|
setDefaultValues(destination: FieldMap, columns: ColumnInfo[]): FieldMap;
|
|
20
|
-
compareFields
|
|
21
|
-
compareFloats(a:
|
|
22
|
-
compareMomentObjects(first:
|
|
23
|
-
compareDurations(first:
|
|
24
|
-
formatResponseValue(columnType:
|
|
25
|
-
formatRequestValue(columnType:
|
|
26
|
-
formatResponseDate(value: any): moment.Moment;
|
|
27
|
-
formatResponseDuration(value:
|
|
28
|
-
formatResponseColor(value:
|
|
29
|
-
formatRequestDateTime(value:
|
|
30
|
-
formatRequestDate(value:
|
|
31
|
-
formatRequestDuration(value:
|
|
32
|
-
formatRequestColor(value:
|
|
33
|
-
getDefaultValue(columnType:
|
|
34
|
-
isDefaultValue(columnType:
|
|
35
|
-
clone(columnType:
|
|
36
|
-
getCloneFunction(columnType:
|
|
37
|
-
cloneDuration(duration:
|
|
38
|
-
cloneDate(date:
|
|
39
|
-
identity(input:
|
|
19
|
+
compareFields(columnType: string, first?: any, second?: any): boolean;
|
|
20
|
+
compareFloats(a: number, b: number): boolean;
|
|
21
|
+
compareMomentObjects(first: moment.Moment, second: moment.Moment): boolean;
|
|
22
|
+
compareDurations(first: moment.Duration, second: moment.Duration): boolean;
|
|
23
|
+
formatResponseValue(columnType: string, value: any): any;
|
|
24
|
+
formatRequestValue(columnType: string, value: any): any;
|
|
25
|
+
formatResponseDate(value: null | any): moment.Moment;
|
|
26
|
+
formatResponseDuration(value: null | number): moment.Duration;
|
|
27
|
+
formatResponseColor(value: string): string;
|
|
28
|
+
formatRequestDateTime(value: moment.Moment): string | null;
|
|
29
|
+
formatRequestDate(value: moment.Moment): string | null;
|
|
30
|
+
formatRequestDuration(value: moment.Duration): number;
|
|
31
|
+
formatRequestColor(value: string): string;
|
|
32
|
+
getDefaultValue(columnType: string): any;
|
|
33
|
+
isDefaultValue(columnType: string, value: any): boolean;
|
|
34
|
+
clone(columnType: string, value: any): any;
|
|
35
|
+
getCloneFunction(columnType: string): ((duration: moment.Duration) => moment.Duration) | ((date: moment.Moment) => moment.Moment);
|
|
36
|
+
cloneDuration(duration: moment.Duration): moment.Duration;
|
|
37
|
+
cloneDate(date: moment.Moment): moment.Moment;
|
|
38
|
+
identity<T>(input: T): T;
|
|
40
39
|
}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import { ApiFormatter } from '../classes';
|
|
2
|
-
import { ItemTypeMap } from '../types';
|
|
2
|
+
import { FieldMap, ItemId, ItemType, ItemTypeMap, ResponseColumn } from '../types';
|
|
3
3
|
export declare class ApiResponseProcessor {
|
|
4
4
|
apiFormatter: ApiFormatter;
|
|
5
5
|
response: any;
|
|
6
6
|
columns: ItemTypeMap;
|
|
7
|
-
items:
|
|
7
|
+
items: {
|
|
8
|
+
[itemType: string]: {
|
|
9
|
+
[itemId: number]: any;
|
|
10
|
+
};
|
|
11
|
+
};
|
|
8
12
|
links: ItemTypeMap;
|
|
9
13
|
cacheable: boolean;
|
|
10
14
|
map: any;
|
|
@@ -12,22 +16,26 @@ export declare class ApiResponseProcessor {
|
|
|
12
16
|
columnMap: any;
|
|
13
17
|
constructor(apiFormatter: ApiFormatter, response: any);
|
|
14
18
|
createColumnMaps(): void;
|
|
15
|
-
fetchValue(itemType:
|
|
16
|
-
fetchDerivedObject(itemType:
|
|
17
|
-
fetchDerivedValues(value: any, column:
|
|
18
|
-
fetchObject(itemType:
|
|
19
|
-
fetchObjectArray(itemType:
|
|
20
|
-
fetchObjectMap(itemType:
|
|
19
|
+
fetchValue(itemType: ItemType, itemId: ItemId, columnId: string): any;
|
|
20
|
+
fetchDerivedObject(itemType: ItemType, itemId: ItemId, rootColumns: ResponseColumn[]): {};
|
|
21
|
+
fetchDerivedValues(value: any, column: ResponseColumn, destination: any): void;
|
|
22
|
+
fetchObject(itemType: ItemType, itemId: string | ItemId, includeLinks?: boolean): any;
|
|
23
|
+
fetchObjectArray(itemType: ItemType, includeLinks: boolean, idArray: ItemId[]): any[];
|
|
24
|
+
fetchObjectMap(itemType: ItemType, columnId: string, includeLinks?: boolean, returnKeys?: boolean): {
|
|
21
25
|
[key: string]: any;
|
|
22
26
|
};
|
|
23
|
-
fetchFieldMap(itemType:
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
fetchFieldMap(itemType: ItemType, columnId: string): {
|
|
28
|
+
[itemId: number]: FieldMap;
|
|
29
|
+
};
|
|
30
|
+
fetchColumnArray(itemType: ItemType): ResponseColumn[];
|
|
31
|
+
fetchColumnObject(itemType: ItemType): ResponseColumn;
|
|
32
|
+
fetchColumnsObject(): {
|
|
33
|
+
[itemType: string]: ResponseColumn;
|
|
34
|
+
};
|
|
35
|
+
createResource(itemType: ItemType, id: ItemId): {
|
|
36
|
+
object: FieldMap;
|
|
29
37
|
links: any;
|
|
30
38
|
};
|
|
31
|
-
hasItems(itemType:
|
|
32
|
-
getIdArray(itemType:
|
|
39
|
+
hasItems(itemType: ItemType): boolean;
|
|
40
|
+
getIdArray(itemType: ItemType): ItemId[];
|
|
33
41
|
}
|
|
@@ -44,8 +44,8 @@ export declare class ChangesCompilation {
|
|
|
44
44
|
addUpdateEntry(itemEntry: ItemEntry): void;
|
|
45
45
|
addCreateEntry(itemEntry: ItemEntry): void;
|
|
46
46
|
containsCreateEntry(itemType: ItemType, itemId: ItemId): boolean;
|
|
47
|
-
private createDeleteCompilation
|
|
47
|
+
private createDeleteCompilation;
|
|
48
48
|
postProcess(): void;
|
|
49
|
-
private processSingleItems
|
|
50
|
-
private processCollections
|
|
49
|
+
private processSingleItems;
|
|
50
|
+
private processCollections;
|
|
51
51
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { ApiFormatter, CollectionEntryService, CollectionHandler, ItemHandler } from '../classes';
|
|
1
|
+
import { ApiFormatter, CollectionEntryService, CollectionHandler, ItemHandler, MoveMapEntry } from '../classes';
|
|
2
2
|
import { ChangesCompilationFactory, ColumnExpansionFactory, CreateRequestFactory, RequestColumnExpansionFactory } from '../factories';
|
|
3
3
|
import { ApiRequestServiceInterface, ErrorHandlerInterface, PromiseLibraryInterface } from '../interfaces';
|
|
4
4
|
import { CollectionEntry, ItemEntry } from '../models';
|
|
5
|
-
import { CreateRequestParameterMap, ItemId, ItemIdConversionMap, ItemType, PromiseInterface } from '../types';
|
|
5
|
+
import { ApiRequestMoveItems, CreateRequestParameterMap, ItemId, ItemIdConversionMap, ItemType, PromiseInterface } from '../types';
|
|
6
6
|
export declare class ChangesProcessor {
|
|
7
7
|
private apiFormatter;
|
|
8
8
|
private apiRequestService;
|
|
@@ -16,18 +16,18 @@ export declare class ChangesProcessor {
|
|
|
16
16
|
private promiseService;
|
|
17
17
|
private requestColumnExpansionFactory;
|
|
18
18
|
constructor(apiFormatter: ApiFormatter, apiRequestService: ApiRequestServiceInterface, changesCompilationFactory: ChangesCompilationFactory, collectionEntryService: CollectionEntryService, collectionHandler: CollectionHandler, columnExpansionFactory: ColumnExpansionFactory, createRequestFactory: CreateRequestFactory, errorHandler: ErrorHandlerInterface, itemHandler: ItemHandler, promiseService: PromiseLibraryInterface, requestColumnExpansionFactory: RequestColumnExpansionFactory);
|
|
19
|
-
buildMoveRequest(compilationEntries:
|
|
20
|
-
getMapValue(itemType: ItemType, itemId:
|
|
21
|
-
private executeCreateRequests
|
|
22
|
-
private executeCreateRequest
|
|
23
|
-
private executeUpdateRequests
|
|
24
|
-
private executeUpdateRequest
|
|
25
|
-
private executeDeleteRequests
|
|
26
|
-
private executeDeleteRequest
|
|
27
|
-
private executeMoveRequests
|
|
28
|
-
private processMoveResponse
|
|
29
|
-
private addCollectionMapEntry
|
|
30
|
-
private forEachCollection
|
|
31
|
-
private onItemsCreated
|
|
19
|
+
buildMoveRequest(compilationEntries: MoveMapEntry[]): ApiRequestMoveItems;
|
|
20
|
+
getMapValue(itemType: ItemType, itemId: ItemId, map: ItemIdConversionMap): ItemId | undefined;
|
|
21
|
+
private executeCreateRequests;
|
|
22
|
+
private executeCreateRequest;
|
|
23
|
+
private executeUpdateRequests;
|
|
24
|
+
private executeUpdateRequest;
|
|
25
|
+
private executeDeleteRequests;
|
|
26
|
+
private executeDeleteRequest;
|
|
27
|
+
private executeMoveRequests;
|
|
28
|
+
private processMoveResponse;
|
|
29
|
+
private addCollectionMapEntry;
|
|
30
|
+
private forEachCollection;
|
|
31
|
+
private onItemsCreated;
|
|
32
32
|
execute(singleItems: ItemEntry[], collections: CollectionEntry[], parameters?: CreateRequestParameterMap, breakupByParent?: boolean, onAfterCreateCallback?: (conversionMap: ItemIdConversionMap) => void): PromiseInterface<ItemIdConversionMap>;
|
|
33
33
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { QueryMatcherFactory } from '../factories';
|
|
2
2
|
import { CollectionEntry, CollectionResource } from '../models';
|
|
3
|
-
import { CollectionMatchResult, EntryParentNull, FieldMap, ItemType } from '../types';
|
|
3
|
+
import { CollectionMatchResult, CollectionQuery, EntryParentNull, FieldMap, ItemId, ItemType } from '../types';
|
|
4
4
|
export declare class CollectionCache {
|
|
5
5
|
private queryMatcherFactory;
|
|
6
6
|
entries: {
|
|
@@ -16,22 +16,22 @@ export declare class CollectionCache {
|
|
|
16
16
|
add(collectionEntry: CollectionEntry): CollectionEntry;
|
|
17
17
|
clear(collectionEntry?: CollectionEntry): boolean;
|
|
18
18
|
getByItemType(itemType: string): CollectionEntry[];
|
|
19
|
-
matchParent(collectionEntry: CollectionEntry, itemType: string, itemId:
|
|
20
|
-
getByParent(parentType:
|
|
21
|
-
getResourceByParent(parentType:
|
|
22
|
-
getCollectionsByParent(parentType:
|
|
19
|
+
matchParent(collectionEntry: CollectionEntry, itemType: string, itemId: ItemId): boolean;
|
|
20
|
+
getByParent(parentType: ItemType, parentId: ItemId, itemType: ItemType): CollectionEntry | null;
|
|
21
|
+
getResourceByParent(parentType: ItemType, parentId: ItemId, itemType: ItemType): CollectionResource | null;
|
|
22
|
+
getCollectionsByParent(parentType: ItemType, parentId: ItemId): CollectionEntry[];
|
|
23
23
|
/**
|
|
24
24
|
* Only resources
|
|
25
25
|
* @param {String} itemType
|
|
26
26
|
* @param {String|Integer} itemId
|
|
27
27
|
* @returns {Object} Array of collections.
|
|
28
28
|
*/
|
|
29
|
-
getByContainingItem(itemType:
|
|
29
|
+
getByContainingItem(itemType: ItemType, itemId: ItemId): CollectionEntry[];
|
|
30
30
|
/**
|
|
31
31
|
* Returns an array of collections the item 'belongs' in.
|
|
32
32
|
*/
|
|
33
33
|
getByFittingItem(itemType: ItemType, fields: FieldMap, parent: EntryParentNull): CollectionMatchResult;
|
|
34
|
-
getByQuery(itemType:
|
|
35
|
-
getByKey(itemType:
|
|
36
|
-
getResourceByKey(itemType:
|
|
34
|
+
getByQuery(itemType: ItemType, query: CollectionQuery): CollectionEntry | null;
|
|
35
|
+
getByKey(itemType: ItemType, entryKey: string): CollectionEntry[];
|
|
36
|
+
getResourceByKey(itemType: ItemType, resourceKey: string): CollectionResource[];
|
|
37
37
|
}
|
|
@@ -1,19 +1,16 @@
|
|
|
1
1
|
import { QueryService } from '../classes';
|
|
2
2
|
import { QueryParserFactory } from '../factories';
|
|
3
3
|
import { CollectionEntryOptions, ItemEntry } from '../models';
|
|
4
|
-
import { CollectionOptionsInterface, EntryParentNull, ItemId } from '../types';
|
|
4
|
+
import { CollectionOptionsInterface, CollectionQuery, EntryParentNull, ItemId } from '../types';
|
|
5
5
|
export declare class CollectionEntryService {
|
|
6
6
|
private queryParserFactory;
|
|
7
7
|
private queryService;
|
|
8
8
|
constructor(queryParserFactory: QueryParserFactory, queryService: QueryService);
|
|
9
9
|
cloneOptions(options: CollectionEntryOptions, parent: EntryParentNull): CollectionEntryOptions;
|
|
10
10
|
processOptions(options: CollectionOptionsInterface): CollectionEntryOptions;
|
|
11
|
-
cloneQueryParams(parameters:
|
|
12
|
-
createQuery(options:
|
|
13
|
-
|
|
14
|
-
string: any;
|
|
15
|
-
};
|
|
16
|
-
getIdArray(itemEntries: ItemEntry[], accumulator: any): ItemId[];
|
|
11
|
+
cloneQueryParams<T extends object>(parameters: T): T;
|
|
12
|
+
createQuery(options: CollectionEntryOptions): CollectionQuery;
|
|
13
|
+
getIdArray(itemEntries: ItemEntry[], accumulator?: ItemId[]): ItemId[];
|
|
17
14
|
/**
|
|
18
15
|
* @param {ItemEntry[]} itemEntries
|
|
19
16
|
* @param {(itemEntry: ItemEntry) => boolean} callback
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { CollectionEntryOptions, PromiseInterface } from '../';
|
|
1
|
+
import { CollectionEntryOptions, CollectionViewResource, PromiseInterface } from '../';
|
|
2
2
|
import { BatchStatus, CollectionCache, CollectionEntryService, CollectionMatcher, ColumnExpansion, ColumnHandler, ColumnSet, ItemCache, ItemHandler, ItemRequestService, KeyService, QueryService } from '../classes';
|
|
3
3
|
import { ENTRY_STATUS } from '../constants';
|
|
4
4
|
import { BatchStatusFactory, CollectionCacheFactory, CollectionEntryFactory, CollectionMatcherFactory, ColumnSetFactory, QueryParserFactory } from '../factories';
|
|
5
5
|
import { ErrorHandlerInterface, PromiseLibraryInterface } from '../interfaces';
|
|
6
|
-
import { CollectionEntry, CollectionResource
|
|
6
|
+
import { CollectionEntry, CollectionResource } from '../models';
|
|
7
7
|
import { ApiRequestColumn, CollectionEntryParentIdMap, CollectionResourceParentIdMap, EntryStatus, ItemEntryParentIdMap, ItemId, ItemResourceItemIdMap, ItemType, QueryCallback } from '../types';
|
|
8
8
|
export declare class CollectionHandler {
|
|
9
9
|
private batchStatusFactory;
|
|
@@ -25,19 +25,19 @@ export declare class CollectionHandler {
|
|
|
25
25
|
/**
|
|
26
26
|
* @deprecated, use collectionMatcherFactory
|
|
27
27
|
*/
|
|
28
|
-
removeFromAndAddToCollections(collectionMap: any, updateInitial?:
|
|
28
|
+
removeFromAndAddToCollections(collectionMap: any, updateInitial?: boolean): void;
|
|
29
29
|
getCollectionMatcher(): CollectionMatcher;
|
|
30
30
|
/**
|
|
31
31
|
* @deprecated, use collectionMatcherFactory
|
|
32
32
|
*/
|
|
33
|
-
removeFromCollections(collectionMap: any, updateInitial?:
|
|
33
|
+
removeFromCollections<T extends CollectionResource = CollectionViewResource>(collectionMap: any, updateInitial?: boolean, resultResource?: T | null): T['items'] | null;
|
|
34
34
|
/**
|
|
35
35
|
* @deprecated, use collectionMatcherFactory
|
|
36
36
|
*/
|
|
37
|
-
addToCollections(collectionMap: any, updateInitial: boolean, resultResource?:
|
|
37
|
+
addToCollections<T extends CollectionResource = CollectionViewResource>(collectionMap: any, updateInitial: boolean, resultResource?: T | null): T['items'];
|
|
38
38
|
batchExpand(parentType: ItemType, itemType: ItemType, collections: CollectionResourceParentIdMap, newColumns: ApiRequestColumn[]): PromiseInterface<CollectionResourceParentIdMap>;
|
|
39
|
-
batchExtend(parentType: ItemType, itemType: ItemType, options: CollectionEntryOptions, queryCallback: QueryCallback, collections:
|
|
40
|
-
batchFetch(parentType: ItemType, parentIdArray: ItemId[], itemType: ItemType, options: CollectionEntryOptions, itemCache: ItemCache, localCollectionCache: CollectionCache, deferredCollectionCache: CollectionCache):
|
|
39
|
+
batchExtend<T extends CollectionResourceParentIdMap>(parentType: ItemType, itemType: ItemType, options: CollectionEntryOptions, queryCallback: QueryCallback, collections: T, returnAllItems?: boolean): PromiseInterface<ItemResourceItemIdMap>;
|
|
40
|
+
batchFetch(parentType: ItemType, parentIdArray: ItemId[] | (() => ItemId[]), itemType: ItemType, options: CollectionEntryOptions, itemCache: ItemCache, localCollectionCache: CollectionCache, deferredCollectionCache: CollectionCache): PromiseInterface<CollectionEntryParentIdMap>;
|
|
41
41
|
handleBatchResponse(batchStatus: BatchStatus<CollectionEntry>, itemEntryCompound: {
|
|
42
42
|
columns: ColumnSet;
|
|
43
43
|
columnExpansion?: ColumnExpansion;
|
|
@@ -53,5 +53,5 @@ export declare class CollectionHandler {
|
|
|
53
53
|
resolveLocal(collectionEntry: CollectionEntry, itemCache: ItemCache): PromiseInterface<CollectionEntry>;
|
|
54
54
|
resolveRemote(collectionEntry: CollectionEntry, itemCache: ItemCache): PromiseInterface<CollectionEntry>;
|
|
55
55
|
isLocal(options: any): boolean;
|
|
56
|
-
private expandLocalItemEntries
|
|
56
|
+
private expandLocalItemEntries;
|
|
57
57
|
}
|
|
@@ -1,6 +1,18 @@
|
|
|
1
|
+
import { ItemId } from '../';
|
|
1
2
|
import { CollectionCache } from '../classes';
|
|
2
3
|
import { QueryMatcherFactory } from '../factories/';
|
|
3
|
-
import { CollectionEntry, CollectionResource, ItemEntry
|
|
4
|
+
import { CollectionEntry, CollectionResource, ItemEntry } from '../models';
|
|
5
|
+
export declare type CollectionMatcherMatches = {
|
|
6
|
+
[itemId: number]: {
|
|
7
|
+
item: ItemEntry;
|
|
8
|
+
isMatch: boolean | 'maybe';
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
export declare type GroupedCollectionMatcherResult = {
|
|
12
|
+
fitting: ItemEntry[];
|
|
13
|
+
notFitting: ItemId[];
|
|
14
|
+
maybe: ItemEntry[];
|
|
15
|
+
};
|
|
4
16
|
export declare class CollectionMatcher {
|
|
5
17
|
private queryMatcherFactory;
|
|
6
18
|
private collectionCaches;
|
|
@@ -9,22 +21,21 @@ export declare class CollectionMatcher {
|
|
|
9
21
|
map: {
|
|
10
22
|
[collectionEntryId: number]: {
|
|
11
23
|
collection: CollectionEntry;
|
|
12
|
-
matches:
|
|
13
|
-
[itemId: number]: {
|
|
14
|
-
item: ItemEntry;
|
|
15
|
-
isMatch: boolean;
|
|
16
|
-
};
|
|
17
|
-
};
|
|
24
|
+
matches: CollectionMatcherMatches;
|
|
18
25
|
};
|
|
19
26
|
};
|
|
20
27
|
constructor(queryMatcherFactory: QueryMatcherFactory, collectionCaches: CollectionCache[], updateInitial: boolean, callOnActivate: boolean);
|
|
21
28
|
expand(itemEntry: ItemEntry): this;
|
|
22
|
-
private _expand
|
|
29
|
+
private _expand;
|
|
23
30
|
getCollectionsWithFittingItems(): CollectionEntry[];
|
|
24
|
-
addToCollections(resultResource
|
|
25
|
-
|
|
31
|
+
addToCollections<U extends CollectionResource>(resultResource: U): U['items'];
|
|
32
|
+
addToCollections(resultResource?: null): null;
|
|
33
|
+
addToCollections<U extends CollectionResource>(resultResource?: CollectionResource | null): U['items'] | null;
|
|
34
|
+
removeFromCollections<U extends CollectionResource>(resultResource: U): U['items'];
|
|
35
|
+
removeFromCollections(resultResource?: null): null;
|
|
36
|
+
removeFromCollections<U extends CollectionResource>(resultResource?: CollectionResource | null): U['items'] | null;
|
|
26
37
|
removeFromAndAddToCollections(): void;
|
|
27
|
-
private groupItemEntries
|
|
28
|
-
private groupItemIds
|
|
29
|
-
private hasFittingItems
|
|
38
|
+
private groupItemEntries;
|
|
39
|
+
private groupItemIds;
|
|
40
|
+
private hasFittingItems;
|
|
30
41
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { CollectionResourceOptions, CollectionResourceOptionsInterface, ItemResource } from '../models';
|
|
2
|
+
import { ItemId } from '../types';
|
|
2
3
|
export declare class CollectionResourceService {
|
|
3
4
|
processOptions(options: CollectionResourceOptionsInterface): CollectionResourceOptions;
|
|
4
|
-
getIdArray(itemResources: ItemResource[]):
|
|
5
|
+
getIdArray(itemResources: ItemResource[]): ItemId[];
|
|
5
6
|
}
|
|
@@ -7,7 +7,7 @@ export declare class ColumnCache {
|
|
|
7
7
|
[itemType: string]: boolean;
|
|
8
8
|
};
|
|
9
9
|
constructor(columnUtil: ColumnUtil);
|
|
10
|
-
setColumn(itemType: ItemType, responseColumn: ResponseColumn):
|
|
10
|
+
setColumn(itemType: ItemType, responseColumn: ResponseColumn): ResponseColumn;
|
|
11
11
|
setColumns(itemType: ItemType, requestColumns: ApiRequestColumns, responseColumns: ResponseColumnMap): ResponseColumnMap;
|
|
12
12
|
retrieve(itemType: ItemType, requestColumns: ApiRequestColumns): {
|
|
13
13
|
cached: ResponseColumnMap;
|
|
@@ -15,7 +15,7 @@ export declare class ColumnCache {
|
|
|
15
15
|
};
|
|
16
16
|
containsAll(itemType: ItemType): boolean;
|
|
17
17
|
getColumns(itemType: ItemType): ResponseColumnMap;
|
|
18
|
-
private retrieveColumns
|
|
19
|
-
private retrieveColumn
|
|
20
|
-
private getColumn
|
|
18
|
+
private retrieveColumns;
|
|
19
|
+
private retrieveColumn;
|
|
20
|
+
private getColumn;
|
|
21
21
|
}
|
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
import { ColumnInfo, ColumnSet } from '../classes';
|
|
2
|
+
import { ColumnInfoFactory } from '../factories';
|
|
2
3
|
import { ApiRequestColumn, ApiRequestColumns, ColumnExpansionResult, ItemType, ResponseColumnMap } from '../types';
|
|
3
4
|
export declare class ColumnExpansion {
|
|
4
5
|
private columnInfoFactory;
|
|
5
6
|
itemType: ItemType;
|
|
6
7
|
responseColumns: ResponseColumnMap;
|
|
7
8
|
expansionMap: {
|
|
8
|
-
[columnSetId:
|
|
9
|
+
[columnSetId: string]: ColumnExpansionResult | null;
|
|
9
10
|
};
|
|
10
11
|
expansionMapSize: number;
|
|
11
12
|
requestColumnsTrue: boolean;
|
|
12
13
|
requestColumns: ApiRequestColumn[];
|
|
13
|
-
constructor(columnInfoFactory:
|
|
14
|
+
constructor(columnInfoFactory: ColumnInfoFactory, itemType: ItemType, requestColumns: ApiRequestColumns, responseColumns: ResponseColumnMap);
|
|
14
15
|
run(columnSet: ColumnSet): ColumnExpansionResult | null;
|
|
15
16
|
aggregateRootColumns(): ColumnInfo[];
|
|
16
|
-
private expandRootColumnMap
|
|
17
|
-
private processRootColumnMap
|
|
17
|
+
private expandRootColumnMap;
|
|
18
|
+
private processRootColumnMap;
|
|
18
19
|
}
|
|
@@ -34,13 +34,13 @@ export declare class ColumnSet {
|
|
|
34
34
|
resolve(responseColumns: ResponseColumnMap, enableCaching?: boolean, includeIdColumn?: boolean): this;
|
|
35
35
|
expandRequestColumns(columns: ApiRequestColumns): void;
|
|
36
36
|
isSupersetOf(columns: ApiRequestColumns): boolean;
|
|
37
|
-
private processResponseColumns
|
|
38
|
-
private requestColumnsIsTrue
|
|
39
|
-
private processRequestColumns
|
|
40
|
-
private getRequestColumnInfo
|
|
41
|
-
private getColumnInfo
|
|
42
|
-
private getColumnSetExpansion
|
|
43
|
-
private getMergedColumnSet
|
|
37
|
+
private processResponseColumns;
|
|
38
|
+
private requestColumnsIsTrue;
|
|
39
|
+
private processRequestColumns;
|
|
40
|
+
private getRequestColumnInfo;
|
|
41
|
+
private getColumnInfo;
|
|
42
|
+
private getColumnSetExpansion;
|
|
43
|
+
private getMergedColumnSet;
|
|
44
44
|
merge(columnSet: ColumnSet): ColumnSet;
|
|
45
45
|
expand(requestColumns: ApiRequestColumns, requestColumnsTrue: boolean, responseColumns: ResponseColumnMap): ColumnExpansionResult;
|
|
46
46
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { ApiRequestColumn, ApiRequestColumns, ItemType, ResponseColumnMap } from '../types';
|
|
1
|
+
import { ApiRequestColumn, ApiRequestColumns, ItemType, ResponseColumn, ResponseColumnMap } from '../types';
|
|
2
2
|
export declare class ColumnUtil {
|
|
3
3
|
constructor();
|
|
4
|
-
getColumnPath(columns:
|
|
5
|
-
getDateFormatOptions(columnType
|
|
4
|
+
getColumnPath(columns: ResponseColumn[], renderAs: null | string): string;
|
|
5
|
+
getDateFormatOptions(columnType?: 'datetime'): {
|
|
6
6
|
'J-M-Y': string;
|
|
7
7
|
'J-M': string;
|
|
8
8
|
'j+F+Y': string;
|
|
@@ -12,22 +12,28 @@ export declare class ColumnUtil {
|
|
|
12
12
|
'D': string;
|
|
13
13
|
'd': string;
|
|
14
14
|
};
|
|
15
|
-
isStringColumn(column:
|
|
16
|
-
isFloatColumn(column:
|
|
17
|
-
isIntColumn(column:
|
|
18
|
-
isNumberColumn(column:
|
|
19
|
-
isCustomColumn(column:
|
|
20
|
-
isItemColumn(column:
|
|
21
|
-
isDateColumn(column:
|
|
22
|
-
isRenderedColumn(column:
|
|
23
|
-
isFilteredColumn(column:
|
|
24
|
-
isFormattedColumn(column:
|
|
25
|
-
isSelectableColumn(column:
|
|
26
|
-
hasLocationProperty(column:
|
|
27
|
-
isEditableColumn(column:
|
|
28
|
-
isSearchableColumn(column:
|
|
29
|
-
getDefaultWeight(column:
|
|
30
|
-
getComparators(column:
|
|
15
|
+
isStringColumn(column: ResponseColumn): boolean;
|
|
16
|
+
isFloatColumn(column: ResponseColumn): boolean;
|
|
17
|
+
isIntColumn(column: ResponseColumn): boolean;
|
|
18
|
+
isNumberColumn(column: ResponseColumn): boolean;
|
|
19
|
+
isCustomColumn(column: ResponseColumn): boolean;
|
|
20
|
+
isItemColumn(column: ResponseColumn, includeId?: boolean): boolean;
|
|
21
|
+
isDateColumn(column: ResponseColumn): boolean;
|
|
22
|
+
isRenderedColumn(column: ResponseColumn): boolean;
|
|
23
|
+
isFilteredColumn(column: ResponseColumn): boolean;
|
|
24
|
+
isFormattedColumn(column: ResponseColumn): boolean;
|
|
25
|
+
isSelectableColumn(column: ResponseColumn): boolean;
|
|
26
|
+
hasLocationProperty(column: ResponseColumn, location: number): boolean;
|
|
27
|
+
isEditableColumn(column: ResponseColumn): boolean;
|
|
28
|
+
isSearchableColumn(column: ResponseColumn): boolean;
|
|
29
|
+
getDefaultWeight(column: ResponseColumn): number;
|
|
30
|
+
getComparators(column: ResponseColumn & {
|
|
31
|
+
type: 'dimension' | 'weight' | 'price';
|
|
32
|
+
}): ['=', '>', '<'];
|
|
33
|
+
getComparators(column: ResponseColumn & {
|
|
34
|
+
type: 'date' | 'datetime' | 'time' | 'duration';
|
|
35
|
+
}): ['>', '<'];
|
|
36
|
+
getComparators(column: ResponseColumn): ['=', '!='];
|
|
31
37
|
containsColumn(requestColumn: ApiRequestColumn, destination: ApiRequestColumn[]): boolean;
|
|
32
38
|
containsDerivedColumns(requestColumns: ApiRequestColumn[]): boolean;
|
|
33
39
|
responseColumnsAvailable(itemType: ItemType, requestColumns: ApiRequestColumn[], responseColumnMap: ResponseColumnMap): boolean;
|
|
@@ -40,6 +46,14 @@ export declare class ColumnUtil {
|
|
|
40
46
|
* @param {Array} second
|
|
41
47
|
* @returns {Object} An object containing 'merged' and 'difference' properties
|
|
42
48
|
*/
|
|
49
|
+
mergeRequestColumns(first: true, second: ApiRequestColumns): {
|
|
50
|
+
merged: true;
|
|
51
|
+
difference: [];
|
|
52
|
+
};
|
|
53
|
+
mergeRequestColumns(first: ApiRequestColumn[], second: true): {
|
|
54
|
+
merged: true;
|
|
55
|
+
difference: true;
|
|
56
|
+
};
|
|
43
57
|
mergeRequestColumns(first: ApiRequestColumn[], second: ApiRequestColumn[]): {
|
|
44
58
|
merged: ApiRequestColumn[];
|
|
45
59
|
difference: ApiRequestColumn[];
|
|
@@ -71,9 +85,9 @@ export declare class ColumnUtil {
|
|
|
71
85
|
* @param {array} second
|
|
72
86
|
* @returns {object} difference: the columns that are in second, but not in first.
|
|
73
87
|
*/
|
|
74
|
-
mergeResponseColumnMap(first:
|
|
75
|
-
merged:
|
|
76
|
-
difference:
|
|
88
|
+
mergeResponseColumnMap(first: ResponseColumnMap, second: ResponseColumnMap): {
|
|
89
|
+
merged: ResponseColumnMap;
|
|
90
|
+
difference: ResponseColumnMap;
|
|
77
91
|
};
|
|
78
92
|
isLocalColumnId(columnId: string): boolean;
|
|
79
93
|
processConfigColumns(configColumns: string[]): ApiRequestColumn[];
|
|
@@ -16,5 +16,5 @@ export declare class CreateRequest {
|
|
|
16
16
|
setRequestParent(parentType: ItemType, requestEntry: CreateRequestEntry): boolean;
|
|
17
17
|
run(): CreateRequestEntry[];
|
|
18
18
|
initializeRequest(): CreateRequestEntry;
|
|
19
|
-
private extendRequest
|
|
19
|
+
private extendRequest;
|
|
20
20
|
}
|