@rentman/rm-core 1.7.5 → 1.7.6

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.
@@ -1,8 +1,12 @@
1
- import { CollectionCache, CollectionHandler, CollectionMatcher, ItemCache, ItemHandler, ItemRequestService, KeyService, LocalCache, ModuleChangesCompilationResult, QueryService } from '../classes';
1
+ import { CollectionCache, CollectionHandler, CollectionMatcher, ItemCache, ItemHandler, ItemRequestService, KeyService, LocalCache, LocalCacheCallbackCondition, LocalCacheCallbackType, ModuleChangesCompilationResult, QueryService } from '../classes';
2
2
  import { CollectionMatcherFactory, CollectionResourceFactory, ColumnSetFactory, ItemResourceFactory, ModuleChangesCompilationFactory } from '../factories';
3
3
  import { ApiRequestServiceInterface, AuthInterface, ErrorHandlerInterface, LocalCacheManagerInterface, PromiseLibraryInterface } from '../interfaces';
4
4
  import { CollectionEditResource, CollectionEntry, CollectionResource, CollectionResourceOptionsInterface, CollectionViewResource, EditResource, ItemEntry, ItemResource, ItemResourceOptionsInterface, LocalViewResource, RemoteViewResource } from '../models';
5
- import { ApiQuery, CollectionDefinition, CollectionOptionsInterface, CollectionResourceParentIdMap, ConversionMap, CreateRequestParameterMap, ItemId, ItemIdConversionMap, ItemOptionsInterface, ItemResourcesItemTypeMap, ItemType, LinkCollectionDefinition, LinkedItemEntryMap, LocalCacheCallbackCondition, OnSaveCallback, PromiseInterface } from '../types';
5
+ import { ApiQuery, CollectionDefinition, CollectionOptionsInterface, CollectionResourceParentIdMap, ConversionMap, CreateRequestParameterMap, ItemId, ItemIdConversionMap, ItemOptionsInterface, ItemResourcesItemTypeMap, ItemType, LinkCollectionDefinition, LinkedItemEntryMap, PromiseInterface } from '../types';
6
+ declare type EditResourceLinks<ItemTypeType extends ItemType> = {
7
+ main: EditResource<ItemTypeType>;
8
+ linked: ItemResourcesItemTypeMap;
9
+ };
6
10
  export declare class ItemAdministrator {
7
11
  private apiRequestService;
8
12
  private authInterface;
@@ -45,18 +49,12 @@ export declare class ItemAdministrator {
45
49
  remote: true;
46
50
  }, level?: number): PromiseInterface<Array<RemoteViewResource<ItemTypeType>>>;
47
51
  getItemsByQuery<ItemTypeType extends ItemType>(itemType: ItemTypeType, query: ApiQuery, options: ItemOptionsInterface, level?: number): PromiseInterface<Array<LocalViewResource<ItemTypeType>>>;
48
- getNewResource<ItemTypeType extends ItemType>(itemType: ItemTypeType, options: ItemOptionsInterface, returnLinks: true, level?: number, isRoot?: boolean): PromiseInterface<{
49
- main: EditResource<ItemTypeType>;
50
- linked: ItemResourcesItemTypeMap;
51
- }>;
52
+ getNewResource<ItemTypeType extends ItemType>(itemType: ItemTypeType, options: ItemOptionsInterface, returnLinks: true, level?: number, isRoot?: boolean): PromiseInterface<EditResourceLinks<ItemTypeType>>;
52
53
  getNewResource<ItemTypeType extends ItemType>(itemType: ItemTypeType, options: ItemOptionsInterface, returnLinks?: boolean, level?: number, isRoot?: boolean): PromiseInterface<EditResource<ItemTypeType>>;
53
- getDuplicateById<ItemTypeType extends ItemType>(itemType: ItemTypeType, duplicateId: ItemId, options: ItemOptionsInterface & {
54
- edit: true;
55
- }, level?: number, returnLinks?: boolean, isRoot?: boolean): PromiseInterface<EditResource<ItemTypeType>>;
56
- getDuplicateById<ItemTypeType extends ItemType>(itemType: ItemTypeType, duplicateId: ItemId, options: ItemOptionsInterface & {
57
- remote: true;
58
- }, level?: number, returnLinks?: boolean, isRoot?: boolean): PromiseInterface<RemoteViewResource<ItemTypeType>>;
59
- getDuplicateById<ItemTypeType extends ItemType>(itemType: ItemTypeType, duplicateId: ItemId, options: ItemOptionsInterface, level?: number, returnLinks?: boolean, isRoot?: boolean): PromiseInterface<LocalViewResource<ItemTypeType>>;
54
+ getNewResourceWithId<ItemTypeType extends ItemType>(itemType: ItemTypeType, itemId: ItemId, options: ItemOptionsInterface, returnLinks: true, level?: number, isRoot?: boolean): PromiseInterface<EditResourceLinks<ItemTypeType>>;
55
+ getNewResourceWithId<ItemTypeType extends ItemType>(itemType: ItemTypeType, itemId: ItemId, options: ItemOptionsInterface, returnLinks?: boolean, level?: number, isRoot?: boolean): PromiseInterface<EditResource<ItemTypeType>>;
56
+ getDuplicateById<ItemTypeType extends ItemType>(itemType: ItemTypeType, duplicateId: ItemId, options: ItemOptionsInterface, returnLinks: true, level?: number, isRoot?: boolean): PromiseInterface<EditResourceLinks<ItemTypeType>>;
57
+ getDuplicateById<ItemTypeType extends ItemType>(itemType: ItemTypeType, duplicateId: ItemId, options: ItemOptionsInterface, returnLinks?: boolean, level?: number, isRoot?: boolean): PromiseInterface<EditResource<ItemTypeType>>;
60
58
  getItemByState<ItemTypeType extends ItemType>(itemType: ItemTypeType, stateKey: ItemId | string, options: ItemOptionsInterface & {
61
59
  edit: true;
62
60
  }, level?: number, isRoot?: boolean): PromiseInterface<EditResource<ItemTypeType>>;
@@ -233,6 +231,7 @@ export declare class ItemAdministrator {
233
231
  remote: true;
234
232
  }, level?: number, isRoot?: boolean): RemoteViewResource<ItemTypeType>;
235
233
  createItemResource<ItemTypeType extends ItemType>(itemEntry: ItemEntry<ItemTypeType>, options: ItemResourceOptionsInterface, level?: number, isRoot?: boolean): LocalViewResource<ItemTypeType>;
236
- onBeforeSave(key: string, callback: (localCache: LocalCache) => any, condition?: LocalCacheCallbackCondition): () => void;
237
- onSaveSuccess(key: string, callback: OnSaveCallback, condition?: LocalCacheCallbackCondition): () => void;
234
+ onBeforeSave(key: string, callback: LocalCacheCallbackType['onBeforeSave'], condition?: LocalCacheCallbackCondition, priority?: number): () => void;
235
+ onSaveSuccess(key: string, callback: LocalCacheCallbackType['onSaveSuccess'], condition?: LocalCacheCallbackCondition, priority?: number): () => void;
238
236
  }
237
+ export {};
@@ -8,9 +8,8 @@ export declare class ItemEntryService {
8
8
  constructor(authInterface: AuthInterface, keyService: KeyService);
9
9
  processOptions(options: ItemOptionsInterface): ItemEntryOptions;
10
10
  createUnfoundRemoteItemError(): ItemError;
11
- createUnfoundLocalItemError(itemType: ItemType): {
12
- message: string;
13
- };
11
+ createUnfoundLocalItemError(itemType: ItemType): ItemError;
12
+ createExistingLocalItemError(itemType: ItemType): ItemError;
14
13
  createLocalConversionMap(itemType: ItemType, itemId: ItemId, doExtend: boolean | undefined, apiResponse: ApiResponse): ItemIdConversionMap;
15
14
  expandLocalConversionMap(parentType: ItemType, parentId: ItemId, apiResponse: ApiResponse, conversionMap: ItemIdConversionMap): void;
16
15
  expandConversionMap(itemEntry: ItemEntry<any>, conversionMap: ItemIdConversionMap, newItemId?: ItemId): ItemId;
@@ -26,7 +26,7 @@ export declare class ItemHandler {
26
26
  };
27
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
28
  fetchItem<ItemTypeType extends ItemType>(itemType: ItemTypeType, itemId: ItemId, options: ItemEntryOptions, localItemCache: ItemCache): PromiseInterface<ItemEntry<ItemTypeType>>;
29
- fetchNewItem<ItemTypeType extends ItemType>(itemType: ItemTypeType, options: ItemEntryOptions, localItemCache: ItemCache): PromiseInterface<TemplateItemEntryMap<ItemTypeType>>;
29
+ fetchNewItem<ItemTypeType extends ItemType>(itemType: ItemTypeType, itemId: ItemId, options: ItemEntryOptions, localItemCache: ItemCache): PromiseInterface<TemplateItemEntryMap<ItemTypeType>>;
30
30
  createBatchStatus<ItemTypeType extends ItemType>(itemType: ItemTypeType, itemIds: ItemId[], parent: EntryParentNull, requestColumns: ApiRequestColumns, deferRequest: boolean, localItemCache: ItemCache, addToLocalCache: boolean): {
31
31
  batchStatus: BatchStatus<ItemTypeType, ItemEntry<ItemTypeType>>;
32
32
  success: boolean;
@@ -1,15 +1,12 @@
1
- import { ChangesProcessor, CollectionCache, ItemCache, LockService } from '../classes';
1
+ import { ChangesProcessor, CollectionCache, ItemCache, LocalCacheCallbackCondition, LocalCacheCallbackType, LockService } from '../classes';
2
2
  import { CollectionCacheFactory, CollectionResourceFactory, ItemCacheFactory, ItemResourceFactory } from '../factories';
3
3
  import { ErrorHandlerInterface, ExceptionHandlerInterface, PromiseLibraryInterface } from '../interfaces';
4
4
  import { CollectionEditResource, CollectionEntry, CollectionResource, CollectionResourceOptionsInterface, CollectionViewResource, EditResource, ItemEntry, ItemResource, LocalViewResource, RemoteViewResource } from '../models';
5
- import { CollectionEntryParentIdMap, CollectionResourceParentIdMap, CreateRequestParameterMap, ItemIdConversionMap, ItemOptionsInterface, ItemType, LocalCacheCallbackCondition, OnSaveCallback, PromiseInterface } from '../types';
5
+ import { CollectionEntryParentIdMap, CollectionResourceParentIdMap, CreateRequestParameterMap, ItemIdConversionMap, ItemOptionsInterface, ItemType, PromiseInterface } from '../types';
6
6
  export declare class LocalCache {
7
7
  private changesProcessor;
8
- private collectionCacheFactory;
9
8
  private collectionResourceFactory;
10
9
  private errorHandler;
11
- private exceptionHandler;
12
- private itemCacheFactory;
13
10
  private itemResourceFactory;
14
11
  private lockService;
15
12
  private promiseService;
@@ -21,10 +18,10 @@ export declare class LocalCache {
21
18
  rootItem: ItemEntry<any> | undefined;
22
19
  tabRequestParameters: {};
23
20
  isSaving: boolean;
24
- private callbacks;
25
21
  private changesInterval;
26
22
  hasChanges: boolean;
27
- constructor(changesProcessor: ChangesProcessor, collectionCacheFactory: CollectionCacheFactory, collectionResourceFactory: CollectionResourceFactory, errorHandler: ErrorHandlerInterface, exceptionHandler: ExceptionHandlerInterface, itemCacheFactory: ItemCacheFactory, itemResourceFactory: ItemResourceFactory, lockService: LockService, promiseService: PromiseLibraryInterface, id: string, defaultResourceLevel: number);
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);
28
25
  createItemResource<ItemTypeType extends ItemType>(itemEntry: ItemEntry<ItemTypeType>, options: ItemOptionsInterface & {
29
26
  edit: true;
30
27
  }, level?: number, isRoot?: boolean, isNew?: boolean): EditResource<ItemTypeType>;
@@ -86,10 +83,8 @@ export declare class LocalCache {
86
83
  private collectionHasChanges;
87
84
  isLockable(): boolean;
88
85
  save(closeTab?: boolean, parameters?: CreateRequestParameterMap, breakUpByParent?: boolean, onAfterCreateCallback?: (conversionMap: ItemIdConversionMap) => void): PromiseInterface<ItemIdConversionMap>;
89
- onBeforeSave(key: string, callback: (localCache: LocalCache) => any, condition?: LocalCacheCallbackCondition): () => void;
90
- onSaveSuccess(key: string, callback: OnSaveCallback, condition?: LocalCacheCallbackCondition): () => void;
91
- private executeCallbackEvent;
92
- private executeCallbacks;
86
+ onBeforeSave(key: string, callback: LocalCacheCallbackType['onBeforeSave'], condition?: LocalCacheCallbackCondition, priority?: number): () => void;
87
+ onSaveSuccess(key: string, callback: LocalCacheCallbackType['onSaveSuccess'], condition?: LocalCacheCallbackCondition, priority?: number): () => void;
93
88
  enableChangesWatcher(): void;
94
89
  disableChangesWatcher(): void;
95
90
  onDeactivateItem(itemEntry: ItemEntry<any>): void;
@@ -0,0 +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
+ }
@@ -24,6 +24,7 @@ export * from './ItemHandler';
24
24
  export * from './ItemRequestService';
25
25
  export * from './KeyService';
26
26
  export * from './LocalCache';
27
+ export * from './LocalCacheEventHandler';
27
28
  export * from './LockService';
28
29
  export * from './ModuleChangesCompilation';
29
30
  export * from './QueryMatcher';
@@ -6,6 +6,5 @@ export declare class ItemEntryOptions {
6
6
  templateOptions: any;
7
7
  templateColumns: ApiRequestColumnMap;
8
8
  deferRequest: boolean;
9
- isDuplicate: boolean;
10
9
  constructor(values: ItemEntryOptionsInterface);
11
10
  }
@@ -1,4 +1,4 @@
1
- import { ApiResponseProcessor, CollectionMatcher, ColumnSet, LocalCache, RequestColumnExpansion } from '../classes';
1
+ import { ApiResponseProcessor, CollectionMatcher, ColumnSet, RequestColumnExpansion } from '../classes';
2
2
  import { ENTRY_STATUS } from '../constants';
3
3
  import { CollectionEntry, CollectionEntryOptions, CollectionEntryOptionsInterface, CollectionResource, CollectionResourceOptions, CollectionResourceOptionsInterface, ItemEntry, ItemEntryOptionsInterface, ItemResource, ItemResourceOptionsInterface } from '../models';
4
4
  export declare type EntryParent = {
@@ -31,23 +31,6 @@ export declare type StateKey = {
31
31
  template?: string;
32
32
  itemId?: number;
33
33
  };
34
- export declare type OnSaveCallback = (localCache: LocalCache, conversionMap: ItemIdConversionMap) => any;
35
- export declare enum LocalCacheCallbackCondition {
36
- Always = "always",
37
- OnClose = "onClose",
38
- SkipOnClose = "skipOnClose"
39
- }
40
- export declare type LocalCacheCallbacks<T> = {
41
- always: {
42
- [key: string]: T;
43
- };
44
- onClose: {
45
- [key: string]: T;
46
- };
47
- skipOnClose: {
48
- [key: string]: T;
49
- };
50
- };
51
34
  export declare type SocketMessageType = 'event' | 'notification';
52
35
  export interface SocketMessage {
53
36
  header: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rentman/rm-core",
3
- "version": "1.7.5",
3
+ "version": "1.7.6",
4
4
  "description": "Rentman core functionalities",
5
5
  "main": "./dist/rm-core.js",
6
6
  "types": "./dist/src/index.d.ts",