@rentman/rm-core 1.4.0 → 1.5.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.
Files changed (91) hide show
  1. package/changelog.md +364 -347
  2. package/dist/rm-core.js +7277 -7065
  3. package/dist/rm-core.min.js +1 -1
  4. package/dist/src/classes/ApiFormatter.d.ts +40 -40
  5. package/dist/src/classes/ApiRequestService.d.ts +20 -20
  6. package/dist/src/classes/ApiResponseProcessor.d.ts +33 -33
  7. package/dist/src/classes/BatchStatus.d.ts +27 -25
  8. package/dist/src/classes/ChangesCompilation.d.ts +51 -43
  9. package/dist/src/classes/ChangesProcessor.d.ts +33 -33
  10. package/dist/src/classes/CollectionCache.d.ts +37 -37
  11. package/dist/src/classes/CollectionEntryService.d.ts +26 -26
  12. package/dist/src/classes/CollectionHandler.d.ts +57 -56
  13. package/dist/src/classes/CollectionMatcher.d.ts +30 -30
  14. package/dist/src/classes/CollectionResourceService.d.ts +5 -5
  15. package/dist/src/classes/ColumnCache.d.ts +21 -21
  16. package/dist/src/classes/ColumnExpansion.d.ts +19 -18
  17. package/dist/src/classes/ColumnHandler.d.ts +21 -21
  18. package/dist/src/classes/ColumnInfo.d.ts +14 -14
  19. package/dist/src/classes/ColumnSet.d.ts +46 -46
  20. package/dist/src/classes/ColumnSubsetCache.d.ts +9 -0
  21. package/dist/src/classes/ColumnUtil.d.ts +76 -76
  22. package/dist/src/classes/CreateRequest.d.ts +20 -20
  23. package/dist/src/classes/ItemAdministrator.d.ts +83 -108
  24. package/dist/src/classes/ItemCache.d.ts +22 -22
  25. package/dist/src/classes/ItemEntryService.d.ts +24 -24
  26. package/dist/src/classes/ItemHandler.d.ts +62 -77
  27. package/dist/src/classes/ItemRequestService.d.ts +23 -23
  28. package/dist/src/classes/KeyService.d.ts +16 -16
  29. package/dist/src/classes/LocalCache.d.ts +51 -50
  30. package/dist/src/classes/LockService.d.ts +23 -23
  31. package/dist/src/classes/ModuleChangesCompilation.d.ts +21 -21
  32. package/dist/src/classes/QueryMatcher.d.ts +14 -14
  33. package/dist/src/classes/QueryParser.d.ts +16 -16
  34. package/dist/src/classes/QueryService.d.ts +19 -19
  35. package/dist/src/classes/RequestColumnExpansion.d.ts +12 -12
  36. package/dist/src/classes/SocketMessageHandler.d.ts +40 -36
  37. package/dist/src/classes/Util.d.ts +27 -25
  38. package/dist/src/classes/index.d.ts +34 -34
  39. package/dist/src/constants.d.ts +18 -16
  40. package/dist/src/core.d.ts +48 -48
  41. package/dist/src/factories/ApiResponseProcessorFactory.d.ts +6 -6
  42. package/dist/src/factories/BatchStatusFactory.d.ts +8 -8
  43. package/dist/src/factories/ChangesCompilationFactory.d.ts +9 -9
  44. package/dist/src/factories/ChangesProcessorFactory.d.ts +18 -18
  45. package/dist/src/factories/CollectionCacheFactory.d.ts +7 -7
  46. package/dist/src/factories/CollectionEntryFactory.d.ts +21 -18
  47. package/dist/src/factories/CollectionMatcherFactory.d.ts +7 -7
  48. package/dist/src/factories/CollectionResourceFactory.d.ts +13 -14
  49. package/dist/src/factories/ColumnExpansionFactory.d.ts +9 -9
  50. package/dist/src/factories/ColumnInfoFactory.d.ts +6 -6
  51. package/dist/src/factories/ColumnSetFactory.d.ts +11 -11
  52. package/dist/src/factories/ColumnSubsetCacheFactory.d.ts +7 -0
  53. package/dist/src/factories/CreateRequestFactory.d.ts +11 -11
  54. package/dist/src/factories/ItemCacheFactory.d.ts +7 -7
  55. package/dist/src/factories/ItemEntryFactory.d.ts +19 -19
  56. package/dist/src/factories/ItemResourceFactory.d.ts +14 -15
  57. package/dist/src/factories/LocalCacheFactory.d.ts +15 -16
  58. package/dist/src/factories/ModuleChangesCompilationFactory.d.ts +5 -5
  59. package/dist/src/factories/QueryMatcherFactory.d.ts +7 -7
  60. package/dist/src/factories/QueryParserFactory.d.ts +5 -5
  61. package/dist/src/factories/RequestColumnExpansionFactory.d.ts +6 -6
  62. package/dist/src/factories/TemplateFactory.d.ts +10 -10
  63. package/dist/src/factories/index.d.ts +22 -21
  64. package/dist/src/index.d.ts +7 -7
  65. package/dist/src/interfaces/ApiRequestServiceInterface.d.ts +11 -11
  66. package/dist/src/interfaces/AuthInterface.d.ts +9 -9
  67. package/dist/src/interfaces/ErrorHandlerInterface.d.ts +5 -5
  68. package/dist/src/interfaces/LocalCacheManagerInterface.d.ts +5 -5
  69. package/dist/src/interfaces/PromiseLibraryInterface.d.ts +15 -15
  70. package/dist/src/interfaces/SocketMessageInterface.d.ts +3 -3
  71. package/dist/src/interfaces/index.d.ts +6 -6
  72. package/dist/src/models/CollectionEditResource.d.ts +15 -15
  73. package/dist/src/models/CollectionEntry.d.ts +67 -64
  74. package/dist/src/models/CollectionEntryOptions.d.ts +20 -0
  75. package/dist/src/models/CollectionResource.d.ts +40 -40
  76. package/dist/src/models/CollectionResourceOptions.d.ts +38 -0
  77. package/dist/src/models/CollectionViewResource.d.ts +6 -6
  78. package/dist/src/models/EditResource.d.ts +18 -18
  79. package/dist/src/models/ItemEntry.d.ts +71 -71
  80. package/dist/src/models/ItemEntryOptions.d.ts +18 -0
  81. package/dist/src/models/ItemResource.d.ts +23 -23
  82. package/dist/src/models/ItemResourceOptions.d.ts +13 -0
  83. package/dist/src/models/Template.d.ts +11 -11
  84. package/dist/src/models/ViewResource.d.ts +4 -4
  85. package/dist/src/models/index.d.ts +13 -9
  86. package/dist/src/types/ItemTypesCollection.d.ts +231 -176
  87. package/dist/src/types/PromiseInterface.d.ts +2 -2
  88. package/dist/src/types/index.d.ts +2 -2
  89. package/package.json +35 -35
  90. package/readme.md +15 -15
  91. package/dist/src/classes/ItemResourceService.d.ts +0 -5
@@ -1,56 +1,57 @@
1
- import { PromiseInterface } from '../';
2
- import { BatchStatus, CollectionCache, CollectionEntryService, CollectionMatcher, ColumnExpansion, ColumnHandler, ColumnSet, ItemCache, ItemHandler, ItemRequestService, KeyService, QueryService } from '../classes';
3
- import { ENTRY_STATUS } from '../constants';
4
- import { BatchStatusFactory, CollectionCacheFactory, CollectionEntryFactory, CollectionMatcherFactory, ColumnSetFactory, QueryParserFactory } from '../factories';
5
- import { ErrorHandlerInterface, PromiseLibraryInterface } from '../interfaces';
6
- import { CollectionEntry, CollectionResource, ItemResource } from '../models';
7
- import { ApiRequestColumn, CollectionEntryParentIdMap, EntryStatus, ItemEntryParentIdMap, ItemId, ItemResourceItemIdMap, ItemType } from '../types';
8
- export declare class CollectionHandler {
9
- private batchStatusFactory;
10
- private collectionCacheFactory;
11
- private collectionEntryFactory;
12
- private collectionEntryService;
13
- private collectionMatcherFactory;
14
- private columnHandler;
15
- private columnSetFactory;
16
- private errorHandler;
17
- private itemHandler;
18
- private itemRequestService;
19
- private keyService;
20
- private promiseService;
21
- private queryParserFactory;
22
- private queryService;
23
- entries: CollectionCache;
24
- constructor(batchStatusFactory: BatchStatusFactory, collectionCacheFactory: CollectionCacheFactory, collectionEntryFactory: CollectionEntryFactory, collectionEntryService: CollectionEntryService, collectionMatcherFactory: CollectionMatcherFactory, columnHandler: ColumnHandler, columnSetFactory: ColumnSetFactory, errorHandler: ErrorHandlerInterface, itemHandler: ItemHandler, itemRequestService: ItemRequestService, keyService: KeyService, promiseService: PromiseLibraryInterface, queryParserFactory: QueryParserFactory, queryService: QueryService);
25
- /**
26
- * @deprecated, use collectionMatcherFactory
27
- */
28
- removeFromAndAddToCollections(collectionMap: any, updateInitial?: any): void;
29
- getCollectionMatcher(): CollectionMatcher;
30
- /**
31
- * @deprecated, use collectionMatcherFactory
32
- */
33
- removeFromCollections(collectionMap: any, updateInitial?: any, resultResource?: CollectionResource | null): any;
34
- /**
35
- * @deprecated, use collectionMatcherFactory
36
- */
37
- addToCollections(collectionMap: any, updateInitial: boolean, resultResource?: CollectionResource | null): ItemResource[];
38
- batchExpand(parentType: ItemType, itemType: ItemType, collections: CollectionResource[], newColumns: ApiRequestColumn[]): PromiseInterface<CollectionResource[]>;
39
- batchExtend(parentType: string, itemType: string, options: any, queryCallback: any, collections: CollectionResource[], returnAllItems?: boolean): PromiseInterface<ItemResourceItemIdMap>;
40
- batchFetch(parentType: ItemType, parentIdArray: ItemId[], itemType: ItemType, options: any, itemCache: ItemCache, localCollectionCache: CollectionCache, deferredCollectionCache: CollectionCache): Promise<CollectionEntryParentIdMap>;
41
- handleBatchResponse(batchStatus: BatchStatus<CollectionEntry>, itemEntryCompound: {
42
- columns: ColumnSet;
43
- columnExpansion?: ColumnExpansion;
44
- items?: ItemEntryParentIdMap;
45
- }, localItems: ItemEntryParentIdMap): CollectionEntryParentIdMap;
46
- fetch(itemType: ItemType, options: any, itemCache: ItemCache, localCollectionCache: CollectionCache, deferredCollectionCache: CollectionCache): PromiseInterface<CollectionEntry>;
47
- getCachedEntryStatus(collectionEntry: CollectionEntry, options: any): ENTRY_STATUS;
48
- getDeferredEntryStatus(itemType: ItemType, options: any, query: any, deferredEntries: CollectionCache): {
49
- entry: CollectionEntry;
50
- isDeferred: boolean;
51
- };
52
- getEntryStatus(itemType: ItemType, options: any, localEntries: CollectionCache, deferredEntries: CollectionCache): EntryStatus<CollectionEntry>;
53
- resolveLocal(collectionEntry: CollectionEntry, itemCache: ItemCache): PromiseInterface<CollectionEntry>;
54
- resolveRemote(collectionEntry: CollectionEntry, itemCache: ItemCache): PromiseInterface<CollectionEntry>;
55
- isLocal(options: any): boolean;
56
- }
1
+ import { CollectionEntryOptions, PromiseInterface } from '../';
2
+ import { BatchStatus, CollectionCache, CollectionEntryService, CollectionMatcher, ColumnExpansion, ColumnHandler, ColumnSet, ItemCache, ItemHandler, ItemRequestService, KeyService, QueryService } from '../classes';
3
+ import { ENTRY_STATUS } from '../constants';
4
+ import { BatchStatusFactory, CollectionCacheFactory, CollectionEntryFactory, CollectionMatcherFactory, ColumnSetFactory, QueryParserFactory } from '../factories';
5
+ import { ErrorHandlerInterface, PromiseLibraryInterface } from '../interfaces';
6
+ import { CollectionEntry, CollectionResource, ItemResource } from '../models';
7
+ import { ApiRequestColumn, CollectionEntryParentIdMap, EntryStatus, ItemEntryParentIdMap, ItemId, ItemResourceItemIdMap, ItemType } from '../types';
8
+ export declare class CollectionHandler {
9
+ private batchStatusFactory;
10
+ private collectionCacheFactory;
11
+ private collectionEntryFactory;
12
+ private collectionEntryService;
13
+ private collectionMatcherFactory;
14
+ private columnHandler;
15
+ private columnSetFactory;
16
+ private errorHandler;
17
+ private itemHandler;
18
+ private itemRequestService;
19
+ private keyService;
20
+ private promiseService;
21
+ private queryParserFactory;
22
+ private queryService;
23
+ entries: CollectionCache;
24
+ constructor(batchStatusFactory: BatchStatusFactory, collectionCacheFactory: CollectionCacheFactory, collectionEntryFactory: CollectionEntryFactory, collectionEntryService: CollectionEntryService, collectionMatcherFactory: CollectionMatcherFactory, columnHandler: ColumnHandler, columnSetFactory: ColumnSetFactory, errorHandler: ErrorHandlerInterface, itemHandler: ItemHandler, itemRequestService: ItemRequestService, keyService: KeyService, promiseService: PromiseLibraryInterface, queryParserFactory: QueryParserFactory, queryService: QueryService);
25
+ /**
26
+ * @deprecated, use collectionMatcherFactory
27
+ */
28
+ removeFromAndAddToCollections(collectionMap: any, updateInitial?: any): void;
29
+ getCollectionMatcher(): CollectionMatcher;
30
+ /**
31
+ * @deprecated, use collectionMatcherFactory
32
+ */
33
+ removeFromCollections(collectionMap: any, updateInitial?: any, resultResource?: CollectionResource | null): any;
34
+ /**
35
+ * @deprecated, use collectionMatcherFactory
36
+ */
37
+ addToCollections(collectionMap: any, updateInitial: boolean, resultResource?: CollectionResource | null): ItemResource[];
38
+ batchExpand(parentType: ItemType, itemType: ItemType, collections: CollectionResource[], newColumns: ApiRequestColumn[]): PromiseInterface<CollectionResource[]>;
39
+ batchExtend(parentType: ItemType, itemType: ItemType, options: any, queryCallback: any, collections: CollectionResource[], returnAllItems?: boolean): PromiseInterface<ItemResourceItemIdMap>;
40
+ batchFetch(parentType: ItemType, parentIdArray: ItemId[], itemType: ItemType, options: CollectionEntryOptions, itemCache: ItemCache, localCollectionCache: CollectionCache, deferredCollectionCache: CollectionCache): Promise<CollectionEntryParentIdMap>;
41
+ handleBatchResponse(batchStatus: BatchStatus<CollectionEntry>, itemEntryCompound: {
42
+ columns: ColumnSet;
43
+ columnExpansion?: ColumnExpansion;
44
+ items?: ItemEntryParentIdMap;
45
+ }, localItems: ItemEntryParentIdMap): CollectionEntryParentIdMap;
46
+ fetch(itemType: ItemType, options: CollectionEntryOptions, itemCache: ItemCache, localCollectionCache: CollectionCache, deferredCollectionCache: CollectionCache): PromiseInterface<CollectionEntry>;
47
+ getCachedEntryStatus(collectionEntry: CollectionEntry, options: any): ENTRY_STATUS;
48
+ getDeferredEntryStatus(itemType: ItemType, options: any, query: any, deferredEntries: CollectionCache): {
49
+ entry: CollectionEntry;
50
+ isDeferred: boolean;
51
+ };
52
+ getEntryStatus(itemType: ItemType, options: any, localEntries: CollectionCache, deferredEntries: CollectionCache): EntryStatus<CollectionEntry>;
53
+ resolveLocal(collectionEntry: CollectionEntry, itemCache: ItemCache): PromiseInterface<CollectionEntry>;
54
+ resolveRemote(collectionEntry: CollectionEntry, itemCache: ItemCache): PromiseInterface<CollectionEntry>;
55
+ isLocal(options: any): boolean;
56
+ private expandLocalItemEntries(itemType, itemEntries, columnSet, localItemCache);
57
+ }
@@ -1,30 +1,30 @@
1
- import { CollectionCache } from '../classes';
2
- import { QueryMatcherFactory } from '../factories/';
3
- import { CollectionEntry, CollectionResource, ItemEntry, ItemResource } from '../models';
4
- export declare class CollectionMatcher {
5
- private queryMatcherFactory;
6
- private collectionCaches;
7
- private updateInitial;
8
- private callOnActivate;
9
- map: {
10
- [collectionEntryId: number]: {
11
- collection: CollectionEntry;
12
- matches: {
13
- [itemId: number]: {
14
- item: ItemEntry;
15
- isMatch: boolean;
16
- };
17
- };
18
- };
19
- };
20
- constructor(queryMatcherFactory: QueryMatcherFactory, collectionCaches: CollectionCache[], updateInitial: boolean, callOnActivate: boolean);
21
- expand(itemEntry: ItemEntry): this;
22
- private _expand(itemEntry, matchFunction);
23
- getCollectionsWithFittingItems(): CollectionEntry[];
24
- addToCollections(resultResource?: CollectionResource | null): ItemResource[] | null;
25
- removeFromCollections(resultResource?: CollectionResource | null): ItemResource[] | null;
26
- removeFromAndAddToCollections(): void;
27
- private groupItemEntries(matches);
28
- private groupItemIds(matches);
29
- private hasFittingItems(matches);
30
- }
1
+ import { CollectionCache } from '../classes';
2
+ import { QueryMatcherFactory } from '../factories/';
3
+ import { CollectionEntry, CollectionResource, ItemEntry, ItemResource } from '../models';
4
+ export declare class CollectionMatcher {
5
+ private queryMatcherFactory;
6
+ private collectionCaches;
7
+ private updateInitial;
8
+ private callOnActivate;
9
+ map: {
10
+ [collectionEntryId: number]: {
11
+ collection: CollectionEntry;
12
+ matches: {
13
+ [itemId: number]: {
14
+ item: ItemEntry;
15
+ isMatch: boolean;
16
+ };
17
+ };
18
+ };
19
+ };
20
+ constructor(queryMatcherFactory: QueryMatcherFactory, collectionCaches: CollectionCache[], updateInitial: boolean, callOnActivate: boolean);
21
+ expand(itemEntry: ItemEntry): this;
22
+ private _expand(itemEntry, matchFunction);
23
+ getCollectionsWithFittingItems(): CollectionEntry[];
24
+ addToCollections(resultResource?: CollectionResource | null): ItemResource[] | null;
25
+ removeFromCollections(resultResource?: CollectionResource | null): ItemResource[] | null;
26
+ removeFromAndAddToCollections(): void;
27
+ private groupItemEntries(matches);
28
+ private groupItemIds(matches);
29
+ private hasFittingItems(matches);
30
+ }
@@ -1,5 +1,5 @@
1
- import { ItemResource } from '../models';
2
- export declare class CollectionResourceService {
3
- processOptions(options: any): any;
4
- getIdArray(itemResources: ItemResource[]): number[];
5
- }
1
+ import { CollectionResourceOptions, CollectionResourceOptionsInterface, ItemResource } from '../models';
2
+ export declare class CollectionResourceService {
3
+ processOptions(options: CollectionResourceOptionsInterface): CollectionResourceOptions;
4
+ getIdArray(itemResources: ItemResource[]): number[];
5
+ }
@@ -1,21 +1,21 @@
1
- import { ColumnUtil } from '../classes';
2
- import { ApiRequestColumns, ItemType, ResponseColumn, ResponseColumnMap } from '../types';
3
- export declare class ColumnCache {
4
- private columnUtil;
5
- cache: ResponseColumnMap;
6
- allColumns: {
7
- [itemType: string]: boolean;
8
- };
9
- constructor(columnUtil: ColumnUtil);
10
- setColumn(itemType: ItemType, responseColumn: ResponseColumn): any;
11
- setColumns(itemType: ItemType, requestColumns: ApiRequestColumns, responseColumns: ResponseColumnMap): ResponseColumnMap;
12
- retrieve(itemType: ItemType, requestColumns: ApiRequestColumns): {
13
- cached: ResponseColumnMap;
14
- missing: ApiRequestColumns;
15
- };
16
- containsAll(itemType: ItemType): boolean;
17
- getColumns(itemType: ItemType): ResponseColumnMap;
18
- private retrieveColumns(itemType, requestColumns, requestAccumulator, responseAccumulator);
19
- private retrieveColumn(itemType, requestColumn, requestAccumulator, responseAccumulator);
20
- private getColumn(itemType, columnId);
21
- }
1
+ import { ColumnUtil } from '../classes';
2
+ import { ApiRequestColumns, ItemType, ResponseColumn, ResponseColumnMap } from '../types';
3
+ export declare class ColumnCache {
4
+ private columnUtil;
5
+ cache: ResponseColumnMap;
6
+ allColumns: {
7
+ [itemType: string]: boolean;
8
+ };
9
+ constructor(columnUtil: ColumnUtil);
10
+ setColumn(itemType: ItemType, responseColumn: ResponseColumn): any;
11
+ setColumns(itemType: ItemType, requestColumns: ApiRequestColumns, responseColumns: ResponseColumnMap): ResponseColumnMap;
12
+ retrieve(itemType: ItemType, requestColumns: ApiRequestColumns): {
13
+ cached: ResponseColumnMap;
14
+ missing: ApiRequestColumns;
15
+ };
16
+ containsAll(itemType: ItemType): boolean;
17
+ getColumns(itemType: ItemType): ResponseColumnMap;
18
+ private retrieveColumns(itemType, requestColumns, requestAccumulator, responseAccumulator);
19
+ private retrieveColumn(itemType, requestColumn, requestAccumulator, responseAccumulator);
20
+ private getColumn(itemType, columnId);
21
+ }
@@ -1,18 +1,19 @@
1
- import { ColumnInfo, ColumnSet, ColumnUtil } from '../classes';
2
- import { ApiRequestColumn, ApiRequestColumns, ColumnExpansionResult, ItemType, ResponseColumnMap } from '../types';
3
- export declare class ColumnExpansion {
4
- private columnInfoFactory;
5
- private columnUtil;
6
- itemType: ItemType;
7
- responseColumns: ResponseColumnMap;
8
- expansionMap: {
9
- [columnSetId: number]: ColumnExpansionResult | null;
10
- };
11
- requestColumnsTrue: boolean;
12
- requestColumns: ApiRequestColumn[];
13
- constructor(columnInfoFactory: any, columnUtil: ColumnUtil, itemType: ItemType, requestColumns: ApiRequestColumns, responseColumns: ResponseColumnMap);
14
- run(columnSet: ColumnSet): ColumnExpansionResult | null;
15
- aggregateRootColumns(): ColumnInfo[];
16
- private expandRootColumnMap(columns, destination);
17
- private processRootColumnMap(rootColumnMap, parent);
18
- }
1
+ import { ColumnInfo, ColumnSet, ColumnUtil } from '../classes';
2
+ import { ApiRequestColumn, ApiRequestColumns, ColumnExpansionResult, ItemType, ResponseColumnMap } from '../types';
3
+ export declare class ColumnExpansion {
4
+ private columnInfoFactory;
5
+ private columnUtil;
6
+ itemType: ItemType;
7
+ responseColumns: ResponseColumnMap;
8
+ expansionMap: {
9
+ [columnSetId: number]: ColumnExpansionResult | null;
10
+ };
11
+ expansionMapSize: number;
12
+ requestColumnsTrue: boolean;
13
+ requestColumns: ApiRequestColumn[];
14
+ constructor(columnInfoFactory: any, columnUtil: ColumnUtil, itemType: ItemType, requestColumns: ApiRequestColumns, responseColumns: ResponseColumnMap);
15
+ run(columnSet: ColumnSet): ColumnExpansionResult | null;
16
+ aggregateRootColumns(): ColumnInfo[];
17
+ private expandRootColumnMap(columns, destination);
18
+ private processRootColumnMap(rootColumnMap, parent);
19
+ }
@@ -1,21 +1,21 @@
1
- import { ColumnCache, ColumnUtil } from '../classes';
2
- import { ApiRequestServiceInterface, ErrorHandlerInterface, PromiseLibraryInterface } from '../interfaces';
3
- import { ApiRequestColumns, ItemType, PromiseInterface, ResponseColumn, ResponseColumnMap } from '../types';
4
- export declare class ColumnHandler {
5
- private apiRequestService;
6
- private errorHandler;
7
- private promiseService;
8
- private cache;
9
- private columnUtil;
10
- constructor(apiRequestService: ApiRequestServiceInterface, errorHandler: ErrorHandlerInterface, promiseService: PromiseLibraryInterface, cache: ColumnCache, columnUtil: ColumnUtil);
11
- setColumn(itemType: ItemType, responseColumn: ResponseColumn): ResponseColumn;
12
- setColumns(itemType: ItemType, requestColumns: ApiRequestColumns, responseColumns: ResponseColumnMap): ResponseColumnMap;
13
- fetchItemTypeTranslations(itemTypes: ItemType[]): PromiseInterface<{
14
- [itemType: string]: string;
15
- }>;
16
- request(itemType: ItemType, columns: ApiRequestColumns, params?: {
17
- filter: boolean;
18
- }): PromiseInterface<ResponseColumnMap>;
19
- fetch(itemType: ItemType, requestColumns: ApiRequestColumns, params?: any): PromiseInterface<ResponseColumnMap>;
20
- fetchAll(itemType: ItemType): PromiseInterface<ResponseColumnMap>;
21
- }
1
+ import { ColumnCache, ColumnUtil } from '../classes';
2
+ import { ApiRequestServiceInterface, ErrorHandlerInterface, PromiseLibraryInterface } from '../interfaces';
3
+ import { ApiRequestColumns, ItemType, PromiseInterface, ResponseColumn, ResponseColumnMap } from '../types';
4
+ export declare class ColumnHandler {
5
+ private apiRequestService;
6
+ private errorHandler;
7
+ private promiseService;
8
+ private cache;
9
+ private columnUtil;
10
+ constructor(apiRequestService: ApiRequestServiceInterface, errorHandler: ErrorHandlerInterface, promiseService: PromiseLibraryInterface, cache: ColumnCache, columnUtil: ColumnUtil);
11
+ setColumn(itemType: ItemType, responseColumn: ResponseColumn): ResponseColumn;
12
+ setColumns(itemType: ItemType, requestColumns: ApiRequestColumns, responseColumns: ResponseColumnMap): ResponseColumnMap;
13
+ fetchItemTypeTranslations(itemTypes: ItemType[]): PromiseInterface<{
14
+ [itemType: string]: string;
15
+ }>;
16
+ request(itemType: ItemType, columns: ApiRequestColumns, params?: {
17
+ filter: boolean;
18
+ }): PromiseInterface<ResponseColumnMap>;
19
+ fetch(itemType: ItemType, requestColumns: ApiRequestColumns, params?: any): PromiseInterface<ResponseColumnMap>;
20
+ fetchAll(itemType: ItemType): PromiseInterface<ResponseColumnMap>;
21
+ }
@@ -1,14 +1,14 @@
1
- import { ItemType, ResponseColumn } from '../types';
2
- export declare class ColumnInfo {
3
- readonly apiColumn: ResponseColumn;
4
- readonly parent: ColumnInfo | null;
5
- id: string;
6
- level: number;
7
- path: string;
8
- tailPath: string;
9
- itemType: ItemType | null;
10
- children: ColumnInfo[];
11
- isLeaf: boolean;
12
- constructor(apiColumn: ResponseColumn, parent?: ColumnInfo | null);
13
- setChildren(itemType: ItemType, children: ColumnInfo[]): this;
14
- }
1
+ import { ItemType, ResponseColumn } from '../types';
2
+ export declare class ColumnInfo {
3
+ readonly apiColumn: ResponseColumn;
4
+ readonly parent: ColumnInfo | null;
5
+ id: string;
6
+ level: number;
7
+ path: string;
8
+ tailPath: string;
9
+ itemType: ItemType | null;
10
+ children: ColumnInfo[];
11
+ isLeaf: boolean;
12
+ constructor(apiColumn: ResponseColumn, parent?: ColumnInfo | null);
13
+ setChildren(itemType: ItemType, children: ColumnInfo[]): this;
14
+ }
@@ -1,46 +1,46 @@
1
- import { ColumnHandler, ColumnInfo, ColumnUtil } from '../classes';
2
- import { ColumnInfoFactory, ColumnSetFactory } from '../factories';
3
- import { ApiRequestColumns, ColumnExpansionResult, ResponseColumnMap } from '../types';
4
- export declare class ColumnSet {
5
- private columnHandler;
6
- private columnUtil;
7
- private columnInfoFactory;
8
- private columnSetFactory;
9
- itemType: any;
10
- request: ApiRequestColumns;
11
- id: number;
12
- requestColumnsTrue: boolean;
13
- response: ResponseColumnMap;
14
- link: ColumnInfo | null;
15
- main: ColumnInfo[];
16
- derived: ColumnInfo[];
17
- root: ColumnInfo[];
18
- leaf: ColumnInfo[];
19
- formatted: {
20
- main: ColumnInfo[];
21
- derived: ColumnInfo[];
22
- };
23
- filtered: ColumnInfo[];
24
- custom: ColumnInfo[];
25
- searchable: ColumnInfo[];
26
- item: ColumnInfo[];
27
- notItem: ColumnInfo[];
28
- enableCaching: boolean;
29
- constructor(columnHandler: ColumnHandler, columnUtil: ColumnUtil, columnInfoFactory: ColumnInfoFactory, columnSetFactory: ColumnSetFactory, itemType: any, request: ApiRequestColumns);
30
- toJSON(): {
31
- main: string[];
32
- derived: string[];
33
- };
34
- resolve(responseColumns: ResponseColumnMap, enableCaching?: boolean, includeIdColumn?: boolean): this;
35
- expandRequestColumns(columns: ApiRequestColumns): void;
36
- isSupersetOf(columns: ApiRequestColumns): any;
37
- private processResponseColumns(responseColumns);
38
- private requestColumnsIsTrue(requestColumns);
39
- private processRequestColumns(responseColumns, includeIdColumn);
40
- private getRequestColumnInfo(requestColumn, itemType, parent, responseColumns);
41
- private getColumnInfo(columnId, itemType, children, parent, responseColumns);
42
- private getColumnSetExpansion(requestColumns, responseColumns);
43
- private getMergedColumnSet(columnSetExpansion, requestColumnsTrue);
44
- merge(columnSet: ColumnSet): ColumnSet;
45
- expand(requestColumns: ApiRequestColumns, requestColumnsTrue: boolean, responseColumns: ResponseColumnMap): ColumnExpansionResult;
46
- }
1
+ import { ColumnHandler, ColumnInfo, ColumnUtil } from '../classes';
2
+ import { ColumnInfoFactory, ColumnSetFactory } from '../factories';
3
+ import { ApiRequestColumns, ColumnExpansionResult, ResponseColumnMap } from '../types';
4
+ export declare class ColumnSet {
5
+ private columnHandler;
6
+ private columnUtil;
7
+ private columnInfoFactory;
8
+ private columnSetFactory;
9
+ itemType: any;
10
+ request: ApiRequestColumns;
11
+ id: number;
12
+ requestColumnsTrue: boolean;
13
+ response: ResponseColumnMap;
14
+ link: ColumnInfo | null;
15
+ main: ColumnInfo[];
16
+ derived: ColumnInfo[];
17
+ root: ColumnInfo[];
18
+ leaf: ColumnInfo[];
19
+ formatted: {
20
+ main: ColumnInfo[];
21
+ derived: ColumnInfo[];
22
+ };
23
+ filtered: ColumnInfo[];
24
+ custom: ColumnInfo[];
25
+ searchable: ColumnInfo[];
26
+ item: ColumnInfo[];
27
+ notItem: ColumnInfo[];
28
+ enableCaching: boolean;
29
+ constructor(columnHandler: ColumnHandler, columnUtil: ColumnUtil, columnInfoFactory: ColumnInfoFactory, columnSetFactory: ColumnSetFactory, itemType: any, request: ApiRequestColumns);
30
+ toJSON(): {
31
+ main: string[];
32
+ derived: string[];
33
+ };
34
+ resolve(responseColumns: ResponseColumnMap, enableCaching?: boolean, includeIdColumn?: boolean): this;
35
+ expandRequestColumns(columns: ApiRequestColumns): void;
36
+ isSupersetOf(columns: ApiRequestColumns): any;
37
+ private processResponseColumns(responseColumns);
38
+ private requestColumnsIsTrue(requestColumns);
39
+ private processRequestColumns(responseColumns, includeIdColumn);
40
+ private getRequestColumnInfo(requestColumn, itemType, parent, responseColumns);
41
+ private getColumnInfo(columnId, itemType, children, parent, responseColumns);
42
+ private getColumnSetExpansion(requestColumns, responseColumns);
43
+ private getMergedColumnSet(columnSetExpansion, requestColumnsTrue);
44
+ merge(columnSet: ColumnSet): ColumnSet;
45
+ expand(requestColumns: ApiRequestColumns, requestColumnsTrue: boolean, responseColumns: ResponseColumnMap): ColumnExpansionResult;
46
+ }
@@ -0,0 +1,9 @@
1
+ import { ColumnSet, ColumnUtil } from '../classes';
2
+ import { ApiRequestColumns } from '../types';
3
+ export declare class ColumnSubsetCache {
4
+ private columnUtil;
5
+ requestColumns: ApiRequestColumns;
6
+ private cache;
7
+ constructor(columnUtil: ColumnUtil, requestColumns: ApiRequestColumns);
8
+ run(columnSet: ColumnSet): boolean;
9
+ }
@@ -1,76 +1,76 @@
1
- import { ApiRequestColumn, ApiRequestColumns, ResponseColumnMap } from '../types';
2
- export declare class ColumnUtil {
3
- constructor();
4
- getColumnPath(columns: any, renderAs: any): string;
5
- getDateFormatOptions(columnType: any): {
6
- 'J-M-Y': string;
7
- 'J-M': string;
8
- 'j+F+Y': string;
9
- 'D+j+F+Y': string;
10
- 'F': string;
11
- 'f': string;
12
- 'D': string;
13
- 'd': string;
14
- };
15
- isStringColumn(column: any): boolean;
16
- isFloatColumn(column: any): boolean;
17
- isIntColumn(column: any): boolean;
18
- isNumberColumn(column: any): boolean;
19
- isCustomColumn(column: any): boolean;
20
- isItemColumn(column: any, includeId?: boolean): boolean;
21
- isDateColumn(column: any): boolean;
22
- isRenderedColumn(column: any): boolean;
23
- isFilteredColumn(column: any): boolean;
24
- isFormattedColumn(column: any): boolean;
25
- isSelectableColumn(column: any): boolean;
26
- hasLocationProperty(column: any, location: any): boolean;
27
- isEditableColumn(column: any): boolean;
28
- isSearchableColumn(column: any): boolean;
29
- getDefaultWeight(column: any): 1 | 0.5 | 1.5 | 2;
30
- getComparators(column: any): string[];
31
- isColumnSubset(first: any, second: any, secondTrue: any): any;
32
- containsColumn(requestColumn: any, destination: any): boolean;
33
- responseColumnsAvailable(itemType: any, requestColumns: any, responseColumnMap: any): boolean;
34
- copyRequestColumns(columns: ApiRequestColumns): ApiRequestColumns;
35
- copyRequestColumn(requestColumn: ApiRequestColumn): ApiRequestColumn;
36
- /**
37
- * Difference: columns that are in second, but not in first
38
- * @param {Array} first
39
- * @param {Array} second
40
- * @returns {Object} An object containing 'merged' and 'difference' properties
41
- */
42
- mergeRequestColumns(first: ApiRequestColumns, second: ApiRequestColumns): {
43
- merged: ApiRequestColumns;
44
- difference: ApiRequestColumns;
45
- };
46
- mergeRequestColumn(requestColumn: any, destination: any): any;
47
- parseRequestColumn(requestColumn: any): {
48
- id: string;
49
- children: ApiRequestColumn[];
50
- };
51
- /**
52
- * Merges two sets of response columns.
53
- * @param {object} first
54
- * @param {object} second
55
- * @returns {object} An object containing a 'merged' and a 'difference' property.
56
- */
57
- mergeResponseColumns(first: ResponseColumnMap, second: ResponseColumnMap): {
58
- merged: ResponseColumnMap;
59
- difference: ResponseColumnMap;
60
- };
61
- /**
62
- * @param {array} first
63
- * @param {array} second
64
- * @returns {object} difference: the columns that are in second, but not in first.
65
- */
66
- mergeResponseColumnMap(first: any, second: any): {
67
- merged: {};
68
- difference: {};
69
- };
70
- isLocalColumnId(columnId: any): boolean;
71
- processConfigColumns(columns: any): never[];
72
- parseConfigColumn(column: any): any;
73
- processConfigColumn(columnArray: any, destination: any): void;
74
- findColumnObject(columnId: any, array: any): number;
75
- findColumn(columnId: any, array: any): number;
76
- }
1
+ import { ApiRequestColumn, ApiRequestColumns, ResponseColumnMap } from '../types';
2
+ export declare class ColumnUtil {
3
+ constructor();
4
+ getColumnPath(columns: any, renderAs: any): string;
5
+ getDateFormatOptions(columnType: any): {
6
+ 'J-M-Y': string;
7
+ 'J-M': string;
8
+ 'j+F+Y': string;
9
+ 'D+j+F+Y': string;
10
+ 'F': string;
11
+ 'f': string;
12
+ 'D': string;
13
+ 'd': string;
14
+ };
15
+ isStringColumn(column: any): boolean;
16
+ isFloatColumn(column: any): boolean;
17
+ isIntColumn(column: any): boolean;
18
+ isNumberColumn(column: any): boolean;
19
+ isCustomColumn(column: any): boolean;
20
+ isItemColumn(column: any, includeId?: boolean): boolean;
21
+ isDateColumn(column: any): boolean;
22
+ isRenderedColumn(column: any): boolean;
23
+ isFilteredColumn(column: any): boolean;
24
+ isFormattedColumn(column: any): boolean;
25
+ isSelectableColumn(column: any): boolean;
26
+ hasLocationProperty(column: any, location: any): boolean;
27
+ isEditableColumn(column: any): boolean;
28
+ isSearchableColumn(column: any): boolean;
29
+ getDefaultWeight(column: any): 1 | 0.5 | 1.5 | 2;
30
+ getComparators(column: any): string[];
31
+ isColumnSubset(first: any, second: any, secondTrue: any): any;
32
+ containsColumn(requestColumn: any, destination: any): boolean;
33
+ responseColumnsAvailable(itemType: any, requestColumns: any, responseColumnMap: any): boolean;
34
+ copyRequestColumns(columns: ApiRequestColumns): ApiRequestColumns;
35
+ copyRequestColumn(requestColumn: ApiRequestColumn): ApiRequestColumn;
36
+ /**
37
+ * Difference: columns that are in second, but not in first
38
+ * @param {Array} first
39
+ * @param {Array} second
40
+ * @returns {Object} An object containing 'merged' and 'difference' properties
41
+ */
42
+ mergeRequestColumns(first: ApiRequestColumns, second: ApiRequestColumns): {
43
+ merged: ApiRequestColumns;
44
+ difference: ApiRequestColumns;
45
+ };
46
+ mergeRequestColumn(requestColumn: any, destination: any): any;
47
+ parseRequestColumn(requestColumn: any): {
48
+ id: string;
49
+ children: ApiRequestColumn[];
50
+ };
51
+ /**
52
+ * Merges two sets of response columns.
53
+ * @param {object} first
54
+ * @param {object} second
55
+ * @returns {object} An object containing a 'merged' and a 'difference' property.
56
+ */
57
+ mergeResponseColumns(first: ResponseColumnMap, second: ResponseColumnMap): {
58
+ merged: ResponseColumnMap;
59
+ difference: ResponseColumnMap;
60
+ };
61
+ /**
62
+ * @param {array} first
63
+ * @param {array} second
64
+ * @returns {object} difference: the columns that are in second, but not in first.
65
+ */
66
+ mergeResponseColumnMap(first: any, second: any): {
67
+ merged: {};
68
+ difference: {};
69
+ };
70
+ isLocalColumnId(columnId: any): boolean;
71
+ processConfigColumns(columns: any): never[];
72
+ parseConfigColumn(column: any): any;
73
+ processConfigColumn(columnArray: any, destination: any): void;
74
+ findColumnObject(columnId: any, array: any): number;
75
+ findColumn(columnId: any, array: any): number;
76
+ }