@rentman/rm-core 1.7.6 → 1.8.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 (94) hide show
  1. package/changelog.md +6 -0
  2. package/dist/rm-core.js +8097 -7631
  3. package/dist/rm-core.min.js +1 -1
  4. package/dist/src/classes/ApiFormatter.d.ts +39 -39
  5. package/dist/src/classes/ApiRequestService.d.ts +20 -20
  6. package/dist/src/classes/ApiResponseProcessor.d.ts +39 -39
  7. package/dist/src/classes/BatchStatus.d.ts +28 -28
  8. package/dist/src/classes/ChangesCompilation.d.ts +51 -51
  9. package/dist/src/classes/ChangesProcessor.d.ts +33 -33
  10. package/dist/src/classes/CollectionCache.d.ts +32 -34
  11. package/dist/src/classes/CollectionEntryService.d.ts +22 -23
  12. package/dist/src/classes/CollectionHandler.d.ts +54 -54
  13. package/dist/src/classes/CollectionMatcher.d.ts +42 -42
  14. package/dist/src/classes/CollectionResourceService.d.ts +6 -6
  15. package/dist/src/classes/ColumnCache.d.ts +21 -21
  16. package/dist/src/classes/ColumnExpansion.d.ts +18 -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 +39 -39
  20. package/dist/src/classes/ColumnSubsetCache.d.ts +8 -8
  21. package/dist/src/classes/ColumnUtil.d.ts +88 -89
  22. package/dist/src/classes/CreateRequest.d.ts +20 -20
  23. package/dist/src/classes/ItemAdministrator.d.ts +234 -237
  24. package/dist/src/classes/ItemCache.d.ts +23 -23
  25. package/dist/src/classes/ItemEntryService.d.ts +23 -23
  26. package/dist/src/classes/ItemHandler.d.ts +60 -60
  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 +112 -92
  30. package/dist/src/classes/LocalCacheEventHandler.d.ts +19 -19
  31. package/dist/src/classes/LockService.d.ts +32 -32
  32. package/dist/src/classes/ModuleChangesCompilation.d.ts +21 -21
  33. package/dist/src/classes/QueryMatcher.d.ts +14 -14
  34. package/dist/src/classes/QueryParser.d.ts +34 -34
  35. package/dist/src/classes/QueryService.d.ts +14 -14
  36. package/dist/src/classes/RequestColumnExpansion.d.ts +14 -14
  37. package/dist/src/classes/SocketMessageHandler.d.ts +41 -41
  38. package/dist/src/classes/Util.d.ts +28 -28
  39. package/dist/src/classes/index.d.ts +35 -36
  40. package/dist/src/constants.d.ts +18 -18
  41. package/dist/src/core.d.ts +48 -48
  42. package/dist/src/factories/ApiResponseProcessorFactory.d.ts +6 -6
  43. package/dist/src/factories/BatchStatusFactory.d.ts +9 -9
  44. package/dist/src/factories/ChangesCompilationFactory.d.ts +10 -10
  45. package/dist/src/factories/CollectionCacheFactory.d.ts +7 -8
  46. package/dist/src/factories/CollectionEntryFactory.d.ts +23 -23
  47. package/dist/src/factories/CollectionMatcherFactory.d.ts +8 -8
  48. package/dist/src/factories/CollectionResourceFactory.d.ts +32 -33
  49. package/dist/src/factories/ColumnExpansionFactory.d.ts +8 -8
  50. package/dist/src/factories/ColumnInfoFactory.d.ts +7 -7
  51. package/dist/src/factories/ColumnSetFactory.d.ts +17 -17
  52. package/dist/src/factories/ColumnSubsetCacheFactory.d.ts +6 -6
  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 +21 -21
  56. package/dist/src/factories/ItemResourceFactory.d.ts +28 -29
  57. package/dist/src/factories/LocalCacheFactory.d.ts +16 -16
  58. package/dist/src/factories/ModuleChangesCompilationFactory.d.ts +6 -6
  59. package/dist/src/factories/QueryMatcherFactory.d.ts +7 -7
  60. package/dist/src/factories/QueryParserFactory.d.ts +6 -6
  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 +21 -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/ExceptionHandlerInterface.d.ts +3 -3
  69. package/dist/src/interfaces/LocalCacheManagerInterface.d.ts +5 -5
  70. package/dist/src/interfaces/PromiseLibraryInterface.d.ts +25 -25
  71. package/dist/src/interfaces/SocketMessageInterface.d.ts +3 -3
  72. package/dist/src/interfaces/index.d.ts +7 -7
  73. package/dist/src/models/CollectionEditResource.d.ts +14 -14
  74. package/dist/src/models/CollectionEntry.d.ts +87 -82
  75. package/dist/src/models/CollectionEntryOptions.d.ts +12 -12
  76. package/dist/src/models/CollectionResource.d.ts +52 -41
  77. package/dist/src/models/CollectionResourceOptions.d.ts +22 -22
  78. package/dist/src/models/CollectionViewResource.d.ts +7 -7
  79. package/dist/src/models/EditResource.d.ts +18 -18
  80. package/dist/src/models/ItemEntry.d.ts +76 -70
  81. package/dist/src/models/ItemEntryOptions.d.ts +10 -10
  82. package/dist/src/models/ItemResource.d.ts +45 -27
  83. package/dist/src/models/ItemResourceOptions.d.ts +9 -9
  84. package/dist/src/models/LocalViewResource.d.ts +7 -7
  85. package/dist/src/models/RemoteViewResource.d.ts +7 -7
  86. package/dist/src/models/Template.d.ts +11 -11
  87. package/dist/src/models/ViewResource.d.ts +8 -8
  88. package/dist/src/models/index.d.ts +15 -15
  89. package/dist/src/types/ItemTypesCollection.d.ts +197 -196
  90. package/dist/src/types/PromiseInterface.d.ts +2 -2
  91. package/dist/src/types/index.d.ts +2 -2
  92. package/package.json +1 -1
  93. package/readme.md +15 -15
  94. package/dist/src/classes/ResourceCache.d.ts +0 -25
@@ -1,23 +1,23 @@
1
- import { KeyService } from '../classes';
2
- import { AuthInterface } from '../interfaces';
3
- import { ItemEntry, ItemEntryOptions } from '../models';
4
- import { ApiResponse, FieldMap, ItemError, ItemId, ItemIdConversionMap, ItemOptionsInterface, ItemType } from '../types';
5
- export declare class ItemEntryService {
6
- private authInterface;
7
- private keyService;
8
- constructor(authInterface: AuthInterface, keyService: KeyService);
9
- processOptions(options: ItemOptionsInterface): ItemEntryOptions;
10
- createUnfoundRemoteItemError(): ItemError;
11
- createUnfoundLocalItemError(itemType: ItemType): ItemError;
12
- createExistingLocalItemError(itemType: ItemType): ItemError;
13
- createLocalConversionMap(itemType: ItemType, itemId: ItemId, doExtend: boolean | undefined, apiResponse: ApiResponse): ItemIdConversionMap;
14
- expandLocalConversionMap(parentType: ItemType, parentId: ItemId, apiResponse: ApiResponse, conversionMap: ItemIdConversionMap): void;
15
- expandConversionMap(itemEntry: ItemEntry<any>, conversionMap: ItemIdConversionMap, newItemId?: ItemId): ItemId;
16
- batchExpandConversionMap(itemEntries: Array<ItemEntry<any>>, conversionMap: ItemIdConversionMap): ItemIdConversionMap;
17
- getConversionValue(itemType: ItemType, itemId: ItemId, map: ItemIdConversionMap): ItemId | undefined;
18
- batchClone<ItemTypeType extends ItemType>(itemEntries: Array<ItemEntry<ItemTypeType>>, conversionMap?: ItemIdConversionMap): Array<ItemEntry<ItemTypeType>>;
19
- getFullName(firstName: string, infix: string, lastName: string): string;
20
- getTitleField(itemType: ItemType): string;
21
- getLocalDefaultValues(): FieldMap;
22
- hasLocalDefaultValue(columnId: string): boolean;
23
- }
1
+ import { KeyService } from '../classes';
2
+ import { AuthInterface } from '../interfaces';
3
+ import { ItemEntry, ItemEntryOptions } from '../models';
4
+ import { ApiResponse, FieldMap, ItemError, ItemId, ItemIdConversionMap, ItemOptionsInterface, ItemType } from '../types';
5
+ export declare class ItemEntryService {
6
+ private authInterface;
7
+ private keyService;
8
+ constructor(authInterface: AuthInterface, keyService: KeyService);
9
+ processOptions(options: ItemOptionsInterface): ItemEntryOptions;
10
+ createUnfoundRemoteItemError(): ItemError;
11
+ createUnfoundLocalItemError(itemType: ItemType): ItemError;
12
+ createExistingLocalItemError(itemType: ItemType): ItemError;
13
+ createLocalConversionMap(itemType: ItemType, itemId: ItemId, doExtend: boolean | undefined, apiResponse: ApiResponse): ItemIdConversionMap;
14
+ expandLocalConversionMap(parentType: ItemType, parentId: ItemId, apiResponse: ApiResponse, conversionMap: ItemIdConversionMap): void;
15
+ expandConversionMap(itemEntry: ItemEntry<any>, conversionMap: ItemIdConversionMap, newItemId?: ItemId): ItemId;
16
+ batchExpandConversionMap(itemEntries: Array<ItemEntry<any>>, conversionMap: ItemIdConversionMap): ItemIdConversionMap;
17
+ getConversionValue(itemType: ItemType, itemId: ItemId, map: ItemIdConversionMap): ItemId | undefined;
18
+ batchClone<ItemTypeType extends ItemType>(itemEntries: Array<ItemEntry<ItemTypeType>>, conversionMap?: ItemIdConversionMap): Array<ItemEntry<ItemTypeType>>;
19
+ getFullName(firstName: string, infix: string, lastName: string): string;
20
+ getTitleField(itemType: ItemType): string;
21
+ getLocalDefaultValues(): FieldMap;
22
+ hasLocalDefaultValue(columnId: string): boolean;
23
+ }
@@ -1,60 +1,60 @@
1
- import { ApiFormatter, ApiResponseProcessor, BatchStatus, ColumnExpansion, ColumnHandler, ColumnInfo, ColumnSubsetCache, ColumnUtil, ItemCache, ItemEntryService, KeyService } from '../classes';
2
- import { ENTRY_STATUS } from '../constants';
3
- import { BatchStatusFactory, ColumnExpansionFactory, ColumnSetFactory, ColumnSubsetCacheFactory, ItemCacheFactory, ItemEntryFactory, TemplateFactory } from '../factories';
4
- import { ApiRequestServiceInterface, ErrorHandlerInterface, PromiseLibraryInterface } from '../interfaces';
5
- import { ItemEntry, ItemEntryOptions, Template } from '../models';
6
- import { ApiRequestColumns, ApiResponse, EntryParentNull, EntryStatus, ItemId, ItemIdConversionMap, ItemType, LinkedItemEntryMap, PromiseInterface, ResponseColumnMap, TemplateItemEntryMap } from '../types';
7
- export declare class ItemHandler {
8
- private apiFormatter;
9
- private apiRequestService;
10
- private batchStatusFactory;
11
- private columnExpansionFactory;
12
- private columnHandler;
13
- private columnSetFactory;
14
- private columnSubsetCacheFactory;
15
- private columnUtil;
16
- private errorHandler;
17
- private itemCacheFactory;
18
- private itemEntryFactory;
19
- private itemEntryService;
20
- private keyService;
21
- private promiseService;
22
- private templateFactory;
23
- entries: ItemCache;
24
- templates: {
25
- [itemType: string]: Template<any>;
26
- };
27
- constructor(apiFormatter: ApiFormatter, apiRequestService: ApiRequestServiceInterface, batchStatusFactory: BatchStatusFactory, columnExpansionFactory: ColumnExpansionFactory, columnHandler: ColumnHandler, columnSetFactory: ColumnSetFactory, columnSubsetCacheFactory: ColumnSubsetCacheFactory, columnUtil: ColumnUtil, errorHandler: ErrorHandlerInterface, itemCacheFactory: ItemCacheFactory, itemEntryFactory: ItemEntryFactory, itemEntryService: ItemEntryService, keyService: KeyService, promiseService: PromiseLibraryInterface, templateFactory: TemplateFactory);
28
- fetchItem<ItemTypeType extends ItemType>(itemType: ItemTypeType, itemId: ItemId, options: ItemEntryOptions, localItemCache: ItemCache): PromiseInterface<ItemEntry<ItemTypeType>>;
29
- fetchNewItem<ItemTypeType extends ItemType>(itemType: ItemTypeType, itemId: ItemId, options: ItemEntryOptions, localItemCache: ItemCache): PromiseInterface<TemplateItemEntryMap<ItemTypeType>>;
30
- createBatchStatus<ItemTypeType extends ItemType>(itemType: ItemTypeType, itemIds: ItemId[], parent: EntryParentNull, requestColumns: ApiRequestColumns, deferRequest: boolean, localItemCache: ItemCache, addToLocalCache: boolean): {
31
- batchStatus: BatchStatus<ItemTypeType, ItemEntry<ItemTypeType>>;
32
- success: boolean;
33
- };
34
- /**
35
- * For every item ID find the status of the ItemEntry and resolve the promises so the result is
36
- * a usable ItemEntry
37
- */
38
- fetchItems<ItemTypeType extends ItemType>(itemType: ItemTypeType, itemIds: ItemId[], options: ItemEntryOptions, localItemCache: ItemCache): PromiseInterface<Array<ItemEntry<ItemTypeType>>>;
39
- handleBatchResponse<ItemTypeType extends ItemType>(batchStatus: BatchStatus<ItemTypeType, ItemEntry<ItemTypeType>>, localItemCache: ItemCache, requestColumns: ApiRequestColumns, response: ApiResponseProcessor | null, responseColumns: ResponseColumnMap | null, columnExpansion?: ColumnExpansion<ItemTypeType>): PromiseInterface<boolean>;
40
- resolveCached<ItemTypeType extends ItemType>(itemEntry: ItemEntry<ItemTypeType>, status: ENTRY_STATUS, options: ItemEntryOptions, localItemCache: ItemCache): PromiseInterface<ItemEntry<ItemTypeType>>;
41
- private getColumnDifference;
42
- resolveLocal<ItemTypeType extends ItemType>(itemEntry: ItemEntry<ItemTypeType>, parent: EntryParentNull, template: Template<ItemTypeType>, localItemCache: ItemCache): TemplateItemEntryMap<ItemTypeType>;
43
- resolveExpansion<ItemTypeType extends ItemType>(itemEntry: ItemEntry<ItemTypeType>, columnExpansion: ColumnExpansion<ItemTypeType>, response: ApiResponse): ItemEntry<ItemTypeType>;
44
- private clearItem;
45
- private resolveRemote;
46
- private resolveRemoteValues;
47
- private getResponseFields;
48
- fetchTemplate<ItemTypeType extends ItemType>(itemType: ItemTypeType, templateOptions?: any, templateColumns?: any): PromiseInterface<Template<ItemTypeType>>;
49
- getEntryStatus<ItemTypeType extends ItemType>(itemType: ItemTypeType, itemId: ItemId, parent: EntryParentNull, deferRequest: boolean, localItemCache: ItemCache, addToLocalCache: boolean, columnSubsetCache: ColumnSubsetCache<ItemTypeType>): EntryStatus<ItemEntry<ItemTypeType>> | null;
50
- getCachedEntryStatus<ItemTypeType extends ItemType>(itemEntry: ItemEntry<ItemTypeType>, columnSubsetCache: ColumnSubsetCache<ItemTypeType>): ENTRY_STATUS;
51
- fetchTitle(itemType: ItemType, itemId: ItemId, deferRequest: boolean | undefined, localItemCache: ItemCache): PromiseInterface<string>;
52
- createLocalEntries(parentType: ItemType, localParentId: ItemId, template: Template<ItemType>, itemIdConversion: ItemIdConversionMap, localItemCache: ItemCache, filterItemEntry?: (itemEntry: ItemEntry<ItemType>) => boolean): Array<LinkedItemEntryMap<ItemType>>;
53
- expandLocalEntries<ItemTypeType extends ItemType>(itemType: ItemTypeType, itemEntries: Array<ItemEntry<ItemTypeType>>, requestColumns: ApiRequestColumns, responseColumns: ResponseColumnMap, localItemCache: ItemCache): PromiseInterface<Array<ItemEntry<ItemTypeType>>>;
54
- resolveDerivedValues<ItemTypeType extends ItemType>(itemEntries: Array<ItemEntry<ItemTypeType>>, columns: Array<ColumnInfo<ItemTypeType>>, localItemCache: ItemCache): PromiseInterface<Array<ItemEntry<ItemTypeType>>>;
55
- private setDefaultValuesByColumn;
56
- private getItemIdByColumn;
57
- private fetchDerivedValuesByColumn;
58
- requestItem(itemEntry: ItemEntry<any>, requestColumns?: ApiRequestColumns): PromiseInterface<ApiResponseProcessor>;
59
- requestItems(itemType: ItemType, itemIds: ItemId[], columns: ApiRequestColumns): PromiseInterface<ApiResponseProcessor>;
60
- }
1
+ import { ApiFormatter, ApiResponseProcessor, BatchStatus, ColumnExpansion, ColumnHandler, ColumnInfo, ColumnSubsetCache, ColumnUtil, ItemCache, ItemEntryService, KeyService } from '../classes';
2
+ import { ENTRY_STATUS } from '../constants';
3
+ import { BatchStatusFactory, ColumnExpansionFactory, ColumnSetFactory, ColumnSubsetCacheFactory, ItemCacheFactory, ItemEntryFactory, TemplateFactory } from '../factories';
4
+ import { ApiRequestServiceInterface, ErrorHandlerInterface, PromiseLibraryInterface } from '../interfaces';
5
+ import { ItemEntry, ItemEntryOptions, Template } from '../models';
6
+ import { ApiRequestColumns, ApiResponse, EntryParentNull, EntryStatus, ItemId, ItemIdConversionMap, ItemType, LinkedItemEntryMap, PromiseInterface, ResponseColumnItemTypeMap, TemplateItemEntryMap } from '../types';
7
+ export declare class ItemHandler {
8
+ private apiFormatter;
9
+ private apiRequestService;
10
+ private batchStatusFactory;
11
+ private columnExpansionFactory;
12
+ private columnHandler;
13
+ private columnSetFactory;
14
+ private columnSubsetCacheFactory;
15
+ private columnUtil;
16
+ private errorHandler;
17
+ private itemCacheFactory;
18
+ private itemEntryFactory;
19
+ private itemEntryService;
20
+ private keyService;
21
+ private promiseService;
22
+ private templateFactory;
23
+ entries: ItemCache;
24
+ templates: {
25
+ [itemType: string]: Template<any>;
26
+ };
27
+ constructor(apiFormatter: ApiFormatter, apiRequestService: ApiRequestServiceInterface, batchStatusFactory: BatchStatusFactory, columnExpansionFactory: ColumnExpansionFactory, columnHandler: ColumnHandler, columnSetFactory: ColumnSetFactory, columnSubsetCacheFactory: ColumnSubsetCacheFactory, columnUtil: ColumnUtil, errorHandler: ErrorHandlerInterface, itemCacheFactory: ItemCacheFactory, itemEntryFactory: ItemEntryFactory, itemEntryService: ItemEntryService, keyService: KeyService, promiseService: PromiseLibraryInterface, templateFactory: TemplateFactory);
28
+ fetchItem<ItemTypeType extends ItemType>(itemType: ItemTypeType, itemId: ItemId, options: ItemEntryOptions, localItemCache: ItemCache): PromiseInterface<ItemEntry<ItemTypeType>>;
29
+ fetchNewItem<ItemTypeType extends ItemType>(itemType: ItemTypeType, itemId: ItemId, options: ItemEntryOptions, localItemCache: ItemCache): PromiseInterface<TemplateItemEntryMap<ItemTypeType>>;
30
+ createBatchStatus<ItemTypeType extends ItemType>(itemType: ItemTypeType, itemIds: ItemId[], parent: EntryParentNull, requestColumns: ApiRequestColumns, deferRequest: boolean, localItemCache: ItemCache, addToLocalCache: boolean): {
31
+ batchStatus: BatchStatus<ItemTypeType, ItemEntry<ItemTypeType>>;
32
+ success: boolean;
33
+ };
34
+ /**
35
+ * @description
36
+ * For every {@link ItemEntry.itemId ItemId}, find the status of the {@link ItemEntry ItemEntry} and resolve the promises so the result is a usable {@link ItemEntry ItemEntry}
37
+ */
38
+ fetchItems<ItemTypeType extends ItemType>(itemType: ItemTypeType, itemIds: ItemId[], options: ItemEntryOptions, localItemCache: ItemCache): PromiseInterface<Array<ItemEntry<ItemTypeType>>>;
39
+ handleBatchResponse<ItemTypeType extends ItemType>(batchStatus: BatchStatus<ItemTypeType, ItemEntry<ItemTypeType>>, localItemCache: ItemCache, requestColumns: ApiRequestColumns, response: ApiResponseProcessor | null, responseColumns: ResponseColumnItemTypeMap | null, columnExpansion?: ColumnExpansion<ItemTypeType>): PromiseInterface<boolean>;
40
+ resolveCached<ItemTypeType extends ItemType>(itemEntry: ItemEntry<ItemTypeType>, status: ENTRY_STATUS, options: ItemEntryOptions, localItemCache: ItemCache): PromiseInterface<ItemEntry<ItemTypeType>>;
41
+ private getColumnDifference;
42
+ resolveLocal<ItemTypeType extends ItemType>(itemEntry: ItemEntry<ItemTypeType>, parent: EntryParentNull, template: Template<ItemTypeType>, localItemCache: ItemCache): TemplateItemEntryMap<ItemTypeType>;
43
+ resolveExpansion<ItemTypeType extends ItemType>(itemEntry: ItemEntry<ItemTypeType>, columnExpansion: ColumnExpansion<ItemTypeType>, response: ApiResponse): ItemEntry<ItemTypeType>;
44
+ private clearItem;
45
+ private resolveRemote;
46
+ private resolveRemoteValues;
47
+ private getResponseFields;
48
+ fetchTemplate<ItemTypeType extends ItemType>(itemType: ItemTypeType, templateOptions?: any, templateColumns?: any): PromiseInterface<Template<ItemTypeType>>;
49
+ getEntryStatus<ItemTypeType extends ItemType>(itemType: ItemTypeType, itemId: ItemId, parent: EntryParentNull, deferRequest: boolean, localItemCache: ItemCache, addToLocalCache: boolean, columnSubsetCache: ColumnSubsetCache<ItemTypeType>): EntryStatus<ItemEntry<ItemTypeType>> | null;
50
+ getCachedEntryStatus<ItemTypeType extends ItemType>(itemEntry: ItemEntry<ItemTypeType>, columnSubsetCache: ColumnSubsetCache<ItemTypeType>): ENTRY_STATUS;
51
+ fetchTitle(itemType: ItemType, itemId: ItemId, deferRequest: boolean | undefined, localItemCache: ItemCache): PromiseInterface<string>;
52
+ createLocalEntries(parentType: ItemType, localParentId: ItemId, template: Template<ItemType>, itemIdConversion: ItemIdConversionMap, localItemCache: ItemCache, filterItemEntry?: (itemEntry: ItemEntry<ItemType>) => boolean): Array<LinkedItemEntryMap<ItemType>>;
53
+ expandLocalEntries<ItemTypeType extends ItemType>(itemType: ItemTypeType, itemEntries: Array<ItemEntry<ItemTypeType>>, requestColumns: ApiRequestColumns, responseColumns: ResponseColumnItemTypeMap, localItemCache: ItemCache): PromiseInterface<Array<ItemEntry<ItemTypeType>>>;
54
+ resolveDerivedValues<ItemTypeType extends ItemType>(itemEntries: Array<ItemEntry<ItemTypeType>>, columns: Array<ColumnInfo<ItemTypeType>>, localItemCache: ItemCache): PromiseInterface<Array<ItemEntry<ItemTypeType>>>;
55
+ private setDefaultValuesByColumn;
56
+ private getItemIdByColumn;
57
+ private fetchDerivedValuesByColumn;
58
+ requestItem(itemEntry: ItemEntry<any>, requestColumns?: ApiRequestColumns): PromiseInterface<ApiResponseProcessor>;
59
+ requestItems(itemType: ItemType, itemIds: ItemId[], columns: ApiRequestColumns): PromiseInterface<ApiResponseProcessor>;
60
+ }
@@ -1,23 +1,23 @@
1
- import { ApiResponseProcessor, ColumnExpansion, ColumnSet, ItemHandler, QueryService } from '../classes';
2
- import { ColumnExpansionFactory, ColumnSetFactory, ItemEntryFactory } from '../factories';
3
- import { ApiRequestServiceInterface, ErrorHandlerInterface, PromiseLibraryInterface } from '../interfaces';
4
- import { CollectionEntry, ItemEntry } from '../models';
5
- import { ApiQuery, ApiRequestColumns, ApiResponse, EntryParentNull, ItemId, ItemType, PromiseInterface } from '../types';
6
- export declare class ItemRequestService {
7
- private apiRequestService;
8
- private errorHandler;
9
- private itemHandler;
10
- private columnExpansionFactory;
11
- private columnSetFactory;
12
- private itemEntryFactory;
13
- private queryService;
14
- private promiseService;
15
- constructor(apiRequestService: ApiRequestServiceInterface, errorHandler: ErrorHandlerInterface, itemHandler: ItemHandler, columnExpansionFactory: ColumnExpansionFactory, columnSetFactory: ColumnSetFactory, itemEntryFactory: ItemEntryFactory, queryService: QueryService, promiseService: PromiseLibraryInterface);
16
- requestItem(itemType: ItemType, itemId: ItemId, columns: ApiRequestColumns): PromiseInterface<ApiResponseProcessor>;
17
- requestItems<ItemTypeType extends ItemType>(collectionEntry: CollectionEntry<ItemTypeType>, query?: ApiQuery, columns?: ApiRequestColumns): PromiseInterface<ApiResponseProcessor>;
18
- requestLinkItems(parentType: ItemType, parentIdArray: ItemId[], itemType: ItemType, query: ApiQuery, columns: ApiRequestColumns): PromiseInterface<ApiResponseProcessor>;
19
- processExpansion<ItemTypeType extends ItemType>(requestColumns: ApiRequestColumns, response: ApiResponse, itemType: ItemTypeType, itemEntries: Array<ItemEntry<ItemTypeType>>): ColumnExpansion<ItemTypeType>;
20
- processResponse<ItemTypeType extends ItemType>(response: ApiResponse, idArray: ItemId[], parent: EntryParentNull, columnSet: ColumnSet<ItemTypeType>, columnExpansion?: ColumnExpansion<ItemTypeType>): PromiseInterface<Array<ItemEntry<ItemTypeType>>>;
21
- handleCachedItem<ItemTypeType extends ItemType>(itemEntry: ItemEntry<ItemTypeType>, response: ApiResponse, columnExpansion: ColumnExpansion<ItemTypeType>): ItemEntry<ItemTypeType>;
22
- processLinkResponse<ItemTypeType extends ItemType>(response: ApiResponse, parentType: ItemType, parentIdArray: ItemId[], itemType: ItemTypeType, options: any): Promise<any>;
23
- }
1
+ import { ApiResponseProcessor, ColumnExpansion, ColumnSet, ItemHandler, QueryService } from '../classes';
2
+ import { ColumnExpansionFactory, ColumnSetFactory, ItemEntryFactory } from '../factories';
3
+ import { ApiRequestServiceInterface, ErrorHandlerInterface, PromiseLibraryInterface } from '../interfaces';
4
+ import { CollectionEntry, ItemEntry } from '../models';
5
+ import { ApiQuery, ApiRequestColumns, ApiResponse, EntryParentNull, ItemId, ItemType, PromiseInterface } from '../types';
6
+ export declare class ItemRequestService {
7
+ private apiRequestService;
8
+ private errorHandler;
9
+ private itemHandler;
10
+ private columnExpansionFactory;
11
+ private columnSetFactory;
12
+ private itemEntryFactory;
13
+ private queryService;
14
+ private promiseService;
15
+ constructor(apiRequestService: ApiRequestServiceInterface, errorHandler: ErrorHandlerInterface, itemHandler: ItemHandler, columnExpansionFactory: ColumnExpansionFactory, columnSetFactory: ColumnSetFactory, itemEntryFactory: ItemEntryFactory, queryService: QueryService, promiseService: PromiseLibraryInterface);
16
+ requestItem(itemType: ItemType, itemId: ItemId, columns: ApiRequestColumns): PromiseInterface<ApiResponseProcessor>;
17
+ requestItems<ItemTypeType extends ItemType>(collectionEntry: CollectionEntry<ItemTypeType>, query?: ApiQuery, columns?: ApiRequestColumns): PromiseInterface<ApiResponseProcessor>;
18
+ requestLinkItems(parentType: ItemType, parentIdArray: ItemId[], itemType: ItemType, query: ApiQuery, columns: ApiRequestColumns): PromiseInterface<ApiResponseProcessor>;
19
+ processExpansion<ItemTypeType extends ItemType>(requestColumns: ApiRequestColumns, response: ApiResponse, itemType: ItemTypeType, itemEntries: Array<ItemEntry<ItemTypeType>>): ColumnExpansion<ItemTypeType>;
20
+ processResponse<ItemTypeType extends ItemType>(response: ApiResponse, idArray: ItemId[], parent: EntryParentNull, columnSet: ColumnSet<ItemTypeType>, columnExpansion?: ColumnExpansion<ItemTypeType>): PromiseInterface<Array<ItemEntry<ItemTypeType>>>;
21
+ handleCachedItem<ItemTypeType extends ItemType>(itemEntry: ItemEntry<ItemTypeType>, response: ApiResponse, columnExpansion: ColumnExpansion<ItemTypeType>): ItemEntry<ItemTypeType>;
22
+ processLinkResponse<ItemTypeType extends ItemType>(response: ApiResponse, parentType: ItemType, parentIdArray: ItemId[], itemType: ItemTypeType, options: any): Promise<any>;
23
+ }
@@ -1,16 +1,16 @@
1
- import { ItemId, StateKey } from '../types';
2
- export declare class KeyService {
3
- separator: string;
4
- constructor();
5
- getSingleKey(itemType: string, itemId: number | string): string;
6
- getCssKey(...args: any[]): string;
7
- parseStateKey(stateKey: string): StateKey | null;
8
- getDuplicateStateKey(itemId: string | number): string;
9
- getNewStateKey(templateType: string): string;
10
- getLocalId(): ItemId;
11
- getLocalDuplicateId(): ItemId;
12
- getRandomString(): string;
13
- isLocalId(itemId: ItemId | string): boolean;
14
- isNewId(itemId: ItemId | string): boolean;
15
- isDuplicateId(itemId: ItemId | string): boolean;
16
- }
1
+ import { ItemId, StateKey } from '../types';
2
+ export declare class KeyService {
3
+ separator: string;
4
+ constructor();
5
+ getSingleKey(itemType: string, itemId: number | string): string;
6
+ getCssKey(...args: any[]): string;
7
+ parseStateKey(stateKey: string): StateKey | null;
8
+ getDuplicateStateKey(itemId: string | number): string;
9
+ getNewStateKey(templateType: string): string;
10
+ getLocalId(): ItemId;
11
+ getLocalDuplicateId(): ItemId;
12
+ getRandomString(): string;
13
+ isLocalId(itemId: ItemId | string): boolean;
14
+ isNewId(itemId: ItemId | string): boolean;
15
+ isDuplicateId(itemId: ItemId | string): boolean;
16
+ }
@@ -1,92 +1,112 @@
1
- import { ChangesProcessor, CollectionCache, ItemCache, LocalCacheCallbackCondition, LocalCacheCallbackType, LockService } from '../classes';
2
- import { CollectionCacheFactory, CollectionResourceFactory, ItemCacheFactory, ItemResourceFactory } from '../factories';
3
- import { ErrorHandlerInterface, ExceptionHandlerInterface, PromiseLibraryInterface } from '../interfaces';
4
- import { CollectionEditResource, CollectionEntry, CollectionResource, CollectionResourceOptionsInterface, CollectionViewResource, EditResource, ItemEntry, ItemResource, LocalViewResource, RemoteViewResource } from '../models';
5
- import { CollectionEntryParentIdMap, CollectionResourceParentIdMap, CreateRequestParameterMap, ItemIdConversionMap, ItemOptionsInterface, ItemType, PromiseInterface } from '../types';
6
- export declare class LocalCache {
7
- private changesProcessor;
8
- private collectionResourceFactory;
9
- private errorHandler;
10
- private itemResourceFactory;
11
- private lockService;
12
- private promiseService;
13
- id: string;
14
- readonly defaultResourceLevel: number;
15
- readonly items: ItemCache;
16
- readonly collections: CollectionCache;
17
- readonly deferredCollections: CollectionCache;
18
- rootItem: ItemEntry<any> | undefined;
19
- tabRequestParameters: {};
20
- isSaving: boolean;
21
- private changesInterval;
22
- hasChanges: boolean;
23
- private eventHandler;
24
- constructor(exceptionHandler: ExceptionHandlerInterface, collectionCacheFactory: CollectionCacheFactory, itemCacheFactory: ItemCacheFactory, changesProcessor: ChangesProcessor, collectionResourceFactory: CollectionResourceFactory, errorHandler: ErrorHandlerInterface, itemResourceFactory: ItemResourceFactory, lockService: LockService, promiseService: PromiseLibraryInterface, id: string, defaultResourceLevel: number);
25
- createItemResource<ItemTypeType extends ItemType>(itemEntry: ItemEntry<ItemTypeType>, options: ItemOptionsInterface & {
26
- edit: true;
27
- }, level?: number, isRoot?: boolean, isNew?: boolean): EditResource<ItemTypeType>;
28
- createItemResource<ItemTypeType extends ItemType>(itemEntry: ItemEntry<ItemTypeType>, options: ItemOptionsInterface & {
29
- remote: true;
30
- }, level?: number, isRoot?: boolean, isNew?: boolean): RemoteViewResource<ItemTypeType>;
31
- createItemResource<ItemTypeType extends ItemType>(itemEntry: ItemEntry<ItemTypeType>, options: ItemOptionsInterface, level?: number, isRoot?: boolean, isNew?: boolean): LocalViewResource<ItemTypeType>;
32
- createItemResources<ItemTypeType extends ItemType>(itemEntries: Array<ItemEntry<ItemTypeType>>, options: ItemOptionsInterface & {
33
- edit: true;
34
- }, level?: number): Array<EditResource<ItemTypeType>>;
35
- createItemResources<ItemTypeType extends ItemType>(itemEntries: Array<ItemEntry<ItemTypeType>>, options: ItemOptionsInterface & {
36
- remote: true;
37
- }, level?: number): Array<RemoteViewResource<ItemTypeType>>;
38
- createItemResources<ItemTypeType extends ItemType>(itemEntries: Array<ItemEntry<ItemTypeType>>, options: ItemOptionsInterface, level?: number): Array<LocalViewResource<ItemTypeType>>;
39
- createCollectionResource<ItemTypeType extends ItemType>(collectionEntry: CollectionEntry<ItemTypeType>, resourceOptions: CollectionResourceOptionsInterface<ItemTypeType> & {
40
- editItems: true;
41
- editCollection: true;
42
- }, level?: number): CollectionEditResource<ItemTypeType, EditResource<ItemTypeType>>;
43
- createCollectionResource<ItemTypeType extends ItemType>(collectionEntry: CollectionEntry<ItemTypeType>, resourceOptions: CollectionResourceOptionsInterface<ItemTypeType> & {
44
- remoteItems: true;
45
- editCollection: true;
46
- }, level?: number): CollectionEditResource<ItemTypeType, RemoteViewResource<ItemTypeType>>;
47
- createCollectionResource<ItemTypeType extends ItemType>(collectionEntry: CollectionEntry<ItemTypeType>, resourceOptions: CollectionResourceOptionsInterface<ItemTypeType> & {
48
- editCollection: true;
49
- }, level?: number): CollectionEditResource<ItemTypeType, LocalViewResource<ItemTypeType>>;
50
- createCollectionResource<ItemTypeType extends ItemType>(collectionEntry: CollectionEntry<ItemTypeType>, resourceOptions: CollectionResourceOptionsInterface<ItemTypeType> & {
51
- editItems: true;
52
- }, level?: number): CollectionViewResource<ItemTypeType, EditResource<ItemTypeType>>;
53
- createCollectionResource<ItemTypeType extends ItemType>(collectionEntry: CollectionEntry<ItemTypeType>, resourceOptions: CollectionResourceOptionsInterface<ItemTypeType> & {
54
- remoteItems: true;
55
- }, level?: number): CollectionViewResource<ItemTypeType, RemoteViewResource<ItemTypeType>>;
56
- createCollectionResource<ItemTypeType extends ItemType>(collectionEntry: CollectionEntry<ItemTypeType>, resourceOptions: CollectionResourceOptionsInterface<ItemTypeType>, level?: number): CollectionViewResource<ItemTypeType, LocalViewResource<ItemTypeType>>;
57
- createCollectionResources<ItemTypeType extends ItemType>(collectionEntries: CollectionEntryParentIdMap<ItemTypeType>, resourceOptions: CollectionResourceOptionsInterface<ItemTypeType> & {
58
- editItems: true;
59
- editCollection: true;
60
- }, level?: number): CollectionResourceParentIdMap<CollectionEditResource<ItemTypeType, EditResource<ItemTypeType>>>;
61
- createCollectionResources<ItemTypeType extends ItemType>(collectionEntries: CollectionEntryParentIdMap<ItemTypeType>, resourceOptions: CollectionResourceOptionsInterface<ItemTypeType> & {
62
- remoteItems: true;
63
- editCollection: true;
64
- }, level?: number): CollectionResourceParentIdMap<CollectionEditResource<ItemTypeType, RemoteViewResource<ItemTypeType>>>;
65
- createCollectionResources<ItemTypeType extends ItemType>(collectionEntries: CollectionEntryParentIdMap<ItemTypeType>, resourceOptions: CollectionResourceOptionsInterface<ItemTypeType> & {
66
- editCollection: true;
67
- }, level?: number): CollectionResourceParentIdMap<CollectionEditResource<ItemTypeType, LocalViewResource<ItemTypeType>>>;
68
- createCollectionResources<ItemTypeType extends ItemType>(collectionEntries: CollectionEntryParentIdMap<ItemTypeType>, resourceOptions: CollectionResourceOptionsInterface<ItemTypeType> & {
69
- editItems: true;
70
- }, level?: number): CollectionResourceParentIdMap<CollectionViewResource<ItemTypeType, EditResource<ItemTypeType>>>;
71
- createCollectionResources<ItemTypeType extends ItemType>(collectionEntries: CollectionEntryParentIdMap<ItemTypeType>, resourceOptions: CollectionResourceOptionsInterface<ItemTypeType> & {
72
- remoteItems: true;
73
- }, level?: number): CollectionResourceParentIdMap<CollectionViewResource<ItemTypeType, RemoteViewResource<ItemTypeType>>>;
74
- createCollectionResources<ItemTypeType extends ItemType>(collectionEntries: CollectionEntryParentIdMap<ItemTypeType>, resourceOptions: CollectionResourceOptionsInterface<ItemTypeType>, level?: number): CollectionResourceParentIdMap<CollectionViewResource<ItemTypeType, LocalViewResource<ItemTypeType>>>;
75
- clearItem(itemResource: ItemResource<any>): void;
76
- clearItemEntry(itemEntry: ItemEntry<any>): void;
77
- clearCollection(collectionResource: CollectionResource<any>): void;
78
- clearDeferredCollections(): void;
79
- updateSingleItems(conversionMap: ItemIdConversionMap): void;
80
- revertChanges(): PromiseInterface<void>;
81
- resetCollection(collectionEntry: CollectionEntry<any>): void;
82
- detectChanges(): boolean;
83
- private collectionHasChanges;
84
- isLockable(): boolean;
85
- save(closeTab?: boolean, parameters?: CreateRequestParameterMap, breakUpByParent?: boolean, onAfterCreateCallback?: (conversionMap: ItemIdConversionMap) => void): PromiseInterface<ItemIdConversionMap>;
86
- onBeforeSave(key: string, callback: LocalCacheCallbackType['onBeforeSave'], condition?: LocalCacheCallbackCondition, priority?: number): () => void;
87
- onSaveSuccess(key: string, callback: LocalCacheCallbackType['onSaveSuccess'], condition?: LocalCacheCallbackCondition, priority?: number): () => void;
88
- enableChangesWatcher(): void;
89
- disableChangesWatcher(): void;
90
- onDeactivateItem(itemEntry: ItemEntry<any>): void;
91
- onActivateItem(itemEntry: ItemEntry<any>): void;
92
- }
1
+ import { ChangesProcessor, CollectionCache, ItemCache, LocalCacheCallbackCondition, LocalCacheCallbackType, LockService } from '../classes';
2
+ import { CollectionCacheFactory, CollectionResourceFactory, ItemCacheFactory, ItemResourceFactory } from '../factories';
3
+ import { ErrorHandlerInterface, ExceptionHandlerInterface, PromiseLibraryInterface } from '../interfaces';
4
+ import { CollectionEditResource, CollectionEntry, CollectionResource, CollectionResourceOptionsInterface, CollectionViewResource, EditResource, ItemEntry, ItemResource, LocalViewResource, RemoteViewResource } from '../models';
5
+ import { CollectionEntryParentIdMap, CollectionResourceParentIdMap, CreateRequestParameterMap, ItemIdConversionMap, ItemOptionsInterface, ItemType, PromiseInterface } from '../types';
6
+ /**
7
+ * @description
8
+ * The {@link LocalCache LocalCache} is responsible for keeping track of {@link ItemEntry ItemEntries} and {@link CollectionEntry CollectionEntries} which might have changes
9
+ * in order to save them efficiently.
10
+ *
11
+ * @remarks
12
+ * - Local entries are *not* stored in the global cache until they are saved.
13
+ * - Remote entries *are* stored in the global cache, and can also be stored in the LocalCache.
14
+ */
15
+ export declare class LocalCache {
16
+ private changesProcessor;
17
+ private collectionResourceFactory;
18
+ private errorHandler;
19
+ private itemResourceFactory;
20
+ private lockService;
21
+ private promiseService;
22
+ id: string;
23
+ readonly items: ItemCache;
24
+ readonly collections: CollectionCache;
25
+ readonly deferredCollections: CollectionCache;
26
+ rootItem: ItemEntry<any> | undefined;
27
+ tabRequestParameters: {};
28
+ isSaving: boolean;
29
+ private changesInterval;
30
+ hasChanges: boolean;
31
+ private eventHandler;
32
+ constructor(exceptionHandler: ExceptionHandlerInterface, collectionCacheFactory: CollectionCacheFactory, itemCacheFactory: ItemCacheFactory, changesProcessor: ChangesProcessor, collectionResourceFactory: CollectionResourceFactory, errorHandler: ErrorHandlerInterface, itemResourceFactory: ItemResourceFactory, lockService: LockService, promiseService: PromiseLibraryInterface, id: string);
33
+ createItemResource<ItemTypeType extends ItemType>(itemEntry: ItemEntry<ItemTypeType>, options: ItemOptionsInterface & {
34
+ edit: true;
35
+ }, isRoot?: boolean, isNew?: boolean): EditResource<ItemTypeType>;
36
+ createItemResource<ItemTypeType extends ItemType>(itemEntry: ItemEntry<ItemTypeType>, options: ItemOptionsInterface & {
37
+ remote: true;
38
+ }, isRoot?: boolean, isNew?: boolean): RemoteViewResource<ItemTypeType>;
39
+ createItemResource<ItemTypeType extends ItemType>(itemEntry: ItemEntry<ItemTypeType>, options: ItemOptionsInterface, isRoot?: boolean, isNew?: boolean): LocalViewResource<ItemTypeType>;
40
+ createItemResources<ItemTypeType extends ItemType>(itemEntries: Array<ItemEntry<ItemTypeType>>, options: ItemOptionsInterface & {
41
+ edit: true;
42
+ }): Array<EditResource<ItemTypeType>>;
43
+ createItemResources<ItemTypeType extends ItemType>(itemEntries: Array<ItemEntry<ItemTypeType>>, options: ItemOptionsInterface & {
44
+ remote: true;
45
+ }): Array<RemoteViewResource<ItemTypeType>>;
46
+ createItemResources<ItemTypeType extends ItemType>(itemEntries: Array<ItemEntry<ItemTypeType>>, options: ItemOptionsInterface): Array<LocalViewResource<ItemTypeType>>;
47
+ createCollectionResource<ItemTypeType extends ItemType>(collectionEntry: CollectionEntry<ItemTypeType>, resourceOptions: CollectionResourceOptionsInterface<ItemTypeType> & {
48
+ editItems: true;
49
+ editCollection: true;
50
+ }): CollectionEditResource<ItemTypeType, EditResource<ItemTypeType>>;
51
+ createCollectionResource<ItemTypeType extends ItemType>(collectionEntry: CollectionEntry<ItemTypeType>, resourceOptions: CollectionResourceOptionsInterface<ItemTypeType> & {
52
+ remoteItems: true;
53
+ editCollection: true;
54
+ }): CollectionEditResource<ItemTypeType, RemoteViewResource<ItemTypeType>>;
55
+ createCollectionResource<ItemTypeType extends ItemType>(collectionEntry: CollectionEntry<ItemTypeType>, resourceOptions: CollectionResourceOptionsInterface<ItemTypeType> & {
56
+ editCollection: true;
57
+ }): CollectionEditResource<ItemTypeType, LocalViewResource<ItemTypeType>>;
58
+ createCollectionResource<ItemTypeType extends ItemType>(collectionEntry: CollectionEntry<ItemTypeType>, resourceOptions: CollectionResourceOptionsInterface<ItemTypeType> & {
59
+ editItems: true;
60
+ }): CollectionViewResource<ItemTypeType, EditResource<ItemTypeType>>;
61
+ createCollectionResource<ItemTypeType extends ItemType>(collectionEntry: CollectionEntry<ItemTypeType>, resourceOptions: CollectionResourceOptionsInterface<ItemTypeType> & {
62
+ remoteItems: true;
63
+ }): CollectionViewResource<ItemTypeType, RemoteViewResource<ItemTypeType>>;
64
+ createCollectionResource<ItemTypeType extends ItemType>(collectionEntry: CollectionEntry<ItemTypeType>, resourceOptions: CollectionResourceOptionsInterface<ItemTypeType>): CollectionViewResource<ItemTypeType, LocalViewResource<ItemTypeType>>;
65
+ createCollectionResources<ItemTypeType extends ItemType>(collectionEntries: CollectionEntryParentIdMap<ItemTypeType>, resourceOptions: CollectionResourceOptionsInterface<ItemTypeType> & {
66
+ editItems: true;
67
+ editCollection: true;
68
+ }): CollectionResourceParentIdMap<CollectionEditResource<ItemTypeType, EditResource<ItemTypeType>>>;
69
+ createCollectionResources<ItemTypeType extends ItemType>(collectionEntries: CollectionEntryParentIdMap<ItemTypeType>, resourceOptions: CollectionResourceOptionsInterface<ItemTypeType> & {
70
+ remoteItems: true;
71
+ editCollection: true;
72
+ }): CollectionResourceParentIdMap<CollectionEditResource<ItemTypeType, RemoteViewResource<ItemTypeType>>>;
73
+ createCollectionResources<ItemTypeType extends ItemType>(collectionEntries: CollectionEntryParentIdMap<ItemTypeType>, resourceOptions: CollectionResourceOptionsInterface<ItemTypeType> & {
74
+ editCollection: true;
75
+ }): CollectionResourceParentIdMap<CollectionEditResource<ItemTypeType, LocalViewResource<ItemTypeType>>>;
76
+ createCollectionResources<ItemTypeType extends ItemType>(collectionEntries: CollectionEntryParentIdMap<ItemTypeType>, resourceOptions: CollectionResourceOptionsInterface<ItemTypeType> & {
77
+ editItems: true;
78
+ }): CollectionResourceParentIdMap<CollectionViewResource<ItemTypeType, EditResource<ItemTypeType>>>;
79
+ createCollectionResources<ItemTypeType extends ItemType>(collectionEntries: CollectionEntryParentIdMap<ItemTypeType>, resourceOptions: CollectionResourceOptionsInterface<ItemTypeType> & {
80
+ remoteItems: true;
81
+ }): CollectionResourceParentIdMap<CollectionViewResource<ItemTypeType, RemoteViewResource<ItemTypeType>>>;
82
+ createCollectionResources<ItemTypeType extends ItemType>(collectionEntries: CollectionEntryParentIdMap<ItemTypeType>, resourceOptions: CollectionResourceOptionsInterface<ItemTypeType>): CollectionResourceParentIdMap<CollectionViewResource<ItemTypeType, LocalViewResource<ItemTypeType>>>;
83
+ /**
84
+ * @description
85
+ * Removes an {@link ItemEntry ItemEntry} through an {@link ItemResource ItemResource} from the {@link LocalCache LocalCache} which means that changes on this entry will no longer be tracked.
86
+ */
87
+ clearItem(itemResource: ItemResource<any>): void;
88
+ /**
89
+ * @description
90
+ * Removes an {@link ItemEntry ItemEntry} from the {@link LocalCache LocalCache} which means that changes on this entry will no longer be tracked.
91
+ */
92
+ clearItemEntry(itemEntry: ItemEntry<any>): void;
93
+ /**
94
+ * @description
95
+ * Removes a {@link CollectionEntry CollectionEntry} through a {@link CollectionResource CollectionResource} from the {@link LocalCache LocalCache} which means that changes on this collection will no longer be tracked.
96
+ */
97
+ clearCollection(collectionResource: CollectionResource<any>): void;
98
+ clearDeferredCollections(): void;
99
+ updateSingleItems(conversionMap: ItemIdConversionMap): void;
100
+ revertChanges(): PromiseInterface<void>;
101
+ resetCollection(collectionEntry: CollectionEntry<any>): void;
102
+ detectChanges(): boolean;
103
+ private collectionHasChanges;
104
+ isLockable(): boolean;
105
+ save(closeTab?: boolean, parameters?: CreateRequestParameterMap, breakUpByParent?: boolean, onAfterCreateCallback?: (conversionMap: ItemIdConversionMap) => void): PromiseInterface<ItemIdConversionMap>;
106
+ onBeforeSave(key: string, callback: LocalCacheCallbackType['onBeforeSave'], condition?: LocalCacheCallbackCondition, priority?: number): () => void;
107
+ onSaveSuccess(key: string, callback: LocalCacheCallbackType['onSaveSuccess'], condition?: LocalCacheCallbackCondition, priority?: number): () => void;
108
+ enableChangesWatcher(): void;
109
+ disableChangesWatcher(): void;
110
+ onDeactivateItem(itemEntry: ItemEntry<any>): void;
111
+ onActivateItem(itemEntry: ItemEntry<any>): void;
112
+ }
@@ -1,19 +1,19 @@
1
- import { LocalCache } from '../classes';
2
- import { ErrorHandlerInterface, ExceptionHandlerInterface, PromiseLibraryInterface } from '../interfaces';
3
- import { ItemIdConversionMap, PromiseInterface } from '../types';
4
- export declare type LocalCacheCallbackCondition = 'always' | 'onClose' | 'skipOnClose';
5
- export declare type LocalCacheCallbackType = {
6
- onBeforeSave: (localCache: LocalCache) => any;
7
- onSaveSuccess: (localCache: LocalCache, conversionMap: ItemIdConversionMap) => any;
8
- };
9
- export declare class LocalCacheEventHandler {
10
- private errorHandler;
11
- private exceptionHandler;
12
- private promiseService;
13
- private callbacks;
14
- constructor(errorHandler: ErrorHandlerInterface, exceptionHandler: ExceptionHandlerInterface, promiseService: PromiseLibraryInterface);
15
- registerCallback<T extends keyof LocalCacheCallbackType>(type: T, key: string, callback: LocalCacheCallbackType[T], condition?: LocalCacheCallbackCondition, priority?: number): () => void;
16
- executeCallbacks<T extends keyof LocalCacheCallbackType>(type: T, execute: (callback: LocalCacheCallbackType[T]) => any, closeTab: boolean): PromiseInterface<any>;
17
- private getPriorityLevel;
18
- private executeCallbacksPriorityLevel;
19
- }
1
+ import { LocalCache } from '../classes';
2
+ import { ErrorHandlerInterface, ExceptionHandlerInterface, PromiseLibraryInterface } from '../interfaces';
3
+ import { ItemIdConversionMap, PromiseInterface } from '../types';
4
+ export declare type LocalCacheCallbackCondition = 'always' | 'onClose' | 'skipOnClose';
5
+ export declare type LocalCacheCallbackType = {
6
+ onBeforeSave: (localCache: LocalCache) => any;
7
+ onSaveSuccess: (localCache: LocalCache, conversionMap: ItemIdConversionMap) => any;
8
+ };
9
+ export declare class LocalCacheEventHandler {
10
+ private errorHandler;
11
+ private exceptionHandler;
12
+ private promiseService;
13
+ private callbacks;
14
+ constructor(errorHandler: ErrorHandlerInterface, exceptionHandler: ExceptionHandlerInterface, promiseService: PromiseLibraryInterface);
15
+ registerCallback<T extends keyof LocalCacheCallbackType>(type: T, key: string, callback: LocalCacheCallbackType[T], condition?: LocalCacheCallbackCondition, priority?: number): () => void;
16
+ executeCallbacks<T extends keyof LocalCacheCallbackType>(type: T, execute: (callback: LocalCacheCallbackType[T]) => any, closeTab: boolean): PromiseInterface<any>;
17
+ private getPriorityLevel;
18
+ private executeCallbacksPriorityLevel;
19
+ }
@@ -1,32 +1,32 @@
1
- import { KeyService } from '../classes';
2
- import { ApiRequestServiceInterface, ErrorHandlerInterface, PromiseLibraryInterface } from '../interfaces';
3
- import { ItemEntry } from '../models';
4
- import { ItemId, ItemMap, PromiseInterface } from '../types';
5
- export declare type LockToken = {
6
- isForeign: false;
7
- id: number;
8
- token: string;
9
- } | {
10
- isForeign: true;
11
- message: string;
12
- };
13
- export declare class LockService {
14
- private apiRequestService;
15
- private errorHandler;
16
- private keyService;
17
- private promiseService;
18
- lockItems: ItemMap<LockToken>;
19
- promises: ItemMap<PromiseInterface<LockToken>>;
20
- constructor(apiRequestService: ApiRequestServiceInterface, errorHandler: ErrorHandlerInterface, keyService: KeyService, promiseService: PromiseLibraryInterface);
21
- private getValue;
22
- private setValue;
23
- getLocks(): this['lockItems'];
24
- hasLock(lockTokenId: ItemId): boolean;
25
- isLocked(itemEntry: ItemEntry<any>): boolean;
26
- getMessage(itemEntry: ItemEntry<any>): undefined | string;
27
- fetchCachedLock(itemEntry: ItemEntry<any>): PromiseInterface<undefined | LockToken>;
28
- fetchLock(itemEntry: ItemEntry<any>): PromiseInterface<string>;
29
- requestLock(itemEntry: ItemEntry<any>): PromiseInterface<LockToken>;
30
- deleteLock(itemEntry: ItemEntry<any>): PromiseInterface<void>;
31
- clearLock(itemEntry: ItemEntry<any>): boolean;
32
- }
1
+ import { KeyService } from '../classes';
2
+ import { ApiRequestServiceInterface, ErrorHandlerInterface, PromiseLibraryInterface } from '../interfaces';
3
+ import { ItemEntry } from '../models';
4
+ import { ItemId, ItemMap, PromiseInterface } from '../types';
5
+ export declare type LockToken = {
6
+ isForeign: false;
7
+ id: number;
8
+ token: string;
9
+ } | {
10
+ isForeign: true;
11
+ message: string;
12
+ };
13
+ export declare class LockService {
14
+ private apiRequestService;
15
+ private errorHandler;
16
+ private keyService;
17
+ private promiseService;
18
+ lockItems: ItemMap<LockToken>;
19
+ promises: ItemMap<PromiseInterface<LockToken>>;
20
+ constructor(apiRequestService: ApiRequestServiceInterface, errorHandler: ErrorHandlerInterface, keyService: KeyService, promiseService: PromiseLibraryInterface);
21
+ private getValue;
22
+ private setValue;
23
+ getLocks(): this['lockItems'];
24
+ hasLock(lockTokenId: ItemId): boolean;
25
+ isLocked(itemEntry: ItemEntry<any>): boolean;
26
+ getMessage(itemEntry: ItemEntry<any>): undefined | string;
27
+ fetchCachedLock(itemEntry: ItemEntry<any>): PromiseInterface<undefined | LockToken>;
28
+ fetchLock(itemEntry: ItemEntry<any>): PromiseInterface<string>;
29
+ requestLock(itemEntry: ItemEntry<any>): PromiseInterface<LockToken>;
30
+ deleteLock(itemEntry: ItemEntry<any>): PromiseInterface<void>;
31
+ clearLock(itemEntry: ItemEntry<any>): boolean;
32
+ }