@salesforce/lds-runtime-mobile 1.277.0 → 1.278.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 (3) hide show
  1. package/dist/main.js +38 -1
  2. package/package.json +16 -16
  3. package/sfdc/main.js +38 -1
package/dist/main.js CHANGED
@@ -9402,6 +9402,9 @@ function addResolversToSchema(schema, polyFields) {
9402
9402
  return record.recordTypeId ? { value: record.recordTypeId } : null;
9403
9403
  };
9404
9404
  break;
9405
+ case 'DisplayValue':
9406
+ field.resolve = recordDisplayValueResolver;
9407
+ break;
9405
9408
  default: {
9406
9409
  const recordFieldType = schema.getType(field.type.name);
9407
9410
  // Both concrete record type and 'record' interface type(polymorphic field) uses 'RecordLoader' to resolve.
@@ -9470,6 +9473,40 @@ function addResolversToSchema(schema, polyFields) {
9470
9473
  }
9471
9474
  return schema;
9472
9475
  }
9476
+ /**
9477
+ * Resolver to fetch the DisplayValue of a graphql record.
9478
+ * This is taking the main Name field for the record
9479
+ * type and using it for the DisplayValue.
9480
+ *
9481
+ * This allows us to be more performant without needing to call
9482
+ * another SQL lookup for the cached graphql object of the RAML record.
9483
+ */
9484
+ function recordDisplayValueResolver({ recordRepresentation },
9485
+ // not used, but gets sent in the resolver
9486
+ _, { objectInfos }) {
9487
+ const { apiName } = recordRepresentation;
9488
+ const objectInfo = objectInfos[apiName];
9489
+ if (objectInfo !== undefined) {
9490
+ const { nameFields, fields } = objectInfo;
9491
+ let nameField;
9492
+ // use the field Name if it exists or the first field name
9493
+ if (nameFields.length !== 0) {
9494
+ nameField = nameFields.find((x) => x === 'Name');
9495
+ if (nameField === undefined) {
9496
+ nameField = nameFields[0];
9497
+ }
9498
+ }
9499
+ if (nameField !== undefined) {
9500
+ nameField = fields[nameField].apiName;
9501
+ const nameFieldRep = recordRepresentation.fields[nameField];
9502
+ if (nameFieldRep !== undefined) {
9503
+ return nameFieldRep.value;
9504
+ }
9505
+ }
9506
+ }
9507
+ // TODO [W-14660068]: composite name fields
9508
+ return null;
9509
+ }
9473
9510
  async function connectionEdgeResolver(obj, _args, context) {
9474
9511
  const { parentArgs = {}, parentRecord, currentFieldName, ingestionTimestamp } = obj;
9475
9512
  const { query, objectInfos, draftFunctions } = context;
@@ -17964,4 +18001,4 @@ register({
17964
18001
  });
17965
18002
 
17966
18003
  export { O11Y_NAMESPACE_LDS_MOBILE, getRuntime, registerReportObserver, reportGraphqlQueryParseError };
17967
- // version: 1.277.0-8575d97fd
18004
+ // version: 1.278.0-f0e8ebcd6
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salesforce/lds-runtime-mobile",
3
- "version": "1.277.0",
3
+ "version": "1.278.0",
4
4
  "license": "SEE LICENSE IN LICENSE.txt",
5
5
  "description": "LDS runtime for mobile/hybrid environments.",
6
6
  "main": "dist/main.js",
@@ -32,25 +32,25 @@
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.277.0",
36
- "@salesforce/lds-bindings": "^1.277.0",
37
- "@salesforce/lds-instrumentation": "^1.277.0",
38
- "@salesforce/lds-priming": "^1.277.0",
35
+ "@salesforce/lds-adapters-uiapi": "^1.278.0",
36
+ "@salesforce/lds-bindings": "^1.278.0",
37
+ "@salesforce/lds-instrumentation": "^1.278.0",
38
+ "@salesforce/lds-priming": "^1.278.0",
39
39
  "@salesforce/user": "0.0.21",
40
40
  "o11y": "244.0.0"
41
41
  },
42
42
  "devDependencies": {
43
- "@salesforce/lds-adapters-graphql": "^1.277.0",
44
- "@salesforce/lds-drafts": "^1.277.0",
45
- "@salesforce/lds-drafts-adapters-uiapi": "^1.277.0",
46
- "@salesforce/lds-graphql-eval": "^1.277.0",
47
- "@salesforce/lds-network-adapter": "^1.277.0",
48
- "@salesforce/lds-network-nimbus": "^1.277.0",
49
- "@salesforce/lds-store-binary": "^1.277.0",
50
- "@salesforce/lds-store-nimbus": "^1.277.0",
51
- "@salesforce/lds-store-sql": "^1.277.0",
52
- "@salesforce/lds-utils-adapters": "^1.277.0",
53
- "@salesforce/nimbus-plugin-lds": "^1.277.0",
43
+ "@salesforce/lds-adapters-graphql": "^1.278.0",
44
+ "@salesforce/lds-drafts": "^1.278.0",
45
+ "@salesforce/lds-drafts-adapters-uiapi": "^1.278.0",
46
+ "@salesforce/lds-graphql-eval": "^1.278.0",
47
+ "@salesforce/lds-network-adapter": "^1.278.0",
48
+ "@salesforce/lds-network-nimbus": "^1.278.0",
49
+ "@salesforce/lds-store-binary": "^1.278.0",
50
+ "@salesforce/lds-store-nimbus": "^1.278.0",
51
+ "@salesforce/lds-store-sql": "^1.278.0",
52
+ "@salesforce/lds-utils-adapters": "^1.278.0",
53
+ "@salesforce/nimbus-plugin-lds": "^1.278.0",
54
54
  "babel-plugin-dynamic-import-node": "^2.3.3",
55
55
  "wait-for-expect": "^3.0.2"
56
56
  },
package/sfdc/main.js CHANGED
@@ -9402,6 +9402,9 @@ function addResolversToSchema(schema, polyFields) {
9402
9402
  return record.recordTypeId ? { value: record.recordTypeId } : null;
9403
9403
  };
9404
9404
  break;
9405
+ case 'DisplayValue':
9406
+ field.resolve = recordDisplayValueResolver;
9407
+ break;
9405
9408
  default: {
9406
9409
  const recordFieldType = schema.getType(field.type.name);
9407
9410
  // Both concrete record type and 'record' interface type(polymorphic field) uses 'RecordLoader' to resolve.
@@ -9470,6 +9473,40 @@ function addResolversToSchema(schema, polyFields) {
9470
9473
  }
9471
9474
  return schema;
9472
9475
  }
9476
+ /**
9477
+ * Resolver to fetch the DisplayValue of a graphql record.
9478
+ * This is taking the main Name field for the record
9479
+ * type and using it for the DisplayValue.
9480
+ *
9481
+ * This allows us to be more performant without needing to call
9482
+ * another SQL lookup for the cached graphql object of the RAML record.
9483
+ */
9484
+ function recordDisplayValueResolver({ recordRepresentation },
9485
+ // not used, but gets sent in the resolver
9486
+ _, { objectInfos }) {
9487
+ const { apiName } = recordRepresentation;
9488
+ const objectInfo = objectInfos[apiName];
9489
+ if (objectInfo !== undefined) {
9490
+ const { nameFields, fields } = objectInfo;
9491
+ let nameField;
9492
+ // use the field Name if it exists or the first field name
9493
+ if (nameFields.length !== 0) {
9494
+ nameField = nameFields.find((x) => x === 'Name');
9495
+ if (nameField === undefined) {
9496
+ nameField = nameFields[0];
9497
+ }
9498
+ }
9499
+ if (nameField !== undefined) {
9500
+ nameField = fields[nameField].apiName;
9501
+ const nameFieldRep = recordRepresentation.fields[nameField];
9502
+ if (nameFieldRep !== undefined) {
9503
+ return nameFieldRep.value;
9504
+ }
9505
+ }
9506
+ }
9507
+ // TODO [W-14660068]: composite name fields
9508
+ return null;
9509
+ }
9473
9510
  async function connectionEdgeResolver(obj, _args, context) {
9474
9511
  const { parentArgs = {}, parentRecord, currentFieldName, ingestionTimestamp } = obj;
9475
9512
  const { query, objectInfos, draftFunctions } = context;
@@ -17964,4 +18001,4 @@ register({
17964
18001
  });
17965
18002
 
17966
18003
  export { O11Y_NAMESPACE_LDS_MOBILE, getRuntime, registerReportObserver, reportGraphqlQueryParseError };
17967
- // version: 1.277.0-8575d97fd
18004
+ // version: 1.278.0-f0e8ebcd6