@rentman/rm-core 1.1.15 → 1.1.17

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,11 +1,9 @@
1
- import { ApiResponseProcessor, BatchStatus, ColumnHandler, ColumnUtil, ItemCache, ItemEntryService, KeyService } from '../classes';
1
+ import { ApiResponseProcessor, BatchStatus, ColumnExpansion, ColumnHandler, ColumnSet, ColumnUtil, ItemCache, ItemEntryService, KeyService } from '../classes';
2
2
  import { ENTRY_STATUS } from '../constants';
3
3
  import { BatchStatusFactory, ColumnExpansionFactory, ColumnSetFactory, ItemCacheFactory, ItemEntryFactory } from '../factories';
4
4
  import { ApiRequestServiceInterface, ErrorHandlerInterface, PromiseInterface } from '../interfaces';
5
5
  import { ItemEntry } from '../models';
6
- import { ApiResponse, ApiTemplateItemTypeMap, EntryStatus, ItemId, ItemIdConversionMap, ItemType, RequestColumns, TemplateResponseItemEntryMap, TemplateResponseLinkedItemEntryMap } from '../types';
7
- import { ColumnExpansion } from './ColumnExpansion';
8
- import { ColumnSet } from './ColumnSet';
6
+ import { ApiResponse, ApiTemplateItemTypeMap, EntryStatus, FieldMap, ItemId, ItemIdConversionMap, ItemType, RequestColumns, TemplateResponseItemEntryMap, TemplateResponseLinkedItemEntryMap } from '../types';
9
7
  export declare class ItemHandler {
10
8
  private apiRequestService;
11
9
  private errorHandler;
@@ -38,6 +36,11 @@ export declare class ItemHandler {
38
36
  resolveLocal(itemEntry: ItemEntry, parent: any, template: any, localItemCache: ItemCache): TemplateResponseItemEntryMap;
39
37
  resolveExpansion(itemEntry: ItemEntry, columnExpansion: ColumnExpansion, response: ApiResponse): ItemEntry;
40
38
  resolveRemote(itemEntry: ItemEntry, columnSet: ColumnSet, response: ApiResponse): ItemEntry | null;
39
+ resolveRemoteValues(itemEntry: ItemEntry, response: ApiResponse): ItemEntry | null;
40
+ getResponseFields(itemEntry: ItemEntry, columnSet: any, response: ApiResponse): {
41
+ initial: FieldMap;
42
+ derived: FieldMap;
43
+ } | null;
41
44
  fetchTemplate(itemType: string, templateOptions?: any, templateColumns?: any): Promise<any>;
42
45
  getEntryStatus(itemType: ItemType, itemId: ItemId, options: any, localItemCache: ItemCache): EntryStatus<ItemEntry>;
43
46
  isColumnSuperset(itemEntry: ItemEntry, columns: RequestColumns): any;
@@ -53,8 +56,9 @@ export declare class ItemHandler {
53
56
  * for every type of entry status there is in this batch request make sure the entries get resolved.
54
57
  * then return a array of the resulting ItemEntryArray
55
58
  */
56
- batchResolve(itemType: any, batchStatus: BatchStatus, requestColumns: any, resolved: any, localItemCache: ItemCache): ItemEntry[] | Promise<any>;
59
+ batchResolve(itemType: ItemType, batchStatus: BatchStatus, requestColumns: RequestColumns, resolved: any, localItemCache: ItemCache): ItemEntry[] | Promise<any>;
57
60
  createLocalEntries(parentType: ItemType, localParentId: ItemId, template: any, itemIdConversion: ItemIdConversionMap, localItemCache: ItemCache, excludeItemTypes?: ItemType[]): TemplateResponseLinkedItemEntryMap[];
58
61
  fetchTitle(itemType: ItemType, itemId: ItemId, deferRequest: boolean | undefined, localItemCache: ItemCache): Promise<any>;
59
- requestItems(itemType: string, itemIds: ItemId[], columns: any): Promise<ApiResponseProcessor>;
62
+ requestItem(itemEntry: ItemEntry, requestColumns?: RequestColumns): Promise<ApiResponseProcessor>;
63
+ requestItems(itemType: ItemType, itemIds: ItemId[], columns: RequestColumns): Promise<ApiResponseProcessor>;
60
64
  }
@@ -4,6 +4,7 @@ export declare enum ENTRY_STATUS {
4
4
  EXPAND = "expand",
5
5
  PROMISED_EXPAND = "promised-expand",
6
6
  RESOLVE = "resolve",
7
+ RESOLVE_VALUES = "resolve-values",
7
8
  LOCAL = "local",
8
9
  }
9
10
  export declare const ALL_PERMISSIONS = "7";
@@ -1,13 +1,20 @@
1
1
  import { CollectionResourceFactory } from '../factories';
2
2
  import { CollectionEntry, CollectionResource, ItemResource } from '../models';
3
+ import { FieldMap, ItemId, ItemIdConversionMap } from '../types';
3
4
  export declare class CollectionEditResource extends CollectionResource {
4
5
  private factory;
5
6
  constructor(factory: CollectionResourceFactory, collectionEntry: CollectionEntry, options: any);
6
- save(): Promise<any>;
7
- moveItems(idArray: any, destination: any, enableCallbacks: any): ItemResource[];
8
- removeItems(idArray: any, enableCallbacks: any): Promise<any>;
9
- removeItem(itemId: any, enableCallbacks: any): Promise<any>;
10
- addItems(valuesArray: any, enableCallbacks?: boolean): Promise<any>;
11
- addItem(values: any, enableCallbacks: any): Promise<any>;
7
+ save(): Promise<ItemIdConversionMap>;
8
+ moveItems(idArray: ItemId[], destination: CollectionResource, enableCallbacks?: boolean): ItemResource[];
9
+ removeItems(idArray: ItemId[], callOnRemove?: boolean): Promise<ItemResource[]>;
10
+ removeItem(itemId: ItemId, callOnRemove?: boolean): Promise<ItemResource>;
11
+ addItems(valuesArray: Array<{
12
+ fields: FieldMap;
13
+ derived: FieldMap;
14
+ }>, callOnAdd?: boolean, callOnActivate?: boolean): Promise<any>;
15
+ addItem(values: {
16
+ fields: FieldMap;
17
+ derived: FieldMap;
18
+ }, callOnAdd?: boolean, callOnActivate?: boolean): Promise<any>;
12
19
  clear(enableCallbacks: any): ItemResource[] | null;
13
20
  }
@@ -19,6 +19,7 @@ export declare class CollectionEntry {
19
19
  hasEditResources: boolean;
20
20
  hasItemEditResources: boolean;
21
21
  constructor(factory: CollectionEntryFactory, itemType: ItemType, options: any);
22
+ defer(): void;
22
23
  isDeferred(): boolean;
23
24
  resolve(itemEntryCompound: {
24
25
  columns: ColumnSet;
@@ -31,9 +32,9 @@ export declare class CollectionEntry {
31
32
  getIdArray(accumulator?: ItemId[]): ItemId[];
32
33
  addItems(itemEntries: ItemEntry[], resultResource?: CollectionResource | null, updateInitial?: boolean, callOnAdd?: boolean, callOnActivate?: boolean): ItemResource[] | null;
33
34
  private handleAddedItemCallbacks(entriesAddedToInitial, entriesAddedToModified, resultResource?, callOnAdd?, callOnActivate?);
34
- removeItems(idArray: ItemId[], resultResource?: CollectionResource | null, updateInitial?: boolean, enableCallback?: boolean): ItemResource[] | null;
35
- clear(resultResource?: CollectionResource | null, updateInitial?: boolean, enableCallback?: boolean): ItemResource[] | null;
36
- handleRemovedItems(filterFunction: (itemEntry: ItemEntry) => boolean, resultResource?: CollectionResource | null, updateInitial?: boolean, enableCallback?: boolean): ItemResource[] | null;
35
+ removeItems(idArray: ItemId[], resultResource?: CollectionResource | null, updateInitial?: boolean, callOnRemove?: boolean): ItemResource[] | null;
36
+ clear(resultResource?: CollectionResource | null, updateInitial?: boolean, callOnRemove?: boolean): ItemResource[] | null;
37
+ handleRemovedItems(filterFunction: (itemEntry: ItemEntry) => boolean, resultResource?: CollectionResource | null, updateInitial?: boolean, callOnRemove?: boolean): ItemResource[] | null;
37
38
  private handleRemovedItemCallbacks(removedFromInitial, removedFromModified, resultResource?, callOnRemove?);
38
39
  expand(newColumns: any): Promise<any>;
39
40
  extendQuery(callback: any): any;
@@ -27,10 +27,12 @@ export declare class CollectionResource {
27
27
  filter(callback: (itemResource: ItemResource) => boolean): ItemResource[];
28
28
  first(callback: (itemResource: ItemResource) => boolean): ItemResource | null;
29
29
  some(callback: (itemResource: ItemResource) => boolean): boolean;
30
- groupBy(argument: any): {};
31
- map(argument: any): any[];
30
+ groupBy(argument: string | ((itemResource: ItemResource) => string | null)): {
31
+ [key: string]: ItemResource[];
32
+ };
33
+ map<T>(argument: string | ((itemResource: ItemResource) => T)): T[];
32
34
  reduce<T>(callback: (itemResource: ItemResource, value: T) => T, value: T): T;
33
- extend(queryCallback: any, returnAllItems: any, enableCallbacks: any): Promise<ItemResource[]>;
35
+ extend(queryCallback: any, returnAllItems?: boolean, callOnAdd?: boolean): Promise<ItemResource[]>;
34
36
  deactivate(): void;
35
37
  clearResource(): void;
36
38
  }
@@ -1,13 +1,14 @@
1
1
  import { ColumnSet } from '../classes';
2
2
  import { ItemEntryFactory } from '../factories';
3
3
  import { ItemResource } from '../models';
4
- import { EntryParentNull, FieldMap, ItemId, ItemIdConversionMap } from '../types';
4
+ import { ColumnExpansionResult, EntryParentNull, FieldMap, ItemId, ItemIdConversionMap, ItemType, ResponseColumn } from '../types';
5
5
  export declare class ItemEntry {
6
6
  private factory;
7
7
  itemType: string;
8
8
  itemId: ItemId;
9
9
  columns: ColumnSet;
10
10
  id: number;
11
+ reloadQueued: boolean;
11
12
  deferRequest: boolean;
12
13
  deferred: any;
13
14
  parent: EntryParentNull;
@@ -16,41 +17,45 @@ export declare class ItemEntry {
16
17
  derived: FieldMap;
17
18
  resources: ItemResource[];
18
19
  constructor(factory: ItemEntryFactory, itemType: string, itemId: ItemId, columns: ColumnSet);
19
- defer(deferRequest: any): this;
20
+ queueReload(): this;
21
+ defer(deferRequest?: boolean): this;
20
22
  resolve(): this;
21
23
  resolveDeferred(initial: any, derived: any, columns: any): this;
22
24
  isDeferred(): boolean;
23
25
  reject(error?: any): this;
24
- process(initial: any, derived: any): this;
25
- processLocal(initial: any, modified: any, derived: any, conversionMap: ItemIdConversionMap): this;
26
- setCreator(): this;
26
+ setFields(initial: FieldMap, derived: FieldMap): this;
27
+ setLocalFields(initialValues: FieldMap, conversionMap: ItemIdConversionMap): this;
27
28
  clone(conversionMap?: ItemIdConversionMap): ItemEntry;
28
29
  resetDerived(columnIds: any): this;
29
30
  clearResources(): this;
30
31
  deactivateResources(): this;
31
32
  getFields(): FieldMap;
32
- expand(main: any, derived: any, columnExpansionResult: any): this;
33
- updateFields(source: any, overwrite?: boolean): this;
34
- updateItemValue(fields: any, apiColumn: any, conversionMap: any): this;
35
- updateItemFields(conversionMap: any): this;
36
- formatRequest(): {};
33
+ expand(main: FieldMap, derived: FieldMap, columnExpansionResult: ColumnExpansionResult): this;
34
+ /**
35
+ * This function assumes the initial, modified, derived properties are already set. It will update the values
36
+ * themselves to preserve references in existing item resources.
37
+ */
38
+ updateFields(fields: FieldMap, derived?: FieldMap | null, overwrite?: boolean): this;
39
+ updateItemValue(fields: FieldMap, apiColumn: ResponseColumn, conversionMap: ItemIdConversionMap): this;
40
+ updateItemFields(conversionMap: ItemIdConversionMap): this;
41
+ formatRequest(): FieldMap;
37
42
  setDisplayName(): this;
38
- getDisplayName(): any;
43
+ getDisplayName(): string;
39
44
  /**
40
45
  * @param {Boolean} returnAll Returns all initial values if true
41
46
  * @returns {Object}
42
47
  */
43
- getChanges(returnAll?: boolean): object[];
48
+ getChanges(returnAll?: boolean): FieldMap;
44
49
  isLocal(): boolean;
45
50
  isLockable(): boolean;
46
51
  hasChanges(): boolean;
47
52
  resetModified(): this;
48
- setInitial(values: any, enableCallbacks?: any): this;
53
+ setInitial(values: FieldMap, enableCallbacks?: boolean): this;
49
54
  /**
50
55
  * Does a shallow copy of values!
51
56
  */
52
- setModified(values?: any): this;
53
- setDerived(values: any): this;
54
- setParent(parentType: any, parentId: any): this;
55
- callOnChange(previous: any): this;
57
+ setModified(values?: FieldMap): this;
58
+ setDerived(values: FieldMap): this;
59
+ setParent(parentType: ItemType, parentId: ItemId): this;
60
+ callOnChange(previous: FieldMap): this;
56
61
  }
@@ -1,4 +1,4 @@
1
- import { CollectionMatcher, ColumnSet, RequestColumnExpansion } from '../classes';
1
+ import { ApiResponseProcessor, CollectionMatcher, ColumnSet, RequestColumnExpansion } from '../classes';
2
2
  import { ENTRY_STATUS } from '../constants';
3
3
  import { CollectionEntry, CollectionResource, ItemEntry, ItemResource } from '../models';
4
4
  export declare type EntryParent = {
@@ -17,8 +17,8 @@ export declare type ItemDefinition = {
17
17
  isNew: boolean;
18
18
  };
19
19
  export declare const enum StateKeyType {
20
- New = 0,
21
- Duplicate = 1,
20
+ New = "new",
21
+ Duplicate = "duplicate",
22
22
  }
23
23
  export declare type StateKey = {
24
24
  type: StateKeyType;
@@ -76,7 +76,7 @@ export declare type ColumnExpansionResult = {
76
76
  merged: ColumnSet;
77
77
  difference: ColumnSet;
78
78
  };
79
- export declare type ApiResponse = any;
79
+ export declare type ApiResponse = ApiResponseProcessor;
80
80
  export interface ApiTemplate {
81
81
  fields: any;
82
82
  columns: any;