@salesforce/lds-runtime-mobile 1.332.0-dev1 → 1.332.0-dev10

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.
package/dist/main.js CHANGED
@@ -28433,13 +28433,25 @@ function convertGraphQLToRaml(astNode, state) {
28433
28433
  ? getRequestedFieldsForType(data.__typename, astNode.selectionSet, state.fragments, isFragmentApplicable$H)
28434
28434
  : new Map();
28435
28435
  const { fieldsBag, trie } = createFieldsBagAndTrie(data, requestedFields, state);
28436
+ const recordTypeId = data.ldsRecordTypeId === null ? null : data.ldsRecordTypeId.value;
28437
+ if (recordTypeId && recordTypeId !== MAIN_RECORD_TYPE_ID) {
28438
+ const fieldName = 'RecordTypeId';
28439
+ fieldsBag[fieldName] = {
28440
+ value: recordTypeId,
28441
+ displayValue: null,
28442
+ };
28443
+ trie.children[fieldName] = {
28444
+ name: fieldName,
28445
+ children: {},
28446
+ };
28447
+ }
28436
28448
  const recordRepresentation = {
28437
28449
  apiName: data.ApiName,
28438
28450
  eTag: '',
28439
28451
  lastModifiedById: data.LastModifiedById.value,
28440
28452
  lastModifiedDate: data.LastModifiedDate.value,
28441
28453
  systemModstamp: data.SystemModstamp.value,
28442
- recordTypeId: data.ldsRecordTypeId === null ? null : data.ldsRecordTypeId.value,
28454
+ recordTypeId: recordTypeId,
28443
28455
  recordTypeInfo: null,
28444
28456
  childRelationships: {},
28445
28457
  id: data.Id,
@@ -42729,11 +42741,13 @@ class UiApiDraftRecordService {
42729
42741
 
42730
42742
  const QUICK_ACTION_HANDLER = 'QUICK_ACTION_HANDLER';
42731
42743
  class QuickActionExecutionRepresentationHandler extends AbstractResourceRequestActionHandler {
42732
- constructor(getLuvio, draftRecordService, draftQueue, networkAdapter, isDraftId, sideEffectService) {
42744
+ constructor(getLuvio, draftRecordService, draftQueue, networkAdapter, isDraftId, sideEffectService, objectInfoService, getRecord) {
42733
42745
  super(draftQueue, networkAdapter, getLuvio, draftRecordService);
42734
42746
  this.draftRecordService = draftRecordService;
42735
42747
  this.isDraftId = isDraftId;
42736
42748
  this.sideEffectService = sideEffectService;
42749
+ this.objectInfoService = objectInfoService;
42750
+ this.getRecord = getRecord;
42737
42751
  this.handlerId = QUICK_ACTION_HANDLER;
42738
42752
  draftRecordService.registerRecordHandler(this);
42739
42753
  }
@@ -42765,6 +42779,30 @@ class QuickActionExecutionRepresentationHandler extends AbstractResourceRequestA
42765
42779
  });
42766
42780
  luvio.storeIngest(key, ingestQuickActionExecutionRepresentation, response);
42767
42781
  }
42782
+ async handleActionCompleted(action, queueOperations) {
42783
+ await super.handleActionCompleted(action, queueOperations);
42784
+ this.getLuvio();
42785
+ const canonicalId = action.response.body.id;
42786
+ this.buildTagForTargetId(canonicalId);
42787
+ const prefix = canonicalId.substring(0, 3);
42788
+ if (prefix.length !== 3) {
42789
+ // if we can't get a prefix, don't do the rest
42790
+ return;
42791
+ }
42792
+ const apiName = await this.objectInfoService.apiNameForPrefix(prefix);
42793
+ const objectInfo = await this.objectInfoService.getObjectInfo(apiName);
42794
+ if (!objectInfo) {
42795
+ return;
42796
+ }
42797
+ await this.getRecord({ recordId: canonicalId, fields: this.allFields(objectInfo) });
42798
+ }
42799
+ allFields(objectInfo) {
42800
+ let fields = [];
42801
+ Object.keys(objectInfo.fields).forEach((fieldName) => {
42802
+ fields.push(objectInfo.apiName + '.' + fieldName);
42803
+ });
42804
+ return fields;
42805
+ }
42768
42806
  mergeRequestBody() {
42769
42807
  throw Error('mergeActions not supported for QuickActionExecutionRepresentationHandler');
42770
42808
  }
@@ -54816,7 +54854,7 @@ class SideEffectService {
54816
54854
  const objectInfo = await this.ensureObjectInfo(apiName);
54817
54855
  const recordFields = {};
54818
54856
  for (const fieldName of keys$3(fields)) {
54819
- const draftField = fields[fieldName];
54857
+ const draftField = fields[fieldName] ?? null;
54820
54858
  recordFields[fieldName] = { value: draftField, displayValue: null };
54821
54859
  const fieldInfo = objectInfo.fields[fieldName];
54822
54860
  if (fieldInfo) {
@@ -55373,7 +55411,7 @@ function getRuntime() {
55373
55411
  const draftService = new UiApiDraftRecordService(() => lazyLuvio, lazyDurableStore, lazyObjectInfoService, newRecordId, lazySideEffectStore, lazyDurableRecordStore);
55374
55412
  const uiApiRecordHandler = new UiApiActionHandler(() => lazyLuvio, lazyNetworkAdapter, lazyDraftQueue, getRecord, lazyObjectInfoService, isGenerated, draftService, lazySideEffectService, lazyDurableRecordStore);
55375
55413
  uiApiRecordHandler.setSideEffectHooks(sfsSideEffectHooks);
55376
- const quickActionHandler = new QuickActionExecutionRepresentationHandler(() => lazyLuvio, draftService, lazyDraftQueue, lazyNetworkAdapter, isGenerated, lazySideEffectService);
55414
+ const quickActionHandler = new QuickActionExecutionRepresentationHandler(() => lazyLuvio, draftService, lazyDraftQueue, lazyNetworkAdapter, isGenerated, lazySideEffectService, lazyObjectInfoService, getRecord);
55377
55415
  const updateRecordQuickActionHandler = new UpdateRecordQuickActionExecutionRepresentationHandler(() => lazyLuvio, draftService, lazyDraftQueue, lazyNetworkAdapter, isGenerated, lazySideEffectService);
55378
55416
  const contentDocumentCompositeActionHandler = new ContentDocumentCompositeRepresentationActionHandler(() => lazyLuvio, userId, draftService, lazyObjectInfoService, lazyDraftQueue, lazyNetworkAdapter, isGenerated, NimbusBinaryStore, lazySideEffectService);
55379
55417
  lazyDraftQueue.addHandler(uiApiRecordHandler);
@@ -55482,4 +55520,4 @@ register({
55482
55520
  });
55483
55521
 
55484
55522
  export { O11Y_NAMESPACE_LDS_MOBILE, getRuntime, registerReportObserver, reportGraphqlQueryParseError };
55485
- // version: 1.332.0-dev1-5d903f6f8e
55523
+ // version: 1.332.0-dev10-0d26f7dda1
@@ -1,11 +1,13 @@
1
- import type { DraftAction, DraftQueue } from '@salesforce/lds-drafts';
1
+ import type { CompletedDraftAction, QueueOperation, DraftAction, DraftQueue } from '@salesforce/lds-drafts';
2
2
  import { AbstractResourceRequestActionHandler } from '../AbstractResourceRequestActionHandler';
3
- import type { PerformActionInputRepresentation, QuickActionExecutionRepresentation } from '@salesforce/lds-adapters-uiapi';
4
- import type { DurableStoreKeyMetadataMap, Luvio, NetworkAdapter, ResourceRequest } from '@luvio/engine';
3
+ import type { PerformActionInputRepresentation, QuickActionExecutionRepresentation, RecordRepresentation } from '@salesforce/lds-adapters-uiapi';
4
+ import { GetRecordConfig } from '@salesforce/lds-adapters-uiapi';
5
+ import type { DurableStoreKeyMetadataMap, Luvio, NetworkAdapter, ResourceRequest, Adapter } from '@luvio/engine';
5
6
  import type { UiApiDraftRecordService } from '../UiApiDraftRecordService';
6
7
  import type { RecordEffectingHandler } from '../records/actionHandlers/RecordEffectingHandler';
7
8
  import { type SideEffectService } from '../sideEffects/SideEffectService';
8
9
  import { type SideEffect } from '../sideEffects';
10
+ import { ObjectInfoService } from './../../utils/ObjectInfoService';
9
11
  export declare const QUICK_ACTION_HANDLER = "QUICK_ACTION_HANDLER";
10
12
  interface PerformQuickActionResourceRequest extends Omit<ResourceRequest, 'body' | 'method'> {
11
13
  body: PerformActionInputRepresentation;
@@ -15,14 +17,18 @@ export declare class QuickActionExecutionRepresentationHandler extends AbstractR
15
17
  private readonly draftRecordService;
16
18
  readonly isDraftId: (targetId: string) => boolean;
17
19
  private readonly sideEffectService;
20
+ private readonly objectInfoService;
21
+ private readonly getRecord;
18
22
  handlerId: string;
19
- constructor(getLuvio: () => Luvio, draftRecordService: UiApiDraftRecordService, draftQueue: DraftQueue, networkAdapter: NetworkAdapter, isDraftId: (targetId: string) => boolean, sideEffectService: SideEffectService);
23
+ constructor(getLuvio: () => Luvio, draftRecordService: UiApiDraftRecordService, draftQueue: DraftQueue, networkAdapter: NetworkAdapter, isDraftId: (targetId: string) => boolean, sideEffectService: SideEffectService, objectInfoService: ObjectInfoService, getRecord: Adapter<GetRecordConfig, RecordRepresentation>);
20
24
  draftActionToSideEffects(queueEntry: DraftAction<PerformQuickActionResourceRequest, QuickActionExecutionRepresentation>): Promise<SideEffect[]>;
21
25
  getIdFromRequest(request: ResourceRequest): Promise<string>;
22
26
  getIdFromResponseBody(responseBody: QuickActionExecutionRepresentation): string;
23
27
  buildTagForTargetId(id: string): string;
24
28
  buildCacheKeysFromResponse(_response: QuickActionExecutionRepresentation): DurableStoreKeyMetadataMap;
25
29
  synchronousIngest(response: QuickActionExecutionRepresentation): void;
30
+ handleActionCompleted(action: CompletedDraftAction<ResourceRequest, QuickActionExecutionRepresentation>, queueOperations: QueueOperation[]): Promise<void>;
31
+ private allFields;
26
32
  mergeRequestBody<T>(): T;
27
33
  }
28
34
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salesforce/lds-runtime-mobile",
3
- "version": "1.332.0-dev1",
3
+ "version": "1.332.0-dev10",
4
4
  "license": "SEE LICENSE IN LICENSE.txt",
5
5
  "description": "LDS runtime for mobile/hybrid environments.",
6
6
  "main": "dist/main.js",
@@ -32,23 +32,23 @@
32
32
  "release:corejar": "yarn build && ../core-build/scripts/core.js --name=lds-runtime-mobile"
33
33
  },
34
34
  "dependencies": {
35
- "@salesforce/lds-adapters-uiapi": "^1.332.0-dev1",
36
- "@salesforce/lds-bindings": "^1.332.0-dev1",
37
- "@salesforce/lds-instrumentation": "^1.332.0-dev1",
35
+ "@salesforce/lds-adapters-uiapi": "^1.332.0-dev10",
36
+ "@salesforce/lds-bindings": "^1.332.0-dev10",
37
+ "@salesforce/lds-instrumentation": "^1.332.0-dev10",
38
38
  "@salesforce/user": "0.0.21",
39
39
  "o11y": "250.7.0"
40
40
  },
41
41
  "devDependencies": {
42
- "@salesforce/lds-adapters-graphql": "^1.332.0-dev1",
43
- "@salesforce/lds-drafts": "^1.332.0-dev1",
44
- "@salesforce/lds-durable-records": "^1.332.0-dev1",
45
- "@salesforce/lds-network-adapter": "^1.332.0-dev1",
46
- "@salesforce/lds-network-nimbus": "^1.332.0-dev1",
47
- "@salesforce/lds-store-binary": "^1.332.0-dev1",
48
- "@salesforce/lds-store-nimbus": "^1.332.0-dev1",
49
- "@salesforce/lds-store-sql": "^1.332.0-dev1",
50
- "@salesforce/lds-utils-adapters": "^1.332.0-dev1",
51
- "@salesforce/nimbus-plugin-lds": "^1.332.0-dev1",
42
+ "@salesforce/lds-adapters-graphql": "^1.332.0-dev10",
43
+ "@salesforce/lds-drafts": "^1.332.0-dev10",
44
+ "@salesforce/lds-durable-records": "^1.332.0-dev10",
45
+ "@salesforce/lds-network-adapter": "^1.332.0-dev10",
46
+ "@salesforce/lds-network-nimbus": "^1.332.0-dev10",
47
+ "@salesforce/lds-store-binary": "^1.332.0-dev10",
48
+ "@salesforce/lds-store-nimbus": "^1.332.0-dev10",
49
+ "@salesforce/lds-store-sql": "^1.332.0-dev10",
50
+ "@salesforce/lds-utils-adapters": "^1.332.0-dev10",
51
+ "@salesforce/nimbus-plugin-lds": "^1.332.0-dev10",
52
52
  "babel-plugin-dynamic-import-node": "^2.3.3",
53
53
  "wait-for-expect": "^3.0.2"
54
54
  },
package/sfdc/main.js CHANGED
@@ -28433,13 +28433,25 @@ function convertGraphQLToRaml(astNode, state) {
28433
28433
  ? getRequestedFieldsForType(data.__typename, astNode.selectionSet, state.fragments, isFragmentApplicable$H)
28434
28434
  : new Map();
28435
28435
  const { fieldsBag, trie } = createFieldsBagAndTrie(data, requestedFields, state);
28436
+ const recordTypeId = data.ldsRecordTypeId === null ? null : data.ldsRecordTypeId.value;
28437
+ if (recordTypeId && recordTypeId !== MAIN_RECORD_TYPE_ID) {
28438
+ const fieldName = 'RecordTypeId';
28439
+ fieldsBag[fieldName] = {
28440
+ value: recordTypeId,
28441
+ displayValue: null,
28442
+ };
28443
+ trie.children[fieldName] = {
28444
+ name: fieldName,
28445
+ children: {},
28446
+ };
28447
+ }
28436
28448
  const recordRepresentation = {
28437
28449
  apiName: data.ApiName,
28438
28450
  eTag: '',
28439
28451
  lastModifiedById: data.LastModifiedById.value,
28440
28452
  lastModifiedDate: data.LastModifiedDate.value,
28441
28453
  systemModstamp: data.SystemModstamp.value,
28442
- recordTypeId: data.ldsRecordTypeId === null ? null : data.ldsRecordTypeId.value,
28454
+ recordTypeId: recordTypeId,
28443
28455
  recordTypeInfo: null,
28444
28456
  childRelationships: {},
28445
28457
  id: data.Id,
@@ -42729,11 +42741,13 @@ class UiApiDraftRecordService {
42729
42741
 
42730
42742
  const QUICK_ACTION_HANDLER = 'QUICK_ACTION_HANDLER';
42731
42743
  class QuickActionExecutionRepresentationHandler extends AbstractResourceRequestActionHandler {
42732
- constructor(getLuvio, draftRecordService, draftQueue, networkAdapter, isDraftId, sideEffectService) {
42744
+ constructor(getLuvio, draftRecordService, draftQueue, networkAdapter, isDraftId, sideEffectService, objectInfoService, getRecord) {
42733
42745
  super(draftQueue, networkAdapter, getLuvio, draftRecordService);
42734
42746
  this.draftRecordService = draftRecordService;
42735
42747
  this.isDraftId = isDraftId;
42736
42748
  this.sideEffectService = sideEffectService;
42749
+ this.objectInfoService = objectInfoService;
42750
+ this.getRecord = getRecord;
42737
42751
  this.handlerId = QUICK_ACTION_HANDLER;
42738
42752
  draftRecordService.registerRecordHandler(this);
42739
42753
  }
@@ -42765,6 +42779,30 @@ class QuickActionExecutionRepresentationHandler extends AbstractResourceRequestA
42765
42779
  });
42766
42780
  luvio.storeIngest(key, ingestQuickActionExecutionRepresentation, response);
42767
42781
  }
42782
+ async handleActionCompleted(action, queueOperations) {
42783
+ await super.handleActionCompleted(action, queueOperations);
42784
+ this.getLuvio();
42785
+ const canonicalId = action.response.body.id;
42786
+ this.buildTagForTargetId(canonicalId);
42787
+ const prefix = canonicalId.substring(0, 3);
42788
+ if (prefix.length !== 3) {
42789
+ // if we can't get a prefix, don't do the rest
42790
+ return;
42791
+ }
42792
+ const apiName = await this.objectInfoService.apiNameForPrefix(prefix);
42793
+ const objectInfo = await this.objectInfoService.getObjectInfo(apiName);
42794
+ if (!objectInfo) {
42795
+ return;
42796
+ }
42797
+ await this.getRecord({ recordId: canonicalId, fields: this.allFields(objectInfo) });
42798
+ }
42799
+ allFields(objectInfo) {
42800
+ let fields = [];
42801
+ Object.keys(objectInfo.fields).forEach((fieldName) => {
42802
+ fields.push(objectInfo.apiName + '.' + fieldName);
42803
+ });
42804
+ return fields;
42805
+ }
42768
42806
  mergeRequestBody() {
42769
42807
  throw Error('mergeActions not supported for QuickActionExecutionRepresentationHandler');
42770
42808
  }
@@ -54816,7 +54854,7 @@ class SideEffectService {
54816
54854
  const objectInfo = await this.ensureObjectInfo(apiName);
54817
54855
  const recordFields = {};
54818
54856
  for (const fieldName of keys$3(fields)) {
54819
- const draftField = fields[fieldName];
54857
+ const draftField = fields[fieldName] ?? null;
54820
54858
  recordFields[fieldName] = { value: draftField, displayValue: null };
54821
54859
  const fieldInfo = objectInfo.fields[fieldName];
54822
54860
  if (fieldInfo) {
@@ -55373,7 +55411,7 @@ function getRuntime() {
55373
55411
  const draftService = new UiApiDraftRecordService(() => lazyLuvio, lazyDurableStore, lazyObjectInfoService, newRecordId, lazySideEffectStore, lazyDurableRecordStore);
55374
55412
  const uiApiRecordHandler = new UiApiActionHandler(() => lazyLuvio, lazyNetworkAdapter, lazyDraftQueue, getRecord, lazyObjectInfoService, isGenerated, draftService, lazySideEffectService, lazyDurableRecordStore);
55375
55413
  uiApiRecordHandler.setSideEffectHooks(sfsSideEffectHooks);
55376
- const quickActionHandler = new QuickActionExecutionRepresentationHandler(() => lazyLuvio, draftService, lazyDraftQueue, lazyNetworkAdapter, isGenerated, lazySideEffectService);
55414
+ const quickActionHandler = new QuickActionExecutionRepresentationHandler(() => lazyLuvio, draftService, lazyDraftQueue, lazyNetworkAdapter, isGenerated, lazySideEffectService, lazyObjectInfoService, getRecord);
55377
55415
  const updateRecordQuickActionHandler = new UpdateRecordQuickActionExecutionRepresentationHandler(() => lazyLuvio, draftService, lazyDraftQueue, lazyNetworkAdapter, isGenerated, lazySideEffectService);
55378
55416
  const contentDocumentCompositeActionHandler = new ContentDocumentCompositeRepresentationActionHandler(() => lazyLuvio, userId, draftService, lazyObjectInfoService, lazyDraftQueue, lazyNetworkAdapter, isGenerated, NimbusBinaryStore, lazySideEffectService);
55379
55417
  lazyDraftQueue.addHandler(uiApiRecordHandler);
@@ -55482,4 +55520,4 @@ register({
55482
55520
  });
55483
55521
 
55484
55522
  export { O11Y_NAMESPACE_LDS_MOBILE, getRuntime, registerReportObserver, reportGraphqlQueryParseError };
55485
- // version: 1.332.0-dev1-5d903f6f8e
55523
+ // version: 1.332.0-dev10-0d26f7dda1
@@ -1,11 +1,13 @@
1
- import type { DraftAction, DraftQueue } from '@salesforce/lds-drafts';
1
+ import type { CompletedDraftAction, QueueOperation, DraftAction, DraftQueue } from '@salesforce/lds-drafts';
2
2
  import { AbstractResourceRequestActionHandler } from '../AbstractResourceRequestActionHandler';
3
- import type { PerformActionInputRepresentation, QuickActionExecutionRepresentation } from '@salesforce/lds-adapters-uiapi';
4
- import type { DurableStoreKeyMetadataMap, Luvio, NetworkAdapter, ResourceRequest } from '@luvio/engine';
3
+ import type { PerformActionInputRepresentation, QuickActionExecutionRepresentation, RecordRepresentation } from '@salesforce/lds-adapters-uiapi';
4
+ import { GetRecordConfig } from '@salesforce/lds-adapters-uiapi';
5
+ import type { DurableStoreKeyMetadataMap, Luvio, NetworkAdapter, ResourceRequest, Adapter } from '@luvio/engine';
5
6
  import type { UiApiDraftRecordService } from '../UiApiDraftRecordService';
6
7
  import type { RecordEffectingHandler } from '../records/actionHandlers/RecordEffectingHandler';
7
8
  import { type SideEffectService } from '../sideEffects/SideEffectService';
8
9
  import { type SideEffect } from '../sideEffects';
10
+ import { ObjectInfoService } from './../../utils/ObjectInfoService';
9
11
  export declare const QUICK_ACTION_HANDLER = "QUICK_ACTION_HANDLER";
10
12
  interface PerformQuickActionResourceRequest extends Omit<ResourceRequest, 'body' | 'method'> {
11
13
  body: PerformActionInputRepresentation;
@@ -15,14 +17,18 @@ export declare class QuickActionExecutionRepresentationHandler extends AbstractR
15
17
  private readonly draftRecordService;
16
18
  readonly isDraftId: (targetId: string) => boolean;
17
19
  private readonly sideEffectService;
20
+ private readonly objectInfoService;
21
+ private readonly getRecord;
18
22
  handlerId: string;
19
- constructor(getLuvio: () => Luvio, draftRecordService: UiApiDraftRecordService, draftQueue: DraftQueue, networkAdapter: NetworkAdapter, isDraftId: (targetId: string) => boolean, sideEffectService: SideEffectService);
23
+ constructor(getLuvio: () => Luvio, draftRecordService: UiApiDraftRecordService, draftQueue: DraftQueue, networkAdapter: NetworkAdapter, isDraftId: (targetId: string) => boolean, sideEffectService: SideEffectService, objectInfoService: ObjectInfoService, getRecord: Adapter<GetRecordConfig, RecordRepresentation>);
20
24
  draftActionToSideEffects(queueEntry: DraftAction<PerformQuickActionResourceRequest, QuickActionExecutionRepresentation>): Promise<SideEffect[]>;
21
25
  getIdFromRequest(request: ResourceRequest): Promise<string>;
22
26
  getIdFromResponseBody(responseBody: QuickActionExecutionRepresentation): string;
23
27
  buildTagForTargetId(id: string): string;
24
28
  buildCacheKeysFromResponse(_response: QuickActionExecutionRepresentation): DurableStoreKeyMetadataMap;
25
29
  synchronousIngest(response: QuickActionExecutionRepresentation): void;
30
+ handleActionCompleted(action: CompletedDraftAction<ResourceRequest, QuickActionExecutionRepresentation>, queueOperations: QueueOperation[]): Promise<void>;
31
+ private allFields;
26
32
  mergeRequestBody<T>(): T;
27
33
  }
28
34
  export {};