@rentman/rm-core 1.4.0 → 1.5.1-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/changelog.md +21 -0
  2. package/dist/rm-core.js +3059 -2805
  3. package/dist/rm-core.min.js +1 -1
  4. package/dist/src/classes/ApiFormatter.d.ts +0 -1
  5. package/dist/src/classes/BatchStatus.d.ts +4 -2
  6. package/dist/src/classes/ChangesCompilation.d.ts +12 -4
  7. package/dist/src/classes/ChangesProcessor.d.ts +11 -11
  8. package/dist/src/classes/CollectionEntryService.d.ts +4 -4
  9. package/dist/src/classes/CollectionHandler.d.ts +5 -4
  10. package/dist/src/classes/CollectionMatcher.d.ts +4 -4
  11. package/dist/src/classes/CollectionResourceService.d.ts +2 -2
  12. package/dist/src/classes/ColumnCache.d.ts +3 -3
  13. package/dist/src/classes/ColumnExpansion.d.ts +3 -2
  14. package/dist/src/classes/ColumnSet.d.ts +7 -7
  15. package/dist/src/classes/ColumnSubsetCache.d.ts +9 -0
  16. package/dist/src/classes/CreateRequest.d.ts +1 -1
  17. package/dist/src/classes/ItemAdministrator.d.ts +29 -67
  18. package/dist/src/classes/ItemCache.d.ts +2 -2
  19. package/dist/src/classes/ItemEntryService.d.ts +4 -4
  20. package/dist/src/classes/ItemHandler.d.ts +29 -46
  21. package/dist/src/classes/ItemRequestService.d.ts +2 -2
  22. package/dist/src/classes/LocalCache.d.ts +13 -12
  23. package/dist/src/classes/ModuleChangesCompilation.d.ts +4 -4
  24. package/dist/src/classes/QueryMatcher.d.ts +4 -4
  25. package/dist/src/classes/QueryParser.d.ts +10 -10
  26. package/dist/src/classes/SocketMessageHandler.d.ts +22 -18
  27. package/dist/src/classes/Util.d.ts +3 -1
  28. package/dist/src/classes/index.d.ts +1 -1
  29. package/dist/src/constants.d.ts +4 -2
  30. package/dist/src/core.d.ts +3 -3
  31. package/dist/src/factories/BatchStatusFactory.d.ts +2 -2
  32. package/dist/src/factories/CollectionEntryFactory.d.ts +9 -6
  33. package/dist/src/factories/CollectionResourceFactory.d.ts +4 -5
  34. package/dist/src/factories/ColumnSubsetCacheFactory.d.ts +7 -0
  35. package/dist/src/factories/ItemResourceFactory.d.ts +5 -6
  36. package/dist/src/factories/LocalCacheFactory.d.ts +2 -3
  37. package/dist/src/factories/index.d.ts +1 -0
  38. package/dist/src/interfaces/PromiseLibraryInterface.d.ts +2 -2
  39. package/dist/src/models/CollectionEditResource.d.ts +2 -2
  40. package/dist/src/models/CollectionEntry.d.ts +13 -10
  41. package/dist/src/models/CollectionEntryOptions.d.ts +20 -0
  42. package/dist/src/models/CollectionResource.d.ts +3 -3
  43. package/dist/src/models/CollectionResourceOptions.d.ts +38 -0
  44. package/dist/src/models/CollectionViewResource.d.ts +2 -2
  45. package/dist/src/models/EditResource.d.ts +2 -2
  46. package/dist/src/models/ItemEntry.d.ts +4 -4
  47. package/dist/src/models/ItemEntryOptions.d.ts +18 -0
  48. package/dist/src/models/ItemResource.d.ts +3 -3
  49. package/dist/src/models/ItemResourceOptions.d.ts +13 -0
  50. package/dist/src/models/ViewResource.d.ts +2 -2
  51. package/dist/src/models/index.d.ts +8 -4
  52. package/dist/src/types/ItemTypesCollection.d.ts +62 -4
  53. package/package.json +35 -35
  54. package/dist/src/classes/ItemResourceService.d.ts +0 -5
@@ -6,9 +6,9 @@ export declare class QueryMatcher {
6
6
  fields: FieldMap;
7
7
  parent: EntryParentNull;
8
8
  constructor(apiFormatter: ApiFormatter, itemType: ItemType, fields: FieldMap, parent?: EntryParentNull);
9
- private compareValues(value, queryValue);
9
+ private compareValues;
10
10
  matchQuery(query: any): boolean | string;
11
- private matchLinkedToQuery(query);
12
- private matchComplexQuery(query);
13
- private matchSimpleQuery(value, query);
11
+ private matchLinkedToQuery;
12
+ private matchComplexQuery;
13
+ private matchSimpleQuery;
14
14
  }
@@ -2,15 +2,15 @@ export declare class QueryParser {
2
2
  query: any;
3
3
  parameters: any;
4
4
  constructor(query: any, parameters?: any);
5
- private processValue(value);
6
- private compareParsedQueries(a, b);
5
+ private processValue;
6
+ private compareParsedQueries;
7
7
  parse(query?: any): any;
8
- private parseSearchQuery(value);
9
- private parseCustomQuery(custom, parameters);
10
- private parseCustomParameters(parameters);
11
- private parseSimpleQuery(key, value, comparator?);
12
- private parseLinkedToQuery(linkedTo, query, reverse, not);
13
- private parseComplexQuery(conditions, operator);
14
- private parseConditions(conditions);
15
- private formatValue(value);
8
+ private parseSearchQuery;
9
+ private parseCustomQuery;
10
+ private parseCustomParameters;
11
+ private parseSimpleQuery;
12
+ private parseLinkedToQuery;
13
+ private parseComplexQuery;
14
+ private parseConditions;
15
+ private formatValue;
16
16
  }
@@ -1,7 +1,11 @@
1
1
  import { ApiFormatter, CollectionHandler, ItemHandler } from '../classes';
2
2
  import { ColumnExpansionFactory, ColumnSetFactory, ItemEntryFactory, RequestColumnExpansionFactory } from '../factories';
3
3
  import { ApiRequestServiceInterface, ErrorHandlerInterface, PromiseLibraryInterface } from '../interfaces';
4
- import { CollectionMatchResult, FieldMap, GroupedExtendedCollectionMatchResult, PromiseInterface } from '../types';
4
+ import { ItemEntry, ItemResource } from '../models';
5
+ import { ApiRequestColumns, ApiResponse, CollectionMatchResult, FieldMap, FunctionChangesResolveSocketMessage, GroupedExtendedCollectionMatchResult, ItemId, ItemType, PromiseInterface, ResponseColumn, SocketMessage } from '../types';
6
+ export declare type SocketCollectionMap = {
7
+ [itemId: number]: CollectionMatchResult;
8
+ };
5
9
  export declare class SocketMessageHandler {
6
10
  private promiseService;
7
11
  private apiRequestService;
@@ -14,23 +18,23 @@ export declare class SocketMessageHandler {
14
18
  private apiFormatter;
15
19
  private errorHandler;
16
20
  constructor(promiseService: PromiseLibraryInterface, apiRequestService: ApiRequestServiceInterface, itemHandler: ItemHandler, itemEntryFactory: ItemEntryFactory, collectionHandler: CollectionHandler, columnSetFactory: ColumnSetFactory, columnExpansionFactory: ColumnExpansionFactory, requestColumnExpansionFactory: RequestColumnExpansionFactory, apiFormatter: ApiFormatter, errorHandler: ErrorHandlerInterface);
17
- onMessageReceived(message: any): any;
18
- formatMessageValues(values: any, columns: any): FieldMap;
19
- createCollectionMap(itemType: any, items: any, columns: any): {
20
- [itemId: number]: CollectionMatchResult;
21
+ onMessageReceived(message: SocketMessage): any;
22
+ formatMessageValues(values: any, columns: ResponseColumn[]): FieldMap;
23
+ createCollectionMap(itemType: ItemType, items: {
24
+ [itemId: number]: any;
25
+ }, columns: ResponseColumn[]): SocketCollectionMap;
26
+ groupByCollectionId(itemType: ItemType, collectionMap: SocketCollectionMap): GroupedExtendedCollectionMatchResult;
27
+ getRequestColumns(itemType: ItemType, collectionMap: SocketCollectionMap): {
28
+ [itemType: string]: ApiRequestColumns;
21
29
  };
22
- groupByCollectionId(itemType: any, collectionMap: any): GroupedExtendedCollectionMatchResult;
23
- getRequestColumns(itemType: any, collectionMap: any): {
24
- [itemType: string]: true | (string | {
25
- [columnId: string]: (string | any)[];
26
- })[];
27
- };
28
- deferEntry(itemEntry: any): any;
30
+ deferEntry(itemEntry: ItemEntry): ItemEntry | PromiseInterface<ItemEntry>;
29
31
  processMessage(body: any): PromiseInterface<GroupedExtendedCollectionMatchResult>;
30
- processFunctionChangesResolve(body: any): Promise<any> | undefined;
31
- handleResponse(itemType: any, requestIds: any, requestColumns: any, response: any, collectionMap: any): GroupedExtendedCollectionMatchResult;
32
- handleCreate(message: any): Promise<any> | undefined;
33
- handleUpdate(message: any): Promise<any>;
34
- handleDelete(message: any): PromiseInterface<{}>;
35
- handleLinkMove(): void;
32
+ processFunctionChangesResolve(body: any): PromiseInterface<void>;
33
+ handleResponse(itemType: ItemType, requestIds: ItemId[], requestColumns: ApiRequestColumns, response: ApiResponse, collectionMap: SocketCollectionMap): GroupedExtendedCollectionMatchResult;
34
+ private isFunctionChangesResolveMessage;
35
+ handleCreate(message: FunctionChangesResolveSocketMessage): PromiseInterface<void>;
36
+ handleCreate(message: SocketMessage): PromiseInterface<ItemResource[]>;
37
+ handleUpdate(message: SocketMessage): PromiseInterface<void>;
38
+ handleDelete(message: SocketMessage): PromiseInterface<void>;
39
+ handleLinkMove(): PromiseInterface<void>;
36
40
  }
@@ -1,8 +1,10 @@
1
+ import { OptionsInterface } from '../types';
2
+ export declare function instantiateOptions(options: OptionsInterface, values: object): void;
1
3
  export declare function shallowMerge(object: any, defaults: any): any;
2
4
  export declare function hasProperties(object: any): boolean;
3
5
  export declare function getFirstProperty(object: any): string | null;
4
6
  export declare function inArray(needle: any, haystack: any): boolean;
5
- export declare function filterArray<T>(source: T[], callback: (T) => boolean): boolean;
7
+ export declare function filterArray<T>(source: T[], callback: (T: any) => boolean): boolean;
6
8
  export declare function emptyArray(array: any): void;
7
9
  export declare function pathExists(source: any, path: any): boolean;
8
10
  export declare function createPath(object: {}, path: Array<number | string>, defaults: any[]): any;
@@ -14,6 +14,7 @@ export * from './ColumnExpansion';
14
14
  export * from './ColumnHandler';
15
15
  export * from './ColumnInfo';
16
16
  export * from './ColumnSet';
17
+ export * from './ColumnSubsetCache';
17
18
  export * from './ColumnUtil';
18
19
  export * from './CreateRequest';
19
20
  export * from './ItemAdministrator';
@@ -21,7 +22,6 @@ export * from './ItemCache';
21
22
  export * from './ItemEntryService';
22
23
  export * from './ItemHandler';
23
24
  export * from './ItemRequestService';
24
- export * from './ItemResourceService';
25
25
  export * from './KeyService';
26
26
  export * from './LocalCache';
27
27
  export * from './LockService';
@@ -1,11 +1,13 @@
1
1
  export declare enum ENTRY_STATUS {
2
2
  CACHED = "cached",
3
+ LOCAL = "local",
3
4
  PROMISED = "promised",
4
5
  EXPAND = "expand",
5
6
  PROMISED_EXPAND = "promised-expand",
7
+ EXPAND_LOCAL = "expand-local",
8
+ PROMISED_EXPAND_LOCAL = "promised-expand-local",
6
9
  RESOLVE = "resolve",
7
- RESOLVE_VALUES = "resolve-values",
8
- LOCAL = "local",
10
+ RESOLVE_VALUES = "resolve-values"
9
11
  }
10
12
  export declare const ALL_PERMISSIONS = "7";
11
13
  export declare const COLUMN_SEPERATOR = ">";
@@ -1,5 +1,5 @@
1
- import { ApiFormatter, ApiRequestService, CollectionEntryService, CollectionHandler, CollectionResourceService, ColumnCache, ColumnHandler, ColumnUtil, ItemAdministrator, ItemEntryService, ItemHandler, ItemRequestService, ItemResourceService, KeyService, LockService, QueryService, SocketMessageHandler } from './classes';
2
- import { ApiResponseProcessorFactory, BatchStatusFactory, ChangesCompilationFactory, ChangesProcessorFactory, CollectionCacheFactory, CollectionEntryFactory, CollectionMatcherFactory, CollectionResourceFactory, ColumnExpansionFactory, ColumnInfoFactory, ColumnSetFactory, CreateRequestFactory, ItemCacheFactory, ItemEntryFactory, ItemResourceFactory, LocalCacheFactory, ModuleChangesCompilationFactory, QueryMatcherFactory, QueryParserFactory, RequestColumnExpansionFactory, TemplateFactory } from './factories';
1
+ import { ApiFormatter, ApiRequestService, CollectionEntryService, CollectionHandler, CollectionResourceService, ColumnCache, ColumnHandler, ColumnUtil, ItemAdministrator, ItemEntryService, ItemHandler, ItemRequestService, KeyService, LockService, QueryService, SocketMessageHandler } from './classes';
2
+ import { ApiResponseProcessorFactory, BatchStatusFactory, ChangesCompilationFactory, ChangesProcessorFactory, CollectionCacheFactory, CollectionEntryFactory, CollectionMatcherFactory, CollectionResourceFactory, ColumnExpansionFactory, ColumnInfoFactory, ColumnSetFactory, ColumnSubsetCacheFactory, CreateRequestFactory, ItemCacheFactory, ItemEntryFactory, ItemResourceFactory, LocalCacheFactory, ModuleChangesCompilationFactory, QueryMatcherFactory, QueryParserFactory, RequestColumnExpansionFactory, TemplateFactory } from './factories';
3
3
  import { ApiRequestServiceInterface, AuthInterface, ErrorHandlerInterface, LocalCacheManagerInterface, PromiseLibraryInterface } from './interfaces';
4
4
  export declare class RmCore {
5
5
  version: string;
@@ -22,6 +22,7 @@ export declare class RmCore {
22
22
  columnHandler: ColumnHandler;
23
23
  columnInfoFactory: ColumnInfoFactory;
24
24
  columnSetFactory: ColumnSetFactory;
25
+ columnSubsetCacheFactory: ColumnSubsetCacheFactory;
25
26
  columnUtil: ColumnUtil;
26
27
  createRequestFactory: CreateRequestFactory;
27
28
  itemAdministrator: ItemAdministrator;
@@ -31,7 +32,6 @@ export declare class RmCore {
31
32
  itemHandler: ItemHandler;
32
33
  itemRequestService: ItemRequestService;
33
34
  itemResourceFactory: ItemResourceFactory;
34
- itemResourceService: ItemResourceService;
35
35
  keyService: KeyService;
36
36
  localCacheFactory: LocalCacheFactory;
37
37
  lockService: LockService;
@@ -1,8 +1,8 @@
1
1
  import { BatchStatus } from '../classes';
2
2
  import { PromiseLibraryInterface } from '../interfaces';
3
- import { ItemId, PromiseInterface } from '../types';
3
+ import { ItemId, ItemType, PromiseInterface } from '../types';
4
4
  export declare class BatchStatusFactory {
5
5
  private promiseService;
6
6
  constructor(promiseService: PromiseLibraryInterface);
7
- construct<T>(getItemId: (entry: T) => ItemId, getPromise: (entry: T) => PromiseInterface<T>): BatchStatus<T>;
7
+ construct<T>(itemType: ItemType, getItemId: (entry: T) => ItemId, getPromise: (entry: T) => PromiseInterface<T>): BatchStatus<T>;
8
8
  }
@@ -1,9 +1,12 @@
1
- import { CollectionEntryService, ItemEntryService, ItemHandler, ItemRequestService, KeyService, QueryService } from '../classes';
2
- import { ColumnSetFactory, ItemEntryFactory } from '../factories';
3
- import { ErrorHandlerInterface, PromiseLibraryInterface } from '../interfaces';
4
- import { CollectionEntry } from '../models/';
1
+ import { CollectionEntryService, ColumnHandler, ItemEntryService, ItemHandler, ItemRequestService, KeyService, QueryService } from '../classes/';
2
+ import { ColumnExpansionFactory, ColumnSetFactory, ItemEntryFactory } from '../factories/';
3
+ import { ErrorHandlerInterface, PromiseLibraryInterface } from '../interfaces/';
4
+ import { CollectionEntry, CollectionEntryOptionsInterface } from '../models/';
5
+ import { ItemType } from '../types/';
5
6
  export declare class CollectionEntryFactory {
6
7
  collectionEntryService: CollectionEntryService;
8
+ columnHandler: ColumnHandler;
9
+ columnExpansionFactory: ColumnExpansionFactory;
7
10
  columnSetFactory: ColumnSetFactory;
8
11
  errorHandler: ErrorHandlerInterface;
9
12
  itemEntryFactory: ItemEntryFactory;
@@ -13,6 +16,6 @@ export declare class CollectionEntryFactory {
13
16
  keyService: KeyService;
14
17
  promiseService: PromiseLibraryInterface;
15
18
  queryService: QueryService;
16
- constructor(collectionEntryService: CollectionEntryService, columnSetFactory: ColumnSetFactory, errorHandler: ErrorHandlerInterface, itemEntryFactory: ItemEntryFactory, itemEntryService: ItemEntryService, itemHandler: ItemHandler, itemRequestService: ItemRequestService, keyService: KeyService, promiseService: PromiseLibraryInterface, queryService: QueryService);
17
- construct(itemType: string, options: any): CollectionEntry;
19
+ constructor(collectionEntryService: CollectionEntryService, columnHandler: ColumnHandler, columnExpansionFactory: ColumnExpansionFactory, columnSetFactory: ColumnSetFactory, errorHandler: ErrorHandlerInterface, itemEntryFactory: ItemEntryFactory, itemEntryService: ItemEntryService, itemHandler: ItemHandler, itemRequestService: ItemRequestService, keyService: KeyService, promiseService: PromiseLibraryInterface, queryService: QueryService);
20
+ construct(itemType: ItemType, options: CollectionEntryOptionsInterface): CollectionEntry;
18
21
  }
@@ -1,14 +1,13 @@
1
- import { CollectionResourceService, KeyService, LocalCache } from '../classes';
1
+ import { KeyService, LocalCache } from '../classes';
2
2
  import { ChangesProcessorFactory, ItemResourceFactory } from '../factories';
3
3
  import { ErrorHandlerInterface, PromiseLibraryInterface } from '../interfaces';
4
- import { CollectionEntry, CollectionResource } from '../models';
4
+ import { CollectionEntry, CollectionResource, CollectionResourceOptionsInterface } from '../models';
5
5
  export declare class CollectionResourceFactory {
6
6
  errorHandler: ErrorHandlerInterface;
7
7
  itemResourceFactory: ItemResourceFactory;
8
8
  changesProcessorFactory: ChangesProcessorFactory;
9
9
  keyService: KeyService;
10
10
  promiseService: PromiseLibraryInterface;
11
- collectionResourceService: CollectionResourceService;
12
- constructor(errorHandler: ErrorHandlerInterface, itemResourceFactory: ItemResourceFactory, changesProcessorFactory: ChangesProcessorFactory, keyService: KeyService, promiseService: PromiseLibraryInterface, collectionResourceService: CollectionResourceService);
13
- construct(collectionEntry: CollectionEntry, options: any, localCache: LocalCache): CollectionResource;
11
+ constructor(errorHandler: ErrorHandlerInterface, itemResourceFactory: ItemResourceFactory, changesProcessorFactory: ChangesProcessorFactory, keyService: KeyService, promiseService: PromiseLibraryInterface);
12
+ construct(collectionEntry: CollectionEntry, options: CollectionResourceOptionsInterface, localCache: LocalCache): CollectionResource;
14
13
  }
@@ -0,0 +1,7 @@
1
+ import { ColumnSubsetCache, ColumnUtil } from '../classes';
2
+ import { ApiRequestColumns } from '../types';
3
+ export declare class ColumnSubsetCacheFactory {
4
+ private columnUtil;
5
+ constructor(columnUtil: ColumnUtil);
6
+ construct(requestColumns: ApiRequestColumns): ColumnSubsetCache;
7
+ }
@@ -1,15 +1,14 @@
1
- import { ApiFormatter, ChangesProcessor, ItemResourceService, LockService } from '../classes';
1
+ import { ApiFormatter, ChangesProcessor, LockService } from '../classes';
2
2
  import { ErrorHandlerInterface, PromiseLibraryInterface } from '../interfaces';
3
3
  import { ItemEntry, ItemResource } from '../models';
4
- import { ItemOptions } from '../types';
4
+ import { ItemOptionsInterface } from '../types';
5
5
  export declare class ItemResourceFactory {
6
- itemResourceService: ItemResourceService;
7
6
  apiFormatter: ApiFormatter;
8
7
  lockService: LockService;
9
8
  changesProcessor: ChangesProcessor;
10
9
  errorHandler: ErrorHandlerInterface;
11
10
  promiseService: PromiseLibraryInterface;
12
- constructor(itemResourceService: ItemResourceService, apiFormatter: ApiFormatter, lockService: LockService, changesProcessor: ChangesProcessor, errorHandler: ErrorHandlerInterface, promiseService: PromiseLibraryInterface);
13
- getConstructor(options: ItemOptions): (itemEntry: ItemEntry) => ItemResource;
14
- construct(itemEntry: ItemEntry, options: ItemOptions, isNew?: boolean): ItemResource;
11
+ constructor(apiFormatter: ApiFormatter, lockService: LockService, changesProcessor: ChangesProcessor, errorHandler: ErrorHandlerInterface, promiseService: PromiseLibraryInterface);
12
+ getConstructor(options: ItemOptionsInterface): (itemEntry: ItemEntry) => ItemResource;
13
+ construct(itemEntry: ItemEntry, options: ItemOptionsInterface, isNew?: boolean): ItemResource;
15
14
  }
@@ -1,4 +1,4 @@
1
- import { ItemResourceService, LocalCache, LockService } from '../classes';
1
+ import { LocalCache, LockService } from '../classes';
2
2
  import { ChangesProcessorFactory, CollectionCacheFactory, CollectionResourceFactory, ItemCacheFactory, ItemResourceFactory } from '../factories';
3
3
  import { ErrorHandlerInterface, PromiseLibraryInterface } from '../interfaces';
4
4
  export declare class LocalCacheFactory {
@@ -9,8 +9,7 @@ export declare class LocalCacheFactory {
9
9
  private changesProcessorFactory;
10
10
  private itemCacheFactory;
11
11
  private collectionResourceFactory;
12
- private itemResourceService;
13
12
  private promiseService;
14
- constructor(errorHandler: ErrorHandlerInterface, lockService: LockService, itemResourceFactory: ItemResourceFactory, collectionCacheFactory: CollectionCacheFactory, changesProcessorFactory: ChangesProcessorFactory, itemCacheFactory: ItemCacheFactory, collectionResourceFactory: CollectionResourceFactory, itemResourceService: ItemResourceService, promiseService: PromiseLibraryInterface);
13
+ constructor(errorHandler: ErrorHandlerInterface, lockService: LockService, itemResourceFactory: ItemResourceFactory, collectionCacheFactory: CollectionCacheFactory, changesProcessorFactory: ChangesProcessorFactory, itemCacheFactory: ItemCacheFactory, collectionResourceFactory: CollectionResourceFactory, promiseService: PromiseLibraryInterface);
15
14
  construct(id?: string): LocalCache;
16
15
  }
@@ -9,6 +9,7 @@ export * from './CollectionResourceFactory';
9
9
  export * from './ColumnExpansionFactory';
10
10
  export * from './ColumnInfoFactory';
11
11
  export * from './ColumnSetFactory';
12
+ export * from './ColumnSubsetCacheFactory';
12
13
  export * from './CreateRequestFactory';
13
14
  export * from './ItemCacheFactory';
14
15
  export * from './ItemEntryFactory';
@@ -9,7 +9,7 @@ export interface PromiseLibraryInterface {
9
9
  when<T>(value?: PromiseInterface<T> | T): PromiseInterface<T>;
10
10
  reject(value?: any): PromiseInterface<any>;
11
11
  defer(): {
12
- (value?): any;
13
- (value?): any;
12
+ (value?: any): any;
13
+ (value?: any): any;
14
14
  };
15
15
  }
@@ -1,10 +1,10 @@
1
1
  import { LocalCache } from '../classes';
2
2
  import { CollectionResourceFactory } from '../factories';
3
- import { CollectionEntry, CollectionResource, ItemResource } from '../models';
3
+ import { CollectionEntry, CollectionResource, CollectionResourceOptions, ItemResource } from '../models';
4
4
  import { FieldMap, ItemId, ItemIdConversionMap, PromiseInterface } from '../types';
5
5
  export declare class CollectionEditResource extends CollectionResource {
6
6
  private factory;
7
- constructor(factory: CollectionResourceFactory, collectionEntry: CollectionEntry, options: any, localCache: LocalCache);
7
+ constructor(factory: CollectionResourceFactory, collectionEntry: CollectionEntry, options: CollectionResourceOptions, localCache: LocalCache);
8
8
  save(): PromiseInterface<ItemIdConversionMap>;
9
9
  moveItems(idArray: ItemId[], destination: CollectionResource, enableCallbacks?: boolean): ItemResource[];
10
10
  removeItems(idArray: ItemId[], callOnRemove?: boolean): PromiseInterface<ItemResource[]>;
@@ -1,13 +1,13 @@
1
1
  import { ColumnExpansion, ColumnInfo, ColumnSet, ItemCache } from '../classes';
2
2
  import { CollectionEntryFactory } from '../factories';
3
- import { CollectionResource, ItemEntry, ItemResource } from '../models';
4
- import { ApiRequestColumns, EntryParentNull, FieldMap, ItemId, ItemIdConversionMap, ItemType, PromiseInterface } from '../types';
3
+ import { CollectionEntryOptions, CollectionResource, ItemEntry, ItemResource } from '../models';
4
+ import { ApiQuery, ApiRequestColumns, EntryParentNull, FieldMap, ItemId, ItemIdConversionMap, ItemType, PromiseInterface, QueryCallback } from '../types';
5
5
  export declare class CollectionEntry {
6
6
  private factory;
7
7
  itemType: ItemType;
8
- options: any;
8
+ options: CollectionEntryOptions;
9
9
  id: number;
10
- query: any;
10
+ query: ApiQuery;
11
11
  columns: ColumnSet;
12
12
  templateColumns: ColumnSet | null;
13
13
  parent: EntryParentNull;
@@ -19,7 +19,7 @@ export declare class CollectionEntry {
19
19
  reloadQueued: boolean;
20
20
  hasEditResources: boolean;
21
21
  hasItemEditResources: boolean;
22
- constructor(factory: CollectionEntryFactory, itemType: ItemType, options: any);
22
+ constructor(factory: CollectionEntryFactory, itemType: ItemType, options: CollectionEntryOptions);
23
23
  defer(): this;
24
24
  isDeferred(): boolean;
25
25
  _resolve(): this;
@@ -36,14 +36,17 @@ export declare class CollectionEntry {
36
36
  createItems(valuesArray: FieldMap[]): PromiseInterface<ItemEntry[]>;
37
37
  resolveDerivedValues(itemEntries: ItemEntry[], localItemCache: ItemCache): PromiseInterface<ItemEntry[]>;
38
38
  addItems(itemEntries: ItemEntry[], resultResource?: CollectionResource | null, updateInitial?: boolean, callOnAdd?: boolean, callOnActivate?: boolean): ItemResource[] | null;
39
- private handleAddedItemCallbacks(entriesAddedToInitial, entriesAddedToModified, resultResource?, callOnAdd?, callOnActivate?);
39
+ private handleAddedItemCallbacks;
40
40
  removeItems(idArray: ItemId[], resultResource?: CollectionResource | null, updateInitial?: boolean, callOnRemove?: boolean): ItemResource[] | null;
41
41
  clear(resultResource?: CollectionResource | null, updateInitial?: boolean, callOnRemove?: boolean): ItemResource[] | null;
42
42
  handleRemovedItems(filterFunction: (itemEntry: ItemEntry) => boolean, resultResource?: CollectionResource | null, updateInitial?: boolean, callOnRemove?: boolean): ItemResource[] | null;
43
- private handleRemovedItemCallbacks(removedFromInitial, removedFromModified, resultResource?, callOnRemove?);
44
- expand(newColumns: ApiRequestColumns): PromiseInterface<this>;
45
- extendQuery(callback: any): any;
46
- extend(queryCallback: any, collectionResource: any, callOnAdd?: any, updateInitial?: any): PromiseInterface<ItemResource[] | null>;
43
+ private handleRemovedItemCallbacks;
44
+ private createBatchStatus;
45
+ private expandLocal;
46
+ private expandRemote;
47
+ expand(newColumns: ApiRequestColumns, localItemCache: ItemCache): PromiseInterface<this>;
48
+ extendQuery(callback?: QueryCallback): any;
49
+ extend(queryCallback: QueryCallback, collectionResource?: CollectionResource | null, callOnAdd?: boolean, updateInitial?: boolean): PromiseInterface<ItemResource[] | null>;
47
50
  queueReload(): void;
48
51
  expandColumns(columnExpansion: ColumnExpansion): void;
49
52
  expandRequestColumns(requestColumns: ApiRequestColumns): void;
@@ -0,0 +1,20 @@
1
+ import { ApiQuery, ApiRequestColumns, ApiRequestLimit, EntryParentNull, OptionsInterface } from '../types';
2
+ export declare abstract class CollectionEntryOptionsInterface implements OptionsInterface {
3
+ columns?: ApiRequestColumns;
4
+ query?: ApiQuery | null;
5
+ queryParams?: object;
6
+ parent?: EntryParentNull;
7
+ deferRequest?: boolean;
8
+ limit?: ApiRequestLimit | null;
9
+ entryKey?: string | null;
10
+ }
11
+ export declare class CollectionEntryOptions extends CollectionEntryOptionsInterface {
12
+ columns: any;
13
+ query: any;
14
+ queryParams: any;
15
+ parent: any;
16
+ deferRequest: any;
17
+ limit: any;
18
+ entryKey: any;
19
+ constructor(values: CollectionEntryOptionsInterface);
20
+ }
@@ -1,17 +1,17 @@
1
1
  import { LocalCache } from '../classes';
2
2
  import { ItemResourceFactory } from '../factories';
3
- import { ItemEntry, ItemResource } from '../models';
3
+ import { CollectionResourceOptions, ItemEntry, ItemResource } from '../models';
4
4
  import { ItemResourceItemIdMap, PromiseInterface } from '../types';
5
5
  import { CollectionEntry } from './CollectionEntry';
6
6
  export declare class CollectionResource {
7
7
  private itemResourceFactory;
8
8
  entry: CollectionEntry;
9
- options: any;
9
+ options: CollectionResourceOptions;
10
10
  localCache: LocalCache;
11
11
  items: ItemResource[];
12
12
  itemIdMap: ItemResourceItemIdMap;
13
13
  columns: any;
14
- constructor(itemResourceFactory: ItemResourceFactory, entry: CollectionEntry, options: any, localCache: LocalCache);
14
+ constructor(itemResourceFactory: ItemResourceFactory, entry: CollectionEntry, options: CollectionResourceOptions, localCache: LocalCache);
15
15
  getItemById(itemId: number): ItemResource;
16
16
  rebuildMap(): void;
17
17
  addItemResources(itemEntries: ItemEntry[]): ItemResource[];
@@ -0,0 +1,38 @@
1
+ import { CollectionEntry, CollectionResource, ItemEntry, ItemResource } from '../models';
2
+ import { ItemIdConversionMap, OnChangeFunction, OptionsInterface } from '../types';
3
+ export declare type CollectionResourceCallback = (itemResources: ItemResource[], collectionResource: CollectionResource) => void;
4
+ export declare type CollectionResourceInitialCallback = (itemEntries: ItemEntry[], collectionEntry: CollectionEntry) => void;
5
+ export declare type OnItemsCreatedCallback = (conversionMap: ItemIdConversionMap) => void;
6
+ export declare abstract class CollectionResourceOptionsInterface implements OptionsInterface {
7
+ editItems?: boolean;
8
+ editCollection?: boolean;
9
+ modInstant?: boolean;
10
+ enableSave?: boolean;
11
+ onItemsCreated?: OnItemsCreatedCallback;
12
+ onChange?: OnChangeFunction;
13
+ onAdd?: CollectionResourceCallback;
14
+ onRemove?: CollectionResourceCallback;
15
+ onAddInitial?: CollectionResourceInitialCallback;
16
+ onRemoveInitial?: CollectionResourceInitialCallback;
17
+ resourceKey?: string | null;
18
+ clearOnTabChange?: boolean;
19
+ clearOnSubTabChange?: boolean;
20
+ custom?: any;
21
+ }
22
+ export declare class CollectionResourceOptions extends CollectionResourceOptionsInterface {
23
+ editItems: any;
24
+ editCollection: any;
25
+ modInstant: any;
26
+ enableSave: any;
27
+ onItemsCreated: any;
28
+ onChange: any;
29
+ onAdd: any;
30
+ onRemove: any;
31
+ onAddInitial: any;
32
+ onRemoveInitial: any;
33
+ resourceKey: any;
34
+ clearOnTabChange: any;
35
+ clearOnSubTabChange: any;
36
+ custom: any;
37
+ constructor(values: CollectionResourceOptionsInterface);
38
+ }
@@ -1,6 +1,6 @@
1
1
  import { LocalCache } from '../classes';
2
2
  import { ItemResourceFactory } from '../factories';
3
- import { CollectionEntry, CollectionResource } from '../models';
3
+ import { CollectionEntry, CollectionResource, CollectionResourceOptions } from '../models';
4
4
  export declare class CollectionViewResource extends CollectionResource {
5
- constructor(itemResourceFactory: ItemResourceFactory, collectionEntry: CollectionEntry, options: any, localCache: LocalCache);
5
+ constructor(itemResourceFactory: ItemResourceFactory, collectionEntry: CollectionEntry, options: CollectionResourceOptions, localCache: LocalCache);
6
6
  }
@@ -1,11 +1,11 @@
1
1
  import { ItemResourceFactory } from '../factories';
2
+ import { ItemEntry, ItemResource, ItemResourceOptions } from '../models';
2
3
  import { FieldMap, PromiseInterface } from '../types';
3
- import { ItemEntry, ItemResource } from './';
4
4
  export declare class EditResource extends ItemResource {
5
5
  private factory;
6
6
  localCopies: FieldMap[];
7
7
  transactions: number;
8
- constructor(factory: ItemResourceFactory, entry: ItemEntry, options: any, isNew?: boolean);
8
+ constructor(factory: ItemResourceFactory, entry: ItemEntry, options: ItemResourceOptions, isNew?: boolean);
9
9
  isNew(): boolean;
10
10
  start(): this;
11
11
  rollback(): this;
@@ -1,7 +1,7 @@
1
1
  import { ColumnSet } from '../classes';
2
2
  import { ItemEntryFactory } from '../factories';
3
3
  import { ItemResource } from '../models';
4
- import { ColumnExpansionResult, EntryParentNull, FieldMap, ItemId, ItemIdConversionMap, ItemType } from '../types';
4
+ import { ColumnExpansionResult, EntryParentNull, FieldMap, ItemError, ItemId, ItemIdConversionMap, ItemType } from '../types';
5
5
  export declare class ItemEntry {
6
6
  private factory;
7
7
  itemType: string;
@@ -22,7 +22,7 @@ export declare class ItemEntry {
22
22
  resolve(): this;
23
23
  resolveDeferred(initial: any, derived: any, columns: any): this;
24
24
  isDeferred(): boolean;
25
- reject(error?: any): this;
25
+ reject(error?: ItemError): this;
26
26
  setFields(initial: FieldMap, derived: FieldMap): this;
27
27
  setLocalFields(initialValues: FieldMap, conversionMap: ItemIdConversionMap, columns?: ColumnSet): this;
28
28
  clone(conversionMap?: ItemIdConversionMap): ItemEntry;
@@ -32,13 +32,13 @@ export declare class ItemEntry {
32
32
  getFields(): FieldMap;
33
33
  expand(main: FieldMap, derived: FieldMap, columnExpansionResult: ColumnExpansionResult): this;
34
34
  expandLocal(columnExpansionResult: ColumnExpansionResult): this;
35
- private setLocalValues(fields, columns);
35
+ private setLocalValues;
36
36
  /**
37
37
  * This function assumes the initial, modified, derived properties are already set. It will update the values
38
38
  * themselves to preserve references in existing item resources.
39
39
  */
40
40
  updateFields(fields: FieldMap, derived?: FieldMap | null, overwrite?: boolean): this;
41
- private updateItemValues(fields, itemColumns, conversionMap);
41
+ private updateItemValues;
42
42
  updateItemFields(conversionMap: ItemIdConversionMap, columns?: ColumnSet): this;
43
43
  formatRequest(): FieldMap;
44
44
  setDisplayName(): this;
@@ -0,0 +1,18 @@
1
+ import { ApiRequestColumnMap, ApiRequestColumns, EntryParentNull, OptionsInterface } from '../types';
2
+ export declare abstract class ItemEntryOptionsInterface implements OptionsInterface {
3
+ columns?: ApiRequestColumns;
4
+ parent?: EntryParentNull;
5
+ templateOptions?: any;
6
+ templateColumns?: ApiRequestColumnMap;
7
+ deferRequest?: boolean;
8
+ isDuplicate?: boolean;
9
+ }
10
+ export declare class ItemEntryOptions extends ItemEntryOptionsInterface {
11
+ columns: any;
12
+ parent: any;
13
+ templateOptions: any;
14
+ templateColumns: any;
15
+ deferRequest: any;
16
+ isDuplicate: any;
17
+ constructor(values: ItemEntryOptionsInterface);
18
+ }
@@ -1,15 +1,15 @@
1
- import { ItemEntry } from '../models';
1
+ import { ItemEntry, ItemResourceOptions } from '../models';
2
2
  import { FieldMap, ResponseColumn } from '../types';
3
3
  export declare class ItemResource {
4
4
  entry: ItemEntry;
5
- options: any;
5
+ options: ItemResourceOptions;
6
6
  protected readonly _isNew: boolean;
7
7
  columns: {
8
8
  [columnId: string]: ResponseColumn;
9
9
  };
10
10
  fields: FieldMap;
11
11
  derived: FieldMap;
12
- constructor(entry: ItemEntry, options: any, _isNew?: boolean);
12
+ constructor(entry: ItemEntry, options: ItemResourceOptions, _isNew?: boolean);
13
13
  isNew(): boolean;
14
14
  isLocal(): boolean;
15
15
  clearResource(): void;
@@ -0,0 +1,13 @@
1
+ import { ItemEntry } from '../models';
2
+ import { ItemOptionsInterface, OnChangeFunction } from '../types';
3
+ export declare abstract class ItemResourceOptionsInterface implements ItemOptionsInterface {
4
+ edit?: boolean;
5
+ onChange?: OnChangeFunction;
6
+ onDeactivate?: (itemEntry: ItemEntry) => void;
7
+ }
8
+ export declare class ItemResourceOptions extends ItemResourceOptionsInterface {
9
+ edit: any;
10
+ onChange: any;
11
+ onDeactivate: any;
12
+ constructor(values: ItemResourceOptionsInterface);
13
+ }
@@ -1,4 +1,4 @@
1
- import { ItemEntry, ItemResource } from '../models';
1
+ import { ItemEntry, ItemResource, ItemResourceOptions } from '../models';
2
2
  export declare class ViewResource extends ItemResource {
3
- constructor(entry: ItemEntry, options: any, isNew?: boolean);
3
+ constructor(entry: ItemEntry, options: ItemResourceOptions, isNew?: boolean);
4
4
  }
@@ -1,9 +1,13 @@
1
- export * from './CollectionEntry';
2
- export * from './CollectionResource';
3
- export * from './CollectionViewResource';
4
- export * from './CollectionEditResource';
1
+ export * from './ItemEntryOptions';
2
+ export * from './ItemResourceOptions';
5
3
  export * from './ItemEntry';
6
4
  export * from './ItemResource';
7
5
  export * from './ViewResource';
8
6
  export * from './EditResource';
7
+ export * from './CollectionEntryOptions';
8
+ export * from './CollectionResourceOptions';
9
+ export * from './CollectionEntry';
10
+ export * from './CollectionResource';
11
+ export * from './CollectionViewResource';
12
+ export * from './CollectionEditResource';
9
13
  export * from './Template';