@salesforce/lds-adapters-uiapi 1.433.0 → 1.435.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.
- package/dist/es/es2018/types/src/__performance__/utils/sqliteDurableStore.d.ts +2 -2
- package/dist/es/es2018/types/src/configuration.d.ts +0 -2
- package/dist/es/es2018/types/src/graphql-artifacts/types/AnyType/getMinimumSelections.d.ts +1 -1
- package/dist/es/es2018/types/src/main.d.ts +1 -3
- package/dist/es/es2018/types/src/util/layouts.d.ts +1 -1
- package/dist/es/es2018/types/src/util/records.d.ts +0 -1
- package/dist/es/es2018/uiapi-records-service.js +33 -56
- package/package.json +7 -7
- package/sfdc/graphqlAdapters.js +8 -18
- package/sfdc/index.js +33 -56
- package/sfdc/uiapi-static-functions.js +6 -17
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { DurableStore, DurableStoreEntries, OnDurableStoreChangedListener, DurableStoreOperation, DurableStoreChange, DurableStoreMetadataEntries } from '@luvio/environments';
|
|
2
|
-
import { DurableStorePersistence } from './runMeasurement';
|
|
2
|
+
import type { DurableStorePersistence } from './runMeasurement';
|
|
3
3
|
export declare class MockDurableStore implements DurableStore {
|
|
4
4
|
private durablePersistance;
|
|
5
5
|
listeners: Set<OnDurableStoreChangedListener>;
|
|
@@ -8,7 +8,7 @@ export declare class MockDurableStore implements DurableStore {
|
|
|
8
8
|
setMetadata(_entries: DurableStoreMetadataEntries, _segment: string): Promise<void>;
|
|
9
9
|
getEntries<T>(entryIds: string[], _segment: string): Promise<DurableStoreEntries<T> | undefined>;
|
|
10
10
|
getEntriesWithSpecificFields<T>(entryIds: string[], fields: Set<string>, _segment: string): Promise<DurableStoreEntries<T> | undefined>;
|
|
11
|
-
getAllEntries<T>(
|
|
11
|
+
getAllEntries<T>(_segment: string): Promise<DurableStoreEntries<T>>;
|
|
12
12
|
setEntries<T>(entries: DurableStoreEntries<T>, segment: string): Promise<void>;
|
|
13
13
|
evictEntries(ids: string[], segment: string): Promise<void>;
|
|
14
14
|
registerOnChangedListener(listener: OnDurableStoreChangedListener): () => Promise<void>;
|
|
@@ -101,8 +101,6 @@ export declare const configurationForRestAdapters: {
|
|
|
101
101
|
getTrackedFieldDepthOnCacheMergeConflict: () => number;
|
|
102
102
|
setTrackedFieldDepthOnNotifyChange: (trackedFieldDepthOnNotifyChangeParam: number) => void;
|
|
103
103
|
getTrackedFieldDepthOnNotifyChange: () => number;
|
|
104
|
-
setTrackedFieldLeafNodeIdAndNameOnly: (trackedFieldLeafNodeIdAndNameOnlyParam: boolean) => void;
|
|
105
|
-
getTrackedFieldLeafNodeIdAndNameOnly: () => boolean;
|
|
106
104
|
setRecordRepresentationIngestionOverride: (ingest: ResourceIngest) => void;
|
|
107
105
|
getRecordRepresentationIngestionOverride: () => ResourceIngest | undefined;
|
|
108
106
|
getDraftAwareCreateRecordAdapter: () => DraftAwareCreateRecordAdapter | undefined;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FragmentDefinitionNode, SelectionNode } from 'graphql';
|
|
1
|
+
import type { FragmentDefinitionNode, SelectionNode } from 'graphql';
|
|
2
2
|
export declare function getMinimumSelections(): {
|
|
3
3
|
selections: SelectionNode[];
|
|
4
4
|
fragmentDefinitions?: Record<string, FragmentDefinitionNode>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ResourceIngest } from '@luvio/engine';
|
|
1
|
+
import type { ResourceIngest } from '@luvio/engine';
|
|
2
2
|
import type { ConfigurationForGraphQLAdapters, ConfigurationForOneStoreEnabledAdapters, ConfigurationForRestAdapters } from './configuration';
|
|
3
3
|
import type { Instrument } from './instrumentation';
|
|
4
4
|
export * from './predictive-loading';
|
|
@@ -135,8 +135,6 @@ export declare const configuration: {
|
|
|
135
135
|
getTrackedFieldDepthOnCacheMergeConflict: () => number;
|
|
136
136
|
setTrackedFieldDepthOnNotifyChange: (trackedFieldDepthOnNotifyChangeParam: number) => void;
|
|
137
137
|
getTrackedFieldDepthOnNotifyChange: () => number;
|
|
138
|
-
setTrackedFieldLeafNodeIdAndNameOnly: (trackedFieldLeafNodeIdAndNameOnlyParam: boolean) => void;
|
|
139
|
-
getTrackedFieldLeafNodeIdAndNameOnly: () => boolean;
|
|
140
138
|
setRecordRepresentationIngestionOverride: (ingest: ResourceIngest) => void;
|
|
141
139
|
getRecordRepresentationIngestionOverride: () => ResourceIngest | undefined;
|
|
142
140
|
getDraftAwareCreateRecordAdapter: () => import("./wire/createRecord/configurationTypes").DraftAwareCreateRecordAdapter | undefined;
|
|
@@ -4,5 +4,5 @@ export interface FieldsAndOptionalFields {
|
|
|
4
4
|
fields: string[];
|
|
5
5
|
optionalFields: string[];
|
|
6
6
|
}
|
|
7
|
-
export declare function getNameField(objectInfo: ObjectInfoRepresentation, fieldApiName: string): string;
|
|
7
|
+
export declare function getNameField(objectInfo: ObjectInfoRepresentation, fieldApiName: string): string | undefined;
|
|
8
8
|
export declare function getQualifiedFieldApiNamesFromLayout(layout: RecordLayoutRepresentation, objectInfo: ObjectInfoRepresentation): FieldsAndOptionalFields;
|
|
@@ -36,7 +36,6 @@ export interface RecordFieldTrie {
|
|
|
36
36
|
}
|
|
37
37
|
export interface TrackedFieldsConfig {
|
|
38
38
|
maxDepth: number;
|
|
39
|
-
onlyFetchLeafNodeIdAndName: boolean;
|
|
40
39
|
}
|
|
41
40
|
export declare function isGraphNode(node: ProxyGraphNode<unknown> | undefined | null): node is GraphNode<unknown>;
|
|
42
41
|
export declare function extractTrackedFields(node: ProxyGraphNode<RecordRepresentationNormalized, RecordRepresentation>, parentFieldName: string, fieldsList?: string[], visitedRecordIds?: Record<string, boolean>, depth?: number): string[];
|
|
@@ -38,28 +38,23 @@ let configurableCreateContentVersion = new Configurable();
|
|
|
38
38
|
* Depth to which tracked fields will be added to a request that results from a cache miss.
|
|
39
39
|
* A value of 0 inhibits the addition of tracked fields, 1 will add tracked fields that can
|
|
40
40
|
* be reached by following 1 relationship from the root record, etc.
|
|
41
|
-
* @defaultValue '
|
|
41
|
+
* @defaultValue '1'
|
|
42
42
|
*/
|
|
43
|
-
let trackedFieldDepthOnCacheMiss =
|
|
43
|
+
let trackedFieldDepthOnCacheMiss = 1;
|
|
44
44
|
/**
|
|
45
45
|
* Depth to which tracked fields will be added to a request that results from a merge conflict
|
|
46
46
|
* A value of 0 inhibits the addition of tracked fields, 1 will add tracked fields that can
|
|
47
47
|
* be reached by following 1 relationship from the root record, etc.
|
|
48
|
-
* @defaultValue '
|
|
48
|
+
* @defaultValue '1'
|
|
49
49
|
*/
|
|
50
|
-
let trackedFieldDepthOnCacheMergeConflict =
|
|
50
|
+
let trackedFieldDepthOnCacheMergeConflict = 1;
|
|
51
51
|
/**
|
|
52
52
|
* Depth to which tracked fields will be added to a request that results from a notify change invocation by the consumer
|
|
53
53
|
* A value of 0 inhibits the addition of tracked fields, 1 will add tracked fields that can
|
|
54
54
|
* be reached by following 1 relationship from the root record, etc.
|
|
55
|
-
* @defaultValue '
|
|
55
|
+
* @defaultValue '1'
|
|
56
56
|
*/
|
|
57
|
-
let trackedFieldDepthOnNotifyChange =
|
|
58
|
-
/**
|
|
59
|
-
* Determines if we will only fetch the 'Id' field for the leaf relationship record
|
|
60
|
-
* @defaultValue 'false', replicates the current behavior and fetches all fields in the store for the leaf relationship record
|
|
61
|
-
*/
|
|
62
|
-
let trackedFieldLeafNodeIdAndNameOnly = false;
|
|
57
|
+
let trackedFieldDepthOnNotifyChange = 1;
|
|
63
58
|
/**
|
|
64
59
|
* One store enabled Get Object Info adapter
|
|
65
60
|
*/
|
|
@@ -156,12 +151,6 @@ const configurationForRestAdapters = {
|
|
|
156
151
|
getTrackedFieldDepthOnNotifyChange: function () {
|
|
157
152
|
return trackedFieldDepthOnNotifyChange;
|
|
158
153
|
},
|
|
159
|
-
setTrackedFieldLeafNodeIdAndNameOnly: function (trackedFieldLeafNodeIdAndNameOnlyParam) {
|
|
160
|
-
trackedFieldLeafNodeIdAndNameOnly = trackedFieldLeafNodeIdAndNameOnlyParam;
|
|
161
|
-
},
|
|
162
|
-
getTrackedFieldLeafNodeIdAndNameOnly: function () {
|
|
163
|
-
return trackedFieldLeafNodeIdAndNameOnly;
|
|
164
|
-
},
|
|
165
154
|
setRecordRepresentationIngestionOverride: function (ingest) {
|
|
166
155
|
recordRepresentationIngestionOverride = ingest;
|
|
167
156
|
},
|
|
@@ -3355,6 +3344,9 @@ function buildSelectionFromRecord(record) {
|
|
|
3355
3344
|
return [...sel.selections, DRAFTS_SELECTION];
|
|
3356
3345
|
}
|
|
3357
3346
|
|
|
3347
|
+
// Unused suffixes, but leaving in as comments to avoid eslint errors
|
|
3348
|
+
// const CUSTOM_API_NAME_SUFFIX = '__c';
|
|
3349
|
+
// const DMO_API_NAME_SUFFIX = '__dlm';
|
|
3358
3350
|
const CUSTOM_EXTERNAL_OBJECT_FIELD_SUFFIX = '__x';
|
|
3359
3351
|
const RECORD_REPRESENTATION_ERROR_VERSION = 'RECORD_REPRESENTATION_ERROR_VERSION_1';
|
|
3360
3352
|
const RECORD_REPRESENTATION_ERROR_STORE_METADATA_PARAMS = {
|
|
@@ -3381,7 +3373,7 @@ function addScalarField(current, leafNodeFieldKey) {
|
|
|
3381
3373
|
}
|
|
3382
3374
|
}
|
|
3383
3375
|
function extractTrackedFieldsToTrie(recordId, node, root, config, visitedRecordIds = {}, depth = 0) {
|
|
3384
|
-
var _a
|
|
3376
|
+
var _a;
|
|
3385
3377
|
// Filter Error and null nodes
|
|
3386
3378
|
if (!isGraphNode(node)) {
|
|
3387
3379
|
return;
|
|
@@ -3419,13 +3411,11 @@ function extractTrackedFieldsToTrie(recordId, node, root, config, visitedRecordI
|
|
|
3419
3411
|
if (!isGraphNode(field)) {
|
|
3420
3412
|
continue;
|
|
3421
3413
|
}
|
|
3422
|
-
const { maxDepth
|
|
3414
|
+
const { maxDepth } = config;
|
|
3423
3415
|
if (field.isScalar('value') === false && !Array.isArray((_a = field.data) === null || _a === void 0 ? void 0 : _a.value)) {
|
|
3424
3416
|
if (depth + 1 > maxDepth) {
|
|
3425
|
-
|
|
3426
|
-
|
|
3427
|
-
addScalarFieldName(current);
|
|
3428
|
-
}
|
|
3417
|
+
addScalarFieldId(current);
|
|
3418
|
+
addScalarFieldName(current);
|
|
3429
3419
|
continue;
|
|
3430
3420
|
}
|
|
3431
3421
|
const spanningLink = field.link('value');
|
|
@@ -3447,19 +3437,10 @@ function extractTrackedFieldsToTrie(recordId, node, root, config, visitedRecordI
|
|
|
3447
3437
|
current.children[key] = next;
|
|
3448
3438
|
}
|
|
3449
3439
|
else {
|
|
3450
|
-
// Skip the field, if its value is null at the max level depth.
|
|
3451
|
-
// Ideally, it should only skip relationship field. However,
|
|
3452
|
-
// on the client, there is not a reliable way to determine the
|
|
3453
|
-
// the field type.
|
|
3454
3440
|
if (depth === maxDepth) {
|
|
3455
|
-
|
|
3456
|
-
|
|
3457
|
-
|
|
3458
|
-
continue;
|
|
3459
|
-
}
|
|
3460
|
-
if (field.scalar('value') === null && !Array.isArray((_b = field.data) === null || _b === void 0 ? void 0 : _b.value)) {
|
|
3461
|
-
continue;
|
|
3462
|
-
}
|
|
3441
|
+
addScalarFieldId(current);
|
|
3442
|
+
addScalarFieldName(current);
|
|
3443
|
+
continue;
|
|
3463
3444
|
}
|
|
3464
3445
|
const state = fieldValueRep.linkData();
|
|
3465
3446
|
if (state !== undefined) {
|
|
@@ -4037,7 +4018,6 @@ function mergeRecordConflict(luvio, incoming, existing, recordConflictMap) {
|
|
|
4037
4018
|
};
|
|
4038
4019
|
const trackedFieldsConfig = {
|
|
4039
4020
|
maxDepth: configurationForRestAdapters.getTrackedFieldDepthOnCacheMergeConflict(),
|
|
4040
|
-
onlyFetchLeafNodeIdAndName: configurationForRestAdapters.getTrackedFieldLeafNodeIdAndNameOnly(),
|
|
4041
4021
|
};
|
|
4042
4022
|
extractTrackedFieldsToTrie(recordKey, incomingNode, incomingTrackedFieldsTrieRoot, trackedFieldsConfig);
|
|
4043
4023
|
extractTrackedFieldsToTrie(recordKey, existingNode, existingTrackedFieldsTrieRoot, trackedFieldsConfig);
|
|
@@ -4506,7 +4486,6 @@ function prepareRequest$7(luvio, config) {
|
|
|
4506
4486
|
const key = keyBuilder$3T(luvio, createResourceParams$15(config));
|
|
4507
4487
|
const allTrackedFields = getTrackedFields(key, luvio.getNode(key), {
|
|
4508
4488
|
maxDepth: configurationForRestAdapters.getTrackedFieldDepthOnCacheMiss(),
|
|
4509
|
-
onlyFetchLeafNodeIdAndName: configurationForRestAdapters.getTrackedFieldLeafNodeIdAndNameOnly(),
|
|
4510
4489
|
}, config.optionalFields);
|
|
4511
4490
|
const optionalFields = fields === undefined ? allTrackedFields : difference(allTrackedFields, fields);
|
|
4512
4491
|
const resourceParams = createResourceParams$15({
|
|
@@ -4633,7 +4612,6 @@ function ingestSuccessChildResourceParams$9(luvio, childResourceParamsArray, chi
|
|
|
4633
4612
|
};
|
|
4634
4613
|
const childTrackedFields = getTrackedFields(childKey, luvio.getNode(childKey), {
|
|
4635
4614
|
maxDepth: configurationForRestAdapters.getTrackedFieldDepthOnCacheMiss(),
|
|
4636
|
-
onlyFetchLeafNodeIdAndName: configurationForRestAdapters.getTrackedFieldLeafNodeIdAndNameOnly(),
|
|
4637
4615
|
}, childResourceParams.queryParams.optionalFields);
|
|
4638
4616
|
const childSnapshot = ingestSuccess$X(luvio, {
|
|
4639
4617
|
recordId: childResourceParams.urlParams.recordId,
|
|
@@ -11428,17 +11406,15 @@ function getRelationshipName(objectInfo, fieldApiName) {
|
|
|
11428
11406
|
return objectInfo.fields[fieldApiName].relationshipName;
|
|
11429
11407
|
}
|
|
11430
11408
|
function getNameField(objectInfo, fieldApiName) {
|
|
11431
|
-
// eslint-disable-next-line @salesforce/lds/no-invalid-todo
|
|
11432
|
-
// TODO - this logic is adopted from lds222. It searches
|
|
11433
|
-
// ObjectInfoRep.ReferenceToInfoRep[].nameFields[]:
|
|
11434
|
-
// 1. If any of the arrays are empty returns `Name`
|
|
11435
|
-
// 2. If `Name` is found in any array position then returns it
|
|
11436
|
-
// 3. If the field has more than 1 references(polymorphic), return `Name`
|
|
11437
|
-
// 4. Else returns ObjectInfoRep.ReferenceToInfoRep[0].nameFields[0]
|
|
11438
|
-
// Rationale for this is unclear and needs clarification.
|
|
11439
11409
|
const referenceToInfos = objectInfo.fields[fieldApiName].referenceToInfos;
|
|
11440
11410
|
if (referenceToInfos.length !== 1) {
|
|
11441
|
-
return
|
|
11411
|
+
// For polymorphic fields, return "Name" only if at least one referenced entity has it.
|
|
11412
|
+
// If no entity in the domain set has a Name field (e.g. ContextTag uses "Title"),
|
|
11413
|
+
// sending "Name" to getRecordWithFields causes INVALID_FIELD at the DB layer (W-22253765).
|
|
11414
|
+
// We stay permissive for mixed cases (some have Name, some don't) — those are handled
|
|
11415
|
+
// server-side once W-22253765's companion fix lands in QueryValidatorImpl.
|
|
11416
|
+
const anyHaveName = referenceToInfos.some((ref) => ref.nameFields.includes(FIELD_NAME));
|
|
11417
|
+
return anyHaveName ? FIELD_NAME : undefined;
|
|
11442
11418
|
}
|
|
11443
11419
|
const firstReferenceNameFields = referenceToInfos[0].nameFields;
|
|
11444
11420
|
if (firstReferenceNameFields.length < 1) {
|
|
@@ -11473,8 +11449,11 @@ function getQualifiedFieldApiNamesFromLayout(layout, objectInfo) {
|
|
|
11473
11449
|
// By default, include the "Id" field on spanning records that are on the layout.
|
|
11474
11450
|
qualifiedFieldNames.push(`${objectInfo.apiName}.${relationshipFieldApiName}.${FIELD_ID}`);
|
|
11475
11451
|
const nameField = getNameField(objectInfo, apiName);
|
|
11476
|
-
// W-15692973: Name field of referenced
|
|
11477
|
-
|
|
11452
|
+
// W-15692973: Name field of referenced entities are moved to optionalFields since the Name field may not exist for few entities.
|
|
11453
|
+
// W-22253765: For polymorphic FKs where not all entities have "Name", nameField is undefined — skip the optional field entirely.
|
|
11454
|
+
if (nameField !== undefined) {
|
|
11455
|
+
qualifiedOptionalFieldNames.push(`${objectInfo.apiName}.${relationshipFieldApiName}.${nameField}`);
|
|
11456
|
+
}
|
|
11478
11457
|
}
|
|
11479
11458
|
qualifiedFieldNames.push(`${objectInfo.apiName}.${component.apiName}`);
|
|
11480
11459
|
}
|
|
@@ -11508,8 +11487,11 @@ function getMissingRecordLookupFields(record, objectInfo) {
|
|
|
11508
11487
|
// Include the Id field. Ex: Opportunity.Account.Id, Opportunity.relation1__r.Id
|
|
11509
11488
|
const idFieldName = `${apiName}.${relationshipName}.Id`;
|
|
11510
11489
|
lookupFields[idFieldName] = true;
|
|
11511
|
-
const
|
|
11512
|
-
|
|
11490
|
+
const resolvedNameField = getNameField(objectInfo, fieldName);
|
|
11491
|
+
// W-22253765: skip the name field for polymorphic FKs where not all entities have "Name"
|
|
11492
|
+
if (resolvedNameField !== undefined) {
|
|
11493
|
+
lookupFields[`${apiName}.${relationshipName}.${resolvedNameField}`] = true;
|
|
11494
|
+
}
|
|
11513
11495
|
}
|
|
11514
11496
|
return keys(lookupFields);
|
|
11515
11497
|
}
|
|
@@ -12377,7 +12359,6 @@ const notifyChangeFactory = (luvio) => {
|
|
|
12377
12359
|
const node = luvio.wrapNormalizedGraphNode(record, key);
|
|
12378
12360
|
const optionalFields = getTrackedFields(key, node, {
|
|
12379
12361
|
maxDepth: configurationForRestAdapters.getTrackedFieldDepthOnNotifyChange(),
|
|
12380
|
-
onlyFetchLeafNodeIdAndName: configurationForRestAdapters.getTrackedFieldLeafNodeIdAndNameOnly(),
|
|
12381
12362
|
});
|
|
12382
12363
|
const refreshRequest = createResourceRequestFromRepresentation(record, optionalFields);
|
|
12383
12364
|
const existingWeakEtag = record.weakEtag;
|
|
@@ -16411,7 +16392,6 @@ function buildNetworkSnapshot$Y(luvio, config, options) {
|
|
|
16411
16392
|
const key = keyBuilder$3b(luvio, config);
|
|
16412
16393
|
const trackedFieldsConfig = {
|
|
16413
16394
|
maxDepth: configurationForRestAdapters.getTrackedFieldDepthOnCacheMiss(),
|
|
16414
|
-
onlyFetchLeafNodeIdAndName: configurationForRestAdapters.getTrackedFieldLeafNodeIdAndNameOnly()
|
|
16415
16395
|
};
|
|
16416
16396
|
const optionalFieldsTrie = convertFieldsToTrie(getTrackedFields(key, luvio.getNode(key), trackedFieldsConfig, config.optionalFields));
|
|
16417
16397
|
const fieldsTrie = BLANK_RECORD_FIELDS_TRIE;
|
|
@@ -63289,7 +63269,6 @@ const buildNetworkSnapshot$6 = (luvio, context, config, options) => {
|
|
|
63289
63269
|
...resourceRequest.queryParams,
|
|
63290
63270
|
optionalFields: getTrackedFields(templateRecordKey, luvio.getNode(templateRecordKey), {
|
|
63291
63271
|
maxDepth: configurationForRestAdapters.getTrackedFieldDepthOnCacheMiss(),
|
|
63292
|
-
onlyFetchLeafNodeIdAndName: configurationForRestAdapters.getTrackedFieldLeafNodeIdAndNameOnly(),
|
|
63293
63272
|
}, config.optionalFields),
|
|
63294
63273
|
},
|
|
63295
63274
|
});
|
|
@@ -63924,7 +63903,6 @@ function prepareRequest(luvio, context, config) {
|
|
|
63924
63903
|
...resourceRequest.queryParams,
|
|
63925
63904
|
optionalFields: getTrackedFields(recordTemplateKey, luvio.getNode(recordTemplateKey), {
|
|
63926
63905
|
maxDepth: configurationForRestAdapters.getTrackedFieldDepthOnCacheMiss(),
|
|
63927
|
-
onlyFetchLeafNodeIdAndName: configurationForRestAdapters.getTrackedFieldLeafNodeIdAndNameOnly(),
|
|
63928
63906
|
}, config.optionalFields),
|
|
63929
63907
|
},
|
|
63930
63908
|
});
|
|
@@ -63944,7 +63922,6 @@ function onFetchResponseSuccess(luvio, context, config, request, response, resou
|
|
|
63944
63922
|
});
|
|
63945
63923
|
const allTrackedFields = getTrackedFields(templateRecordKey, luvio.getNode(templateRecordKey), {
|
|
63946
63924
|
maxDepth: configurationForRestAdapters.getTrackedFieldDepthOnCacheMiss(),
|
|
63947
|
-
onlyFetchLeafNodeIdAndName: configurationForRestAdapters.getTrackedFieldLeafNodeIdAndNameOnly(),
|
|
63948
63925
|
}, optionalFields);
|
|
63949
63926
|
const allTrackedFieldsTrie = convertFieldsToTrie(allTrackedFields, true);
|
|
63950
63927
|
const ingest = createFieldsIngestSuccess({
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salesforce/lds-adapters-uiapi",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.435.0",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
5
5
|
"description": "Wire adapters for record related UI API endpoints",
|
|
6
6
|
"type": "module",
|
|
@@ -68,14 +68,14 @@
|
|
|
68
68
|
},
|
|
69
69
|
"dependencies": {
|
|
70
70
|
"@luvio/graphql-parser": "0.160.4",
|
|
71
|
-
"@salesforce/lds-adapters-onestore-graphql": "^1.
|
|
72
|
-
"@salesforce/lds-bindings": "^1.
|
|
73
|
-
"@salesforce/lds-default-luvio": "^1.
|
|
71
|
+
"@salesforce/lds-adapters-onestore-graphql": "^1.435.0",
|
|
72
|
+
"@salesforce/lds-bindings": "^1.435.0",
|
|
73
|
+
"@salesforce/lds-default-luvio": "^1.435.0"
|
|
74
74
|
},
|
|
75
75
|
"devDependencies": {
|
|
76
|
-
"@salesforce/lds-compiler-plugins": "^1.
|
|
77
|
-
"@salesforce/lds-jest": "^1.
|
|
78
|
-
"@salesforce/lds-store-binary": "^1.
|
|
76
|
+
"@salesforce/lds-compiler-plugins": "^1.435.0",
|
|
77
|
+
"@salesforce/lds-jest": "^1.435.0",
|
|
78
|
+
"@salesforce/lds-store-binary": "^1.435.0"
|
|
79
79
|
},
|
|
80
80
|
"luvioBundlesize": [
|
|
81
81
|
{
|
package/sfdc/graphqlAdapters.js
CHANGED
|
@@ -27593,28 +27593,23 @@ let configurableCreateContentVersion = new Configurable();
|
|
|
27593
27593
|
* Depth to which tracked fields will be added to a request that results from a cache miss.
|
|
27594
27594
|
* A value of 0 inhibits the addition of tracked fields, 1 will add tracked fields that can
|
|
27595
27595
|
* be reached by following 1 relationship from the root record, etc.
|
|
27596
|
-
* @defaultValue '
|
|
27596
|
+
* @defaultValue '1'
|
|
27597
27597
|
*/
|
|
27598
|
-
let trackedFieldDepthOnCacheMiss =
|
|
27598
|
+
let trackedFieldDepthOnCacheMiss = 1;
|
|
27599
27599
|
/**
|
|
27600
27600
|
* Depth to which tracked fields will be added to a request that results from a merge conflict
|
|
27601
27601
|
* A value of 0 inhibits the addition of tracked fields, 1 will add tracked fields that can
|
|
27602
27602
|
* be reached by following 1 relationship from the root record, etc.
|
|
27603
|
-
* @defaultValue '
|
|
27603
|
+
* @defaultValue '1'
|
|
27604
27604
|
*/
|
|
27605
|
-
let trackedFieldDepthOnCacheMergeConflict =
|
|
27605
|
+
let trackedFieldDepthOnCacheMergeConflict = 1;
|
|
27606
27606
|
/**
|
|
27607
27607
|
* Depth to which tracked fields will be added to a request that results from a notify change invocation by the consumer
|
|
27608
27608
|
* A value of 0 inhibits the addition of tracked fields, 1 will add tracked fields that can
|
|
27609
27609
|
* be reached by following 1 relationship from the root record, etc.
|
|
27610
|
-
* @defaultValue '
|
|
27610
|
+
* @defaultValue '1'
|
|
27611
27611
|
*/
|
|
27612
|
-
let trackedFieldDepthOnNotifyChange =
|
|
27613
|
-
/**
|
|
27614
|
-
* Determines if we will only fetch the 'Id' field for the leaf relationship record
|
|
27615
|
-
* @defaultValue 'false', replicates the current behavior and fetches all fields in the store for the leaf relationship record
|
|
27616
|
-
*/
|
|
27617
|
-
let trackedFieldLeafNodeIdAndNameOnly = false;
|
|
27612
|
+
let trackedFieldDepthOnNotifyChange = 1;
|
|
27618
27613
|
/**
|
|
27619
27614
|
* One store enabled Get Object Info adapter
|
|
27620
27615
|
*/
|
|
@@ -27711,12 +27706,6 @@ const configurationForRestAdapters = {
|
|
|
27711
27706
|
getTrackedFieldDepthOnNotifyChange: function () {
|
|
27712
27707
|
return trackedFieldDepthOnNotifyChange;
|
|
27713
27708
|
},
|
|
27714
|
-
setTrackedFieldLeafNodeIdAndNameOnly: function (trackedFieldLeafNodeIdAndNameOnlyParam) {
|
|
27715
|
-
trackedFieldLeafNodeIdAndNameOnly = trackedFieldLeafNodeIdAndNameOnlyParam;
|
|
27716
|
-
},
|
|
27717
|
-
getTrackedFieldLeafNodeIdAndNameOnly: function () {
|
|
27718
|
-
return trackedFieldLeafNodeIdAndNameOnly;
|
|
27719
|
-
},
|
|
27720
27709
|
setRecordRepresentationIngestionOverride: function (ingest) {
|
|
27721
27710
|
recordRepresentationIngestionOverride = ingest;
|
|
27722
27711
|
},
|
|
@@ -28300,6 +28289,7 @@ withDefaultLuvio((luvio) => {
|
|
|
28300
28289
|
if (typeof data?.refresh === 'function') {
|
|
28301
28290
|
return data.refresh();
|
|
28302
28291
|
}
|
|
28292
|
+
// eslint-disable-next-line @salesforce/lds/no-error-in-production
|
|
28303
28293
|
throw new Error('Component attempted to refresh a GraphQL result that is not refreshable');
|
|
28304
28294
|
};
|
|
28305
28295
|
}
|
|
@@ -28819,4 +28809,4 @@ register({
|
|
|
28819
28809
|
});
|
|
28820
28810
|
|
|
28821
28811
|
export { configurationForGraphQLAdapters as configuration, graphql, factory$1 as graphqlAdapterFactory, graphqlBatch, graphqlBatch_imperative, graphql_deprecated, graphql_imperative, graphql_imperative_deprecated, graphql_imperative_onestore, graphql_onestore, graphql_state_manager, refreshGraphQL, refreshGraphQL_deprecated };
|
|
28822
|
-
// version: 1.
|
|
28812
|
+
// version: 1.435.0-615ebb9bbd
|
package/sfdc/index.js
CHANGED
|
@@ -86,28 +86,23 @@ let configurableCreateContentVersion = new Configurable();
|
|
|
86
86
|
* Depth to which tracked fields will be added to a request that results from a cache miss.
|
|
87
87
|
* A value of 0 inhibits the addition of tracked fields, 1 will add tracked fields that can
|
|
88
88
|
* be reached by following 1 relationship from the root record, etc.
|
|
89
|
-
* @defaultValue '
|
|
89
|
+
* @defaultValue '1'
|
|
90
90
|
*/
|
|
91
|
-
let trackedFieldDepthOnCacheMiss =
|
|
91
|
+
let trackedFieldDepthOnCacheMiss = 1;
|
|
92
92
|
/**
|
|
93
93
|
* Depth to which tracked fields will be added to a request that results from a merge conflict
|
|
94
94
|
* A value of 0 inhibits the addition of tracked fields, 1 will add tracked fields that can
|
|
95
95
|
* be reached by following 1 relationship from the root record, etc.
|
|
96
|
-
* @defaultValue '
|
|
96
|
+
* @defaultValue '1'
|
|
97
97
|
*/
|
|
98
|
-
let trackedFieldDepthOnCacheMergeConflict =
|
|
98
|
+
let trackedFieldDepthOnCacheMergeConflict = 1;
|
|
99
99
|
/**
|
|
100
100
|
* Depth to which tracked fields will be added to a request that results from a notify change invocation by the consumer
|
|
101
101
|
* A value of 0 inhibits the addition of tracked fields, 1 will add tracked fields that can
|
|
102
102
|
* be reached by following 1 relationship from the root record, etc.
|
|
103
|
-
* @defaultValue '
|
|
103
|
+
* @defaultValue '1'
|
|
104
104
|
*/
|
|
105
|
-
let trackedFieldDepthOnNotifyChange =
|
|
106
|
-
/**
|
|
107
|
-
* Determines if we will only fetch the 'Id' field for the leaf relationship record
|
|
108
|
-
* @defaultValue 'false', replicates the current behavior and fetches all fields in the store for the leaf relationship record
|
|
109
|
-
*/
|
|
110
|
-
let trackedFieldLeafNodeIdAndNameOnly = false;
|
|
105
|
+
let trackedFieldDepthOnNotifyChange = 1;
|
|
111
106
|
/**
|
|
112
107
|
* One store enabled Get Object Info adapter
|
|
113
108
|
*/
|
|
@@ -213,12 +208,6 @@ const configurationForRestAdapters = {
|
|
|
213
208
|
getTrackedFieldDepthOnNotifyChange: function () {
|
|
214
209
|
return trackedFieldDepthOnNotifyChange;
|
|
215
210
|
},
|
|
216
|
-
setTrackedFieldLeafNodeIdAndNameOnly: function (trackedFieldLeafNodeIdAndNameOnlyParam) {
|
|
217
|
-
trackedFieldLeafNodeIdAndNameOnly = trackedFieldLeafNodeIdAndNameOnlyParam;
|
|
218
|
-
},
|
|
219
|
-
getTrackedFieldLeafNodeIdAndNameOnly: function () {
|
|
220
|
-
return trackedFieldLeafNodeIdAndNameOnly;
|
|
221
|
-
},
|
|
222
211
|
setRecordRepresentationIngestionOverride: function (ingest) {
|
|
223
212
|
recordRepresentationIngestionOverride = ingest;
|
|
224
213
|
},
|
|
@@ -3412,6 +3401,9 @@ function buildSelectionFromRecord(record) {
|
|
|
3412
3401
|
return [...sel.selections, DRAFTS_SELECTION];
|
|
3413
3402
|
}
|
|
3414
3403
|
|
|
3404
|
+
// Unused suffixes, but leaving in as comments to avoid eslint errors
|
|
3405
|
+
// const CUSTOM_API_NAME_SUFFIX = '__c';
|
|
3406
|
+
// const DMO_API_NAME_SUFFIX = '__dlm';
|
|
3415
3407
|
const CUSTOM_EXTERNAL_OBJECT_FIELD_SUFFIX = '__x';
|
|
3416
3408
|
const RECORD_REPRESENTATION_ERROR_VERSION = 'RECORD_REPRESENTATION_ERROR_VERSION_1';
|
|
3417
3409
|
const RECORD_REPRESENTATION_ERROR_STORE_METADATA_PARAMS = {
|
|
@@ -3475,13 +3467,11 @@ function extractTrackedFieldsToTrie(recordId, node, root, config, visitedRecordI
|
|
|
3475
3467
|
if (!isGraphNode(field)) {
|
|
3476
3468
|
continue;
|
|
3477
3469
|
}
|
|
3478
|
-
const { maxDepth
|
|
3470
|
+
const { maxDepth } = config;
|
|
3479
3471
|
if (field.isScalar('value') === false && !Array.isArray(field.data?.value)) {
|
|
3480
3472
|
if (depth + 1 > maxDepth) {
|
|
3481
|
-
|
|
3482
|
-
|
|
3483
|
-
addScalarFieldName(current);
|
|
3484
|
-
}
|
|
3473
|
+
addScalarFieldId(current);
|
|
3474
|
+
addScalarFieldName(current);
|
|
3485
3475
|
continue;
|
|
3486
3476
|
}
|
|
3487
3477
|
const spanningLink = field.link('value');
|
|
@@ -3503,19 +3493,10 @@ function extractTrackedFieldsToTrie(recordId, node, root, config, visitedRecordI
|
|
|
3503
3493
|
current.children[key] = next;
|
|
3504
3494
|
}
|
|
3505
3495
|
else {
|
|
3506
|
-
// Skip the field, if its value is null at the max level depth.
|
|
3507
|
-
// Ideally, it should only skip relationship field. However,
|
|
3508
|
-
// on the client, there is not a reliable way to determine the
|
|
3509
|
-
// the field type.
|
|
3510
3496
|
if (depth === maxDepth) {
|
|
3511
|
-
|
|
3512
|
-
|
|
3513
|
-
|
|
3514
|
-
continue;
|
|
3515
|
-
}
|
|
3516
|
-
if (field.scalar('value') === null && !Array.isArray(field.data?.value)) {
|
|
3517
|
-
continue;
|
|
3518
|
-
}
|
|
3497
|
+
addScalarFieldId(current);
|
|
3498
|
+
addScalarFieldName(current);
|
|
3499
|
+
continue;
|
|
3519
3500
|
}
|
|
3520
3501
|
const state = fieldValueRep.linkData();
|
|
3521
3502
|
if (state !== undefined) {
|
|
@@ -3905,7 +3886,6 @@ function mergeRecordConflict(luvio, incoming, existing, recordConflictMap) {
|
|
|
3905
3886
|
};
|
|
3906
3887
|
const trackedFieldsConfig = {
|
|
3907
3888
|
maxDepth: configurationForRestAdapters.getTrackedFieldDepthOnCacheMergeConflict(),
|
|
3908
|
-
onlyFetchLeafNodeIdAndName: configurationForRestAdapters.getTrackedFieldLeafNodeIdAndNameOnly(),
|
|
3909
3889
|
};
|
|
3910
3890
|
extractTrackedFieldsToTrie(recordKey, incomingNode, incomingTrackedFieldsTrieRoot, trackedFieldsConfig);
|
|
3911
3891
|
extractTrackedFieldsToTrie(recordKey, existingNode, existingTrackedFieldsTrieRoot, trackedFieldsConfig);
|
|
@@ -4374,7 +4354,6 @@ function prepareRequest$7(luvio, config) {
|
|
|
4374
4354
|
const key = keyBuilder$28(luvio, createResourceParams$12(config));
|
|
4375
4355
|
const allTrackedFields = getTrackedFields(key, luvio.getNode(key), {
|
|
4376
4356
|
maxDepth: configurationForRestAdapters.getTrackedFieldDepthOnCacheMiss(),
|
|
4377
|
-
onlyFetchLeafNodeIdAndName: configurationForRestAdapters.getTrackedFieldLeafNodeIdAndNameOnly(),
|
|
4378
4357
|
}, config.optionalFields);
|
|
4379
4358
|
const optionalFields = fields === undefined ? allTrackedFields : difference(allTrackedFields, fields);
|
|
4380
4359
|
const resourceParams = createResourceParams$12({
|
|
@@ -4501,7 +4480,6 @@ function ingestSuccessChildResourceParams$8(luvio, childResourceParamsArray, chi
|
|
|
4501
4480
|
};
|
|
4502
4481
|
const childTrackedFields = getTrackedFields(childKey, luvio.getNode(childKey), {
|
|
4503
4482
|
maxDepth: configurationForRestAdapters.getTrackedFieldDepthOnCacheMiss(),
|
|
4504
|
-
onlyFetchLeafNodeIdAndName: configurationForRestAdapters.getTrackedFieldLeafNodeIdAndNameOnly(),
|
|
4505
4483
|
}, childResourceParams.queryParams.optionalFields);
|
|
4506
4484
|
const childSnapshot = ingestSuccess$S(luvio, {
|
|
4507
4485
|
recordId: childResourceParams.urlParams.recordId,
|
|
@@ -11063,17 +11041,15 @@ function getRelationshipName(objectInfo, fieldApiName) {
|
|
|
11063
11041
|
return objectInfo.fields[fieldApiName].relationshipName;
|
|
11064
11042
|
}
|
|
11065
11043
|
function getNameField(objectInfo, fieldApiName) {
|
|
11066
|
-
// eslint-disable-next-line @salesforce/lds/no-invalid-todo
|
|
11067
|
-
// TODO - this logic is adopted from lds222. It searches
|
|
11068
|
-
// ObjectInfoRep.ReferenceToInfoRep[].nameFields[]:
|
|
11069
|
-
// 1. If any of the arrays are empty returns `Name`
|
|
11070
|
-
// 2. If `Name` is found in any array position then returns it
|
|
11071
|
-
// 3. If the field has more than 1 references(polymorphic), return `Name`
|
|
11072
|
-
// 4. Else returns ObjectInfoRep.ReferenceToInfoRep[0].nameFields[0]
|
|
11073
|
-
// Rationale for this is unclear and needs clarification.
|
|
11074
11044
|
const referenceToInfos = objectInfo.fields[fieldApiName].referenceToInfos;
|
|
11075
11045
|
if (referenceToInfos.length !== 1) {
|
|
11076
|
-
return
|
|
11046
|
+
// For polymorphic fields, return "Name" only if at least one referenced entity has it.
|
|
11047
|
+
// If no entity in the domain set has a Name field (e.g. ContextTag uses "Title"),
|
|
11048
|
+
// sending "Name" to getRecordWithFields causes INVALID_FIELD at the DB layer (W-22253765).
|
|
11049
|
+
// We stay permissive for mixed cases (some have Name, some don't) — those are handled
|
|
11050
|
+
// server-side once W-22253765's companion fix lands in QueryValidatorImpl.
|
|
11051
|
+
const anyHaveName = referenceToInfos.some((ref) => ref.nameFields.includes(FIELD_NAME));
|
|
11052
|
+
return anyHaveName ? FIELD_NAME : undefined;
|
|
11077
11053
|
}
|
|
11078
11054
|
const firstReferenceNameFields = referenceToInfos[0].nameFields;
|
|
11079
11055
|
if (firstReferenceNameFields.length < 1) {
|
|
@@ -11108,8 +11084,11 @@ function getQualifiedFieldApiNamesFromLayout(layout, objectInfo) {
|
|
|
11108
11084
|
// By default, include the "Id" field on spanning records that are on the layout.
|
|
11109
11085
|
qualifiedFieldNames.push(`${objectInfo.apiName}.${relationshipFieldApiName}.${FIELD_ID}`);
|
|
11110
11086
|
const nameField = getNameField(objectInfo, apiName);
|
|
11111
|
-
// W-15692973: Name field of referenced
|
|
11112
|
-
|
|
11087
|
+
// W-15692973: Name field of referenced entities are moved to optionalFields since the Name field may not exist for few entities.
|
|
11088
|
+
// W-22253765: For polymorphic FKs where not all entities have "Name", nameField is undefined — skip the optional field entirely.
|
|
11089
|
+
if (nameField !== undefined) {
|
|
11090
|
+
qualifiedOptionalFieldNames.push(`${objectInfo.apiName}.${relationshipFieldApiName}.${nameField}`);
|
|
11091
|
+
}
|
|
11113
11092
|
}
|
|
11114
11093
|
qualifiedFieldNames.push(`${objectInfo.apiName}.${component.apiName}`);
|
|
11115
11094
|
}
|
|
@@ -11143,8 +11122,11 @@ function getMissingRecordLookupFields(record, objectInfo) {
|
|
|
11143
11122
|
// Include the Id field. Ex: Opportunity.Account.Id, Opportunity.relation1__r.Id
|
|
11144
11123
|
const idFieldName = `${apiName}.${relationshipName}.Id`;
|
|
11145
11124
|
lookupFields[idFieldName] = true;
|
|
11146
|
-
const
|
|
11147
|
-
|
|
11125
|
+
const resolvedNameField = getNameField(objectInfo, fieldName);
|
|
11126
|
+
// W-22253765: skip the name field for polymorphic FKs where not all entities have "Name"
|
|
11127
|
+
if (resolvedNameField !== undefined) {
|
|
11128
|
+
lookupFields[`${apiName}.${relationshipName}.${resolvedNameField}`] = true;
|
|
11129
|
+
}
|
|
11148
11130
|
}
|
|
11149
11131
|
return keys(lookupFields);
|
|
11150
11132
|
}
|
|
@@ -12012,7 +11994,6 @@ const notifyChangeFactory = (luvio) => {
|
|
|
12012
11994
|
const node = luvio.wrapNormalizedGraphNode(record, key);
|
|
12013
11995
|
const optionalFields = getTrackedFields(key, node, {
|
|
12014
11996
|
maxDepth: configurationForRestAdapters.getTrackedFieldDepthOnNotifyChange(),
|
|
12015
|
-
onlyFetchLeafNodeIdAndName: configurationForRestAdapters.getTrackedFieldLeafNodeIdAndNameOnly(),
|
|
12016
11997
|
});
|
|
12017
11998
|
const refreshRequest = createResourceRequestFromRepresentation(record, optionalFields);
|
|
12018
11999
|
const existingWeakEtag = record.weakEtag;
|
|
@@ -16046,7 +16027,6 @@ function buildNetworkSnapshot$V(luvio, config, options) {
|
|
|
16046
16027
|
const key = keyBuilder$1w(luvio, config);
|
|
16047
16028
|
const trackedFieldsConfig = {
|
|
16048
16029
|
maxDepth: configurationForRestAdapters.getTrackedFieldDepthOnCacheMiss(),
|
|
16049
|
-
onlyFetchLeafNodeIdAndName: configurationForRestAdapters.getTrackedFieldLeafNodeIdAndNameOnly()
|
|
16050
16030
|
};
|
|
16051
16031
|
const optionalFieldsTrie = convertFieldsToTrie(getTrackedFields(key, luvio.getNode(key), trackedFieldsConfig, config.optionalFields));
|
|
16052
16032
|
const fieldsTrie = BLANK_RECORD_FIELDS_TRIE;
|
|
@@ -35218,7 +35198,6 @@ const buildNetworkSnapshot$6 = (luvio, context, config, options) => {
|
|
|
35218
35198
|
...resourceRequest.queryParams,
|
|
35219
35199
|
optionalFields: getTrackedFields(templateRecordKey, luvio.getNode(templateRecordKey), {
|
|
35220
35200
|
maxDepth: configurationForRestAdapters.getTrackedFieldDepthOnCacheMiss(),
|
|
35221
|
-
onlyFetchLeafNodeIdAndName: configurationForRestAdapters.getTrackedFieldLeafNodeIdAndNameOnly(),
|
|
35222
35201
|
}, config.optionalFields),
|
|
35223
35202
|
},
|
|
35224
35203
|
});
|
|
@@ -35853,7 +35832,6 @@ function prepareRequest(luvio, context, config) {
|
|
|
35853
35832
|
...resourceRequest.queryParams,
|
|
35854
35833
|
optionalFields: getTrackedFields(recordTemplateKey, luvio.getNode(recordTemplateKey), {
|
|
35855
35834
|
maxDepth: configurationForRestAdapters.getTrackedFieldDepthOnCacheMiss(),
|
|
35856
|
-
onlyFetchLeafNodeIdAndName: configurationForRestAdapters.getTrackedFieldLeafNodeIdAndNameOnly(),
|
|
35857
35835
|
}, config.optionalFields),
|
|
35858
35836
|
},
|
|
35859
35837
|
});
|
|
@@ -35873,7 +35851,6 @@ function onFetchResponseSuccess(luvio, context, config, request, response, resou
|
|
|
35873
35851
|
});
|
|
35874
35852
|
const allTrackedFields = getTrackedFields(templateRecordKey, luvio.getNode(templateRecordKey), {
|
|
35875
35853
|
maxDepth: configurationForRestAdapters.getTrackedFieldDepthOnCacheMiss(),
|
|
35876
|
-
onlyFetchLeafNodeIdAndName: configurationForRestAdapters.getTrackedFieldLeafNodeIdAndNameOnly(),
|
|
35877
35854
|
}, optionalFields);
|
|
35878
35855
|
const allTrackedFieldsTrie = convertFieldsToTrie(allTrackedFields, true);
|
|
35879
35856
|
const ingest = createFieldsIngestSuccess({
|
|
@@ -37497,4 +37474,4 @@ withDefaultLuvio((luvio) => {
|
|
|
37497
37474
|
});
|
|
37498
37475
|
|
|
37499
37476
|
export { API_NAMESPACE, VERSION$1i as FieldValueRepresentationVersion, InMemoryRecordRepresentationQueryEvaluator, MRU, RepresentationType$J as ObjectInfoDirectoryEntryRepresentationType, RepresentationType$O as ObjectInfoRepresentationType, RECORD_FIELDS_KEY_JUNCTION, RECORD_ID_PREFIX, RECORD_REPRESENTATION_NAME, RECORD_VIEW_ENTITY_ID_PREFIX, RECORD_VIEW_ENTITY_REPRESENTATION_NAME, RepresentationType$V as RecordRepresentationRepresentationType, TTL$z as RecordRepresentationTTL, RepresentationType$V as RecordRepresentationType, VERSION$1g as RecordRepresentationVersion, keyPrefix as UiApiNamespace, buildRecordRepKeyFromId, getFieldApiNamesArray as coerceFieldIdArray, coerceLayoutModeArray, getLayoutTypeArray as coerceLayoutTypeArray, getObjectApiName$1 as coerceObjectId, getObjectApiNamesArray as coerceObjectIdArray, configurationForRestAdapters as configuration, createContentDocumentAndVersion, createContentVersion, createIngestRecordWithFields, createLDSAdapterWithPrediction, createListInfo, createRecord, deleteListInfo, deleteRecord, executeBatchRecordOperations, extractRecordIdFromStoreKey, getActionOverrides, getActionOverrides_imperative, getAllApps, getAllApps_imperative, getAppDetails, getAppDetails_imperative, getDuplicateConfiguration, getDuplicateConfiguration_imperative, getDuplicates, getDuplicates_imperative, getFlexipageFormulaOverrides, getFlexipageFormulaOverrides_imperative, getGlobalActions, getGlobalActions_imperative, getKeywordSearchResults, getKeywordSearchResults_imperative, getLayout, getLayoutUserState, getLayoutUserState_imperative, getLayout_imperative, getListInfoByName, getListInfoByNameAdapterFactory, getListInfoByName_imperative, getListInfosByName, getListInfosByName_imperative, getListInfosByObjectName, getListInfosByObjectNameAdapterFactory, getListInfosByObjectName_imperative, getListObjectInfo, getListObjectInfoAdapterFactory, getListObjectInfo_imperative, getListPreferences, getListPreferences_imperative, getListRecordsByName, factory$a as getListRecordsByNameAdapterFactory, getListRecordsByName_imperative, getListUi, getListUi_imperative, getLookupActions, getLookupActions_imperative, getLookupMetadata, getLookupMetadata_imperative, getLookupRecords, getLookupRecords_imperative, getNavItems, getNavItems_imperative, getObjectCreateActions, getObjectCreateActions_imperative, getObjectInfo, getObjectInfoAdapterFactory, getObjectInfoDirectoryAdapterFactory, getObjectInfo_imperative, getObjectInfos, getObjectInfosAdapterFactory, getObjectInfos_imperative, getPathLayout, getPathLayout_imperative, getPicklistValues, getPicklistValuesByRecordType, getPicklistValuesByRecordType_imperative, getPicklistValues_imperative, getQuickActionDefaults, getQuickActionDefaults_imperative, getQuickActionInfo, getQuickActionInfo_imperative, getQuickActionLayout, getQuickActionLayout_imperative, getRecord, getRecordActions, getRecordActionsAdapterFactory, getRecordActions_imperative, factory$f as getRecordAdapterFactory, getRecordAvatars, getRecordAvatarsAdapterFactory, getRecordAvatars_imperative, getRecordCreateDefaults, getRecordCreateDefaults_imperative, getRecordEditActions, getRecordEditActions_imperative, getRecordId18, getRecordId18Array, getRecordIngestionOverride, getRecordNotifyChange, getRecordTemplateClone, getRecordTemplateClone_imperative, getRecordTemplateCreate, getRecordTemplateCreate_imperative, getRecordUi, getRecordUi_imperative, getRecord_imperative, getRecords, getRecordsAdapterFactory, getRecords_imperative, getRelatedListActions, getRelatedListActionsAdapterFactory, getRelatedListActions_imperative, getRelatedListCount, getRelatedListCount_imperative, getRelatedListInfo, getRelatedListInfoAdapterFactory, getRelatedListInfoBatch, getRelatedListInfoBatchAdapterFactory, getRelatedListInfoBatch_imperative, getRelatedListInfo_imperative, getRelatedListPreferences, getRelatedListPreferencesBatch, getRelatedListPreferencesBatch_imperative, getRelatedListPreferences_imperative, getRelatedListRecordActions, getRelatedListRecordActions_imperative, getRelatedListRecords, getRelatedListRecordsAdapterFactory, getRelatedListRecordsBatch, getRelatedListRecordsBatchAdapterFactory, getRelatedListRecordsBatch_imperative, getRelatedListRecords_imperative, getRelatedListsActions, getRelatedListsActionsAdapterFactory, getRelatedListsActions_imperative, getRelatedListsCount, getRelatedListsCount_imperative, getRelatedListsInfo, getRelatedListsInfoAdapterFactory, getRelatedListsInfo_imperative, getResponseCacheKeys as getResponseCacheKeysContentDocumentCompositeRepresentation, getSearchFilterMetadata, getSearchFilterMetadata_imperative, getSearchFilterOptions, getSearchFilterOptions_imperative, getSearchResults, getSearchResults_imperative, getTypeCacheKeys$X as getTypeCacheKeysRecord, ingest as ingestContentDocumentCompositeRepresentation, ingest$H as ingestObjectInfo, ingest$B as ingestQuickActionExecutionRepresentation, ingest$O as ingestRecord, instrument, isStoreKeyRecordViewEntity, keyBuilder as keyBuilderContentDocumentCompositeRepresentation, keyBuilderFromType as keyBuilderFromTypeContentDocumentCompositeRepresentation, keyBuilderFromType$E as keyBuilderFromTypeRecordRepresentation, keyBuilder$1Y as keyBuilderObjectInfo, keyBuilder$1R as keyBuilderQuickActionExecutionRepresentation, keyBuilder$29 as keyBuilderRecord, notifyAllListInfoSummaryUpdateAvailable, notifyAllListRecordUpdateAvailable, notifyListInfoSummaryUpdateAvailable, notifyListInfoUpdateAvailable, notifyListRecordCollectionUpdateAvailable, notifyListViewSummaryUpdateAvailable, notifyQuickActionDefaultsUpdateAvailable, notifyRecordUpdateAvailable, performQuickAction, performUpdateRecordQuickAction, refresh, registerPrefetcher, updateLayoutUserState, updateListInfoByName, updateListPreferences, updateRecord, updateRecordAvatar, updateRelatedListInfo, updateRelatedListPreferences };
|
|
37500
|
-
// version: 1.
|
|
37477
|
+
// version: 1.435.0-615ebb9bbd
|
|
@@ -180,28 +180,23 @@ let configurableCreateContentVersion = new Configurable();
|
|
|
180
180
|
* Depth to which tracked fields will be added to a request that results from a cache miss.
|
|
181
181
|
* A value of 0 inhibits the addition of tracked fields, 1 will add tracked fields that can
|
|
182
182
|
* be reached by following 1 relationship from the root record, etc.
|
|
183
|
-
* @defaultValue '
|
|
183
|
+
* @defaultValue '1'
|
|
184
184
|
*/
|
|
185
|
-
let trackedFieldDepthOnCacheMiss =
|
|
185
|
+
let trackedFieldDepthOnCacheMiss = 1;
|
|
186
186
|
/**
|
|
187
187
|
* Depth to which tracked fields will be added to a request that results from a merge conflict
|
|
188
188
|
* A value of 0 inhibits the addition of tracked fields, 1 will add tracked fields that can
|
|
189
189
|
* be reached by following 1 relationship from the root record, etc.
|
|
190
|
-
* @defaultValue '
|
|
190
|
+
* @defaultValue '1'
|
|
191
191
|
*/
|
|
192
|
-
let trackedFieldDepthOnCacheMergeConflict =
|
|
192
|
+
let trackedFieldDepthOnCacheMergeConflict = 1;
|
|
193
193
|
/**
|
|
194
194
|
* Depth to which tracked fields will be added to a request that results from a notify change invocation by the consumer
|
|
195
195
|
* A value of 0 inhibits the addition of tracked fields, 1 will add tracked fields that can
|
|
196
196
|
* be reached by following 1 relationship from the root record, etc.
|
|
197
|
-
* @defaultValue '
|
|
197
|
+
* @defaultValue '1'
|
|
198
198
|
*/
|
|
199
|
-
let trackedFieldDepthOnNotifyChange =
|
|
200
|
-
/**
|
|
201
|
-
* Determines if we will only fetch the 'Id' field for the leaf relationship record
|
|
202
|
-
* @defaultValue 'false', replicates the current behavior and fetches all fields in the store for the leaf relationship record
|
|
203
|
-
*/
|
|
204
|
-
let trackedFieldLeafNodeIdAndNameOnly = false;
|
|
199
|
+
let trackedFieldDepthOnNotifyChange = 1;
|
|
205
200
|
/**
|
|
206
201
|
* One store enabled Get Object Info adapter
|
|
207
202
|
*/
|
|
@@ -298,12 +293,6 @@ const configurationForEnvironmentFactoryOverrides = {
|
|
|
298
293
|
getTrackedFieldDepthOnNotifyChange: function () {
|
|
299
294
|
return trackedFieldDepthOnNotifyChange;
|
|
300
295
|
},
|
|
301
|
-
setTrackedFieldLeafNodeIdAndNameOnly: function (trackedFieldLeafNodeIdAndNameOnlyParam) {
|
|
302
|
-
trackedFieldLeafNodeIdAndNameOnly = trackedFieldLeafNodeIdAndNameOnlyParam;
|
|
303
|
-
},
|
|
304
|
-
getTrackedFieldLeafNodeIdAndNameOnly: function () {
|
|
305
|
-
return trackedFieldLeafNodeIdAndNameOnly;
|
|
306
|
-
},
|
|
307
296
|
setRecordRepresentationIngestionOverride: function (ingest) {
|
|
308
297
|
recordRepresentationIngestionOverride = ingest;
|
|
309
298
|
},
|