@rippling/rippling-sdk 0.2.0-alpha.37 → 0.2.0-alpha.39
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/examples/sdui/sdui-crud-todo/sdui-crud-todo.ts +3 -3
- package/examples/sdui/sdui-showcase/sdui-showcase.ts +6 -11
- package/examples/sdui/sdui-tab-multi-view/sdui-tab-multi-view.ts +14 -24
- package/examples/sdui/vote/vote.ts +7 -11
- package/lib/manifest/app.d.mts +11 -1
- package/lib/manifest/app.d.mts.map +1 -1
- package/lib/manifest/app.d.ts +11 -1
- package/lib/manifest/app.d.ts.map +1 -1
- package/lib/manifest/app.js +42 -1
- package/lib/manifest/app.js.map +1 -1
- package/lib/manifest/app.mjs +42 -1
- package/lib/manifest/app.mjs.map +1 -1
- package/lib/manifest/category.d.mts +14 -3
- package/lib/manifest/category.d.mts.map +1 -1
- package/lib/manifest/category.d.ts +14 -3
- package/lib/manifest/category.d.ts.map +1 -1
- package/lib/manifest/category.js +25 -3
- package/lib/manifest/category.js.map +1 -1
- package/lib/manifest/category.mjs +25 -3
- package/lib/manifest/category.mjs.map +1 -1
- package/lib/manifest/custom-object-field-section.d.mts +13 -0
- package/lib/manifest/custom-object-field-section.d.mts.map +1 -1
- package/lib/manifest/custom-object-field-section.d.ts +13 -0
- package/lib/manifest/custom-object-field-section.d.ts.map +1 -1
- package/lib/manifest/custom-object-field-section.js +22 -1
- package/lib/manifest/custom-object-field-section.js.map +1 -1
- package/lib/manifest/custom-object-field-section.mjs +22 -1
- package/lib/manifest/custom-object-field-section.mjs.map +1 -1
- package/lib/manifest/custom-object-page-layout.d.mts +23 -0
- package/lib/manifest/custom-object-page-layout.d.mts.map +1 -1
- package/lib/manifest/custom-object-page-layout.d.ts +23 -0
- package/lib/manifest/custom-object-page-layout.d.ts.map +1 -1
- package/lib/manifest/custom-object-page-layout.js +45 -2
- package/lib/manifest/custom-object-page-layout.js.map +1 -1
- package/lib/manifest/custom-object-page-layout.mjs +45 -2
- package/lib/manifest/custom-object-page-layout.mjs.map +1 -1
- package/lib/manifest/custom-object.d.mts +41 -2
- package/lib/manifest/custom-object.d.mts.map +1 -1
- package/lib/manifest/custom-object.d.ts +41 -2
- package/lib/manifest/custom-object.d.ts.map +1 -1
- package/lib/manifest/custom-object.js +70 -3
- package/lib/manifest/custom-object.js.map +1 -1
- package/lib/manifest/custom-object.mjs +70 -3
- package/lib/manifest/custom-object.mjs.map +1 -1
- package/lib/manifest/existing-manifest-context.d.mts +87 -0
- package/lib/manifest/existing-manifest-context.d.mts.map +1 -0
- package/lib/manifest/existing-manifest-context.d.ts +87 -0
- package/lib/manifest/existing-manifest-context.d.ts.map +1 -0
- package/lib/manifest/existing-manifest-context.js +511 -0
- package/lib/manifest/existing-manifest-context.js.map +1 -0
- package/lib/manifest/existing-manifest-context.mjs +506 -0
- package/lib/manifest/existing-manifest-context.mjs.map +1 -0
- package/lib/manifest/field.d.mts +44 -2
- package/lib/manifest/field.d.mts.map +1 -1
- package/lib/manifest/field.d.ts +44 -2
- package/lib/manifest/field.d.ts.map +1 -1
- package/lib/manifest/field.js +134 -3
- package/lib/manifest/field.js.map +1 -1
- package/lib/manifest/field.mjs +134 -3
- package/lib/manifest/field.mjs.map +1 -1
- package/lib/manifest/index.d.mts +8 -7
- package/lib/manifest/index.d.mts.map +1 -1
- package/lib/manifest/index.d.ts +8 -7
- package/lib/manifest/index.d.ts.map +1 -1
- package/lib/manifest/index.js +3 -1
- package/lib/manifest/index.js.map +1 -1
- package/lib/manifest/index.mjs +5 -4
- package/lib/manifest/index.mjs.map +1 -1
- package/lib/manifest/list-view.d.mts +17 -0
- package/lib/manifest/list-view.d.mts.map +1 -1
- package/lib/manifest/list-view.d.ts +17 -0
- package/lib/manifest/list-view.d.ts.map +1 -1
- package/lib/manifest/list-view.js +38 -1
- package/lib/manifest/list-view.js.map +1 -1
- package/lib/manifest/list-view.mjs +38 -1
- package/lib/manifest/list-view.mjs.map +1 -1
- package/lib/manifest/manifest-builder.d.mts +60 -7
- package/lib/manifest/manifest-builder.d.mts.map +1 -1
- package/lib/manifest/manifest-builder.d.ts +60 -7
- package/lib/manifest/manifest-builder.d.ts.map +1 -1
- package/lib/manifest/manifest-builder.js +62 -4
- package/lib/manifest/manifest-builder.js.map +1 -1
- package/lib/manifest/manifest-builder.mjs +62 -4
- package/lib/manifest/manifest-builder.mjs.map +1 -1
- package/lib/manifest/manifest-function.d.mts +18 -3
- package/lib/manifest/manifest-function.d.mts.map +1 -1
- package/lib/manifest/manifest-function.d.ts +18 -3
- package/lib/manifest/manifest-function.d.ts.map +1 -1
- package/lib/manifest/manifest-function.js +44 -3
- package/lib/manifest/manifest-function.js.map +1 -1
- package/lib/manifest/manifest-function.mjs +44 -3
- package/lib/manifest/manifest-function.mjs.map +1 -1
- package/lib/manifest/rule.d.mts +17 -0
- package/lib/manifest/rule.d.mts.map +1 -1
- package/lib/manifest/rule.d.ts +17 -0
- package/lib/manifest/rule.d.ts.map +1 -1
- package/lib/manifest/rule.js +45 -1
- package/lib/manifest/rule.js.map +1 -1
- package/lib/manifest/rule.mjs +45 -1
- package/lib/manifest/rule.mjs.map +1 -1
- package/lib/manifest/sdui-page.d.mts +10 -1
- package/lib/manifest/sdui-page.d.mts.map +1 -1
- package/lib/manifest/sdui-page.d.ts +10 -1
- package/lib/manifest/sdui-page.d.ts.map +1 -1
- package/lib/manifest/sdui-page.js +28 -1
- package/lib/manifest/sdui-page.js.map +1 -1
- package/lib/manifest/sdui-page.mjs +28 -1
- package/lib/manifest/sdui-page.mjs.map +1 -1
- package/lib/manifest/validation.d.mts +17 -0
- package/lib/manifest/validation.d.mts.map +1 -1
- package/lib/manifest/validation.d.ts +17 -0
- package/lib/manifest/validation.d.ts.map +1 -1
- package/lib/manifest/validation.js +31 -1
- package/lib/manifest/validation.js.map +1 -1
- package/lib/manifest/validation.mjs +31 -1
- package/lib/manifest/validation.mjs.map +1 -1
- package/lib/sdui/actions.d.mts.map +1 -1
- package/lib/sdui/actions.d.ts.map +1 -1
- package/lib/sdui/actions.js +23 -13
- package/lib/sdui/actions.js.map +1 -1
- package/lib/sdui/actions.mjs +23 -13
- package/lib/sdui/actions.mjs.map +1 -1
- package/lib/sdui/component.d.mts +28 -11
- package/lib/sdui/component.d.mts.map +1 -1
- package/lib/sdui/component.d.ts +28 -11
- package/lib/sdui/component.d.ts.map +1 -1
- package/lib/sdui/component.js +69 -36
- package/lib/sdui/component.js.map +1 -1
- package/lib/sdui/component.mjs +69 -36
- package/lib/sdui/component.mjs.map +1 -1
- package/lib/sdui/components.d.mts +1141 -132
- package/lib/sdui/components.d.mts.map +1 -1
- package/lib/sdui/components.d.ts +1141 -132
- package/lib/sdui/components.d.ts.map +1 -1
- package/lib/sdui/components.js +834 -206
- package/lib/sdui/components.js.map +1 -1
- package/lib/sdui/components.mjs +830 -203
- package/lib/sdui/components.mjs.map +1 -1
- package/lib/sdui/directives.d.mts.map +1 -1
- package/lib/sdui/directives.d.ts.map +1 -1
- package/lib/sdui/directives.js +4 -1
- package/lib/sdui/directives.js.map +1 -1
- package/lib/sdui/directives.mjs +4 -1
- package/lib/sdui/directives.mjs.map +1 -1
- package/lib/sdui/index.d.mts +314 -261
- package/lib/sdui/index.d.mts.map +1 -1
- package/lib/sdui/index.d.ts +314 -261
- package/lib/sdui/index.d.ts.map +1 -1
- package/lib/sdui/index.js +255 -204
- package/lib/sdui/index.js.map +1 -1
- package/lib/sdui/index.mjs +128 -103
- package/lib/sdui/index.mjs.map +1 -1
- package/lib/sdui/propTypes.d.mts +6330 -0
- package/lib/sdui/propTypes.d.mts.map +1 -0
- package/lib/sdui/propTypes.d.ts +6330 -0
- package/lib/sdui/propTypes.d.ts.map +1 -0
- package/lib/sdui/propTypes.js +14 -0
- package/lib/sdui/propTypes.js.map +1 -0
- package/lib/sdui/propTypes.mjs +13 -0
- package/lib/sdui/propTypes.mjs.map +1 -0
- package/lib/sdui/render.d.mts +1 -1
- package/lib/sdui/render.d.mts.map +1 -1
- package/lib/sdui/render.d.ts +1 -1
- package/lib/sdui/render.d.ts.map +1 -1
- package/lib/sdui/render.js +11 -3
- package/lib/sdui/render.js.map +1 -1
- package/lib/sdui/render.mjs +11 -3
- package/lib/sdui/render.mjs.map +1 -1
- package/lib/sdui/state.d.mts.map +1 -1
- package/lib/sdui/state.d.ts.map +1 -1
- package/lib/sdui/state.js +3 -1
- package/lib/sdui/state.js.map +1 -1
- package/lib/sdui/state.mjs +3 -1
- package/lib/sdui/state.mjs.map +1 -1
- package/package.json +1 -1
- package/src/lib/manifest/app.ts +46 -2
- package/src/lib/manifest/category.ts +35 -7
- package/src/lib/manifest/custom-object-field-section.ts +37 -1
- package/src/lib/manifest/custom-object-page-layout.ts +67 -2
- package/src/lib/manifest/custom-object.ts +88 -4
- package/src/lib/manifest/existing-manifest-context.ts +673 -0
- package/src/lib/manifest/field.ts +160 -3
- package/src/lib/manifest/index.ts +39 -4
- package/src/lib/manifest/list-view.ts +50 -1
- package/src/lib/manifest/manifest-builder.ts +115 -5
- package/src/lib/manifest/manifest-function.ts +44 -4
- package/src/lib/manifest/rule.ts +60 -1
- package/src/lib/manifest/sdui-page.ts +37 -2
- package/src/lib/manifest/validation.ts +48 -1
- package/src/lib/sdui/actions.ts +23 -10
- package/src/lib/sdui/component.ts +84 -44
- package/src/lib/sdui/components.ts +1627 -212
- package/src/lib/sdui/directives.ts +4 -1
- package/src/lib/sdui/index.ts +565 -200
- package/src/lib/sdui/propTypes.ts +8470 -0
- package/src/lib/sdui/render.ts +13 -5
- package/src/lib/sdui/state.ts +8 -2
- package/src/version.ts +1 -1
- package/version.d.mts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
|
@@ -0,0 +1,506 @@
|
|
|
1
|
+
import { App } from "./app.mjs";
|
|
2
|
+
import { Category } from "./category.mjs";
|
|
3
|
+
import { CustomObject } from "./custom-object.mjs";
|
|
4
|
+
import { CustomObjectFieldSection } from "./custom-object-field-section.mjs";
|
|
5
|
+
import { CustomObjectPageLayout } from "./custom-object-page-layout.mjs";
|
|
6
|
+
import { Field } from "./field.mjs";
|
|
7
|
+
import { ListViewDef } from "./list-view.mjs";
|
|
8
|
+
import { ManifestBuilder } from "./manifest-builder.mjs";
|
|
9
|
+
import { ManifestFunction } from "./manifest-function.mjs";
|
|
10
|
+
import { Rule } from "./rule.mjs";
|
|
11
|
+
import { SduiPage } from "./sdui-page.mjs";
|
|
12
|
+
import { Validation } from "./validation.mjs";
|
|
13
|
+
class ExistingRawComponent {
|
|
14
|
+
constructor(component) {
|
|
15
|
+
this.component = component;
|
|
16
|
+
}
|
|
17
|
+
toDict() {
|
|
18
|
+
return cloneJson(this.component);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
function cloneJson(value) {
|
|
22
|
+
if (value == null)
|
|
23
|
+
return value;
|
|
24
|
+
return JSON.parse(JSON.stringify(value));
|
|
25
|
+
}
|
|
26
|
+
function parseExistingManifest(source) {
|
|
27
|
+
const parsed = typeof source === 'string' ? JSON.parse(source) : source;
|
|
28
|
+
if (Array.isArray(parsed)) {
|
|
29
|
+
return { components: parsed };
|
|
30
|
+
}
|
|
31
|
+
if (parsed == null || typeof parsed !== 'object') {
|
|
32
|
+
throw new TypeError('Existing manifest JSON must be an object with a components array.');
|
|
33
|
+
}
|
|
34
|
+
const components = parsed.components;
|
|
35
|
+
if (!Array.isArray(components)) {
|
|
36
|
+
throw new TypeError('Existing manifest JSON must include a components array.');
|
|
37
|
+
}
|
|
38
|
+
const manifest = { components };
|
|
39
|
+
const metadata = parsed.metadata;
|
|
40
|
+
if (metadata !== undefined)
|
|
41
|
+
manifest.metadata = metadata;
|
|
42
|
+
return manifest;
|
|
43
|
+
}
|
|
44
|
+
function splitQualifiedId(value) {
|
|
45
|
+
if (value == null)
|
|
46
|
+
return {};
|
|
47
|
+
const separatorIndex = value.indexOf('.');
|
|
48
|
+
if (separatorIndex < 0)
|
|
49
|
+
return { childId: value };
|
|
50
|
+
return {
|
|
51
|
+
parentId: value.slice(0, separatorIndex),
|
|
52
|
+
childId: value.slice(separatorIndex + 1),
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
function componentLabel(component) {
|
|
56
|
+
const type = component['type'] ?? 'UNKNOWN';
|
|
57
|
+
const id = component['api_name'] ??
|
|
58
|
+
component['layout_id'] ??
|
|
59
|
+
component['view_id'] ??
|
|
60
|
+
component['rule_id'] ??
|
|
61
|
+
component['flow_id'] ??
|
|
62
|
+
component['sdui_page_id'] ??
|
|
63
|
+
component['field_api_name'] ??
|
|
64
|
+
component['section_id'] ??
|
|
65
|
+
'unknown';
|
|
66
|
+
return `${type}:${id}`;
|
|
67
|
+
}
|
|
68
|
+
export function getExistingManifestContext(options) {
|
|
69
|
+
if (options?.context != null) {
|
|
70
|
+
return options.context;
|
|
71
|
+
}
|
|
72
|
+
return ExistingManifestContext.active();
|
|
73
|
+
}
|
|
74
|
+
export class ExistingManifestContext {
|
|
75
|
+
constructor(source) {
|
|
76
|
+
this.componentsByType = new Map();
|
|
77
|
+
this.componentIndexes = new WeakMap();
|
|
78
|
+
this.cache = new Map();
|
|
79
|
+
this.loading = new Set();
|
|
80
|
+
this.manifest = parseExistingManifest(source);
|
|
81
|
+
this.components = this.manifest.components;
|
|
82
|
+
this.components.forEach((component, index) => {
|
|
83
|
+
this.componentIndexes.set(component, index);
|
|
84
|
+
const type = component['type'];
|
|
85
|
+
if (typeof type !== 'string')
|
|
86
|
+
return;
|
|
87
|
+
const bucket = this.componentsByType.get(type) ?? [];
|
|
88
|
+
bucket.push(component);
|
|
89
|
+
this.componentsByType.set(type, bucket);
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
static fromJson(source) {
|
|
93
|
+
const context = new ExistingManifestContext(source);
|
|
94
|
+
ExistingManifestContext._active = context;
|
|
95
|
+
return context;
|
|
96
|
+
}
|
|
97
|
+
static active() {
|
|
98
|
+
if (ExistingManifestContext._active == null) {
|
|
99
|
+
throw new Error('No existing manifest JSON has been loaded. Call ManifestBuilder.useExistingJson(json) first.');
|
|
100
|
+
}
|
|
101
|
+
return ExistingManifestContext._active;
|
|
102
|
+
}
|
|
103
|
+
static clearActive() {
|
|
104
|
+
ExistingManifestContext._active = undefined;
|
|
105
|
+
}
|
|
106
|
+
getManifestBuilder() {
|
|
107
|
+
if (this.builder == null) {
|
|
108
|
+
const metadata = this.manifest.metadata ?? {};
|
|
109
|
+
const key = metadata['key'];
|
|
110
|
+
if (typeof key !== 'string' || key.length === 0) {
|
|
111
|
+
throw new Error('Existing manifest metadata.key is required to create a ManifestBuilder.');
|
|
112
|
+
}
|
|
113
|
+
const props = {
|
|
114
|
+
key,
|
|
115
|
+
name: typeof metadata['name'] === 'string' ? metadata['name'] : key,
|
|
116
|
+
};
|
|
117
|
+
if (typeof metadata['description'] === 'string') {
|
|
118
|
+
props['description'] = metadata['description'];
|
|
119
|
+
}
|
|
120
|
+
this.builder = new ManifestBuilder(props);
|
|
121
|
+
}
|
|
122
|
+
return this.builder;
|
|
123
|
+
}
|
|
124
|
+
loadManifestBuilder() {
|
|
125
|
+
const builder = this.getManifestBuilder();
|
|
126
|
+
this.loadAll();
|
|
127
|
+
return builder;
|
|
128
|
+
}
|
|
129
|
+
loadAll() {
|
|
130
|
+
this.getManifestBuilder();
|
|
131
|
+
for (const component of this.components) {
|
|
132
|
+
this.loadComponent(component);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
loadCategory(apiName) {
|
|
136
|
+
const component = this.findUnique('CUSTOM_CATEGORY', (candidate) => candidate['api_name'] === apiName, `CUSTOM_CATEGORY ${apiName}`);
|
|
137
|
+
return this.loadCategoryComponent(component);
|
|
138
|
+
}
|
|
139
|
+
loadCustomObject(apiName) {
|
|
140
|
+
const component = this.findUnique('CUSTOM_OBJECT', (candidate) => candidate['api_name'] === apiName, `CUSTOM_OBJECT ${apiName}`);
|
|
141
|
+
return this.loadCustomObjectComponent(component);
|
|
142
|
+
}
|
|
143
|
+
loadFieldSection(sectionIdOrQualifiedId, options = {}) {
|
|
144
|
+
const qualified = splitQualifiedId(sectionIdOrQualifiedId);
|
|
145
|
+
const sectionId = qualified.childId ?? sectionIdOrQualifiedId;
|
|
146
|
+
const modelApiName = options.customObjectApiName ?? qualified.parentId;
|
|
147
|
+
const component = this.findUnique('CUSTOM_OBJECT_FIELD_SECTION', (candidate) => candidate['section_id'] === sectionId &&
|
|
148
|
+
(modelApiName == null || candidate['model_name'] === modelApiName), `CUSTOM_OBJECT_FIELD_SECTION ${modelApiName != null ? `${modelApiName}.` : ''}${sectionId}`);
|
|
149
|
+
return this.loadFieldSectionComponent(component);
|
|
150
|
+
}
|
|
151
|
+
loadField(fieldApiNameOrQualifiedId, options = {}) {
|
|
152
|
+
const qualified = splitQualifiedId(fieldApiNameOrQualifiedId);
|
|
153
|
+
const fieldApiName = qualified.childId ?? fieldApiNameOrQualifiedId;
|
|
154
|
+
const customObjectApiName = options.customObjectApiName ?? qualified.parentId;
|
|
155
|
+
return this.loadFieldByObjectAndApi(customObjectApiName, fieldApiName);
|
|
156
|
+
}
|
|
157
|
+
loadListView(viewId, options = {}) {
|
|
158
|
+
const objectApiName = options.customObjectApiName;
|
|
159
|
+
const component = this.findUnique('CUSTOM_OBJECT_LIST_VIEW', (candidate) => candidate['view_id'] === viewId &&
|
|
160
|
+
(objectApiName == null || candidate['object_rql_name'] === objectApiName), `CUSTOM_OBJECT_LIST_VIEW ${objectApiName != null ? `${objectApiName}.` : ''}${viewId}`);
|
|
161
|
+
return this.loadListViewComponent(component);
|
|
162
|
+
}
|
|
163
|
+
loadPageLayout(layoutIdOrApiName, options = {}) {
|
|
164
|
+
const objectApiName = options.customObjectApiName;
|
|
165
|
+
const component = this.findUnique('CUSTOM_OBJECT_PAGE_LAYOUT', (candidate) => (candidate['layout_id'] === layoutIdOrApiName || candidate['api_name'] === layoutIdOrApiName) &&
|
|
166
|
+
(objectApiName == null || candidate['object_rql_name'] === objectApiName), `CUSTOM_OBJECT_PAGE_LAYOUT ${objectApiName != null ? `${objectApiName}.` : ''}${layoutIdOrApiName}`);
|
|
167
|
+
return this.loadPageLayoutComponent(component);
|
|
168
|
+
}
|
|
169
|
+
loadValidation(ruleId, options = {}) {
|
|
170
|
+
const objectApiName = options.customObjectApiName;
|
|
171
|
+
const component = this.findUnique('CUSTOM_OBJECT_VALIDATION_RULE', (candidate) => candidate['rule_id'] === ruleId &&
|
|
172
|
+
(objectApiName == null || candidate['model_rql_name'] === objectApiName), `CUSTOM_OBJECT_VALIDATION_RULE ${objectApiName != null ? `${objectApiName}.` : ''}${ruleId}`);
|
|
173
|
+
return this.loadValidationComponent(component);
|
|
174
|
+
}
|
|
175
|
+
loadRule(flowId, options = {}) {
|
|
176
|
+
const objectApiName = options.customObjectApiName;
|
|
177
|
+
const component = this.findUnique('CUSTOM_OBJECT_RECORD_TRIGGERED_FLOW', (candidate) => candidate['flow_id'] === flowId &&
|
|
178
|
+
(objectApiName == null || candidate['model_rql_name'] === objectApiName), `CUSTOM_OBJECT_RECORD_TRIGGERED_FLOW ${objectApiName != null ? `${objectApiName}.` : ''}${flowId}`);
|
|
179
|
+
return this.loadRuleComponent(component);
|
|
180
|
+
}
|
|
181
|
+
loadFunction(apiName) {
|
|
182
|
+
const component = this.findUnique('FUNCTION', (candidate) => candidate['api_name'] === apiName, `FUNCTION ${apiName}`);
|
|
183
|
+
return this.loadFunctionComponent(component);
|
|
184
|
+
}
|
|
185
|
+
loadSduiPage(sduiPageId) {
|
|
186
|
+
const component = this.findUnique('SDUI_PAGE', (candidate) => candidate['sdui_page_id'] === sduiPageId, `SDUI_PAGE ${sduiPageId}`);
|
|
187
|
+
return this.loadSduiPageComponent(component);
|
|
188
|
+
}
|
|
189
|
+
loadApp(apiName) {
|
|
190
|
+
const component = this.findUnique('CUSTOM_APP', (candidate) => candidate['api_name'] === apiName, `CUSTOM_APP ${apiName}`);
|
|
191
|
+
return this.loadAppComponent(component);
|
|
192
|
+
}
|
|
193
|
+
loadComponent(component) {
|
|
194
|
+
switch (component['type']) {
|
|
195
|
+
case 'CUSTOM_CATEGORY':
|
|
196
|
+
return this.loadCategoryComponent(component);
|
|
197
|
+
case 'CUSTOM_OBJECT':
|
|
198
|
+
return this.loadCustomObjectComponent(component);
|
|
199
|
+
case 'CUSTOM_OBJECT_FIELD_SECTION':
|
|
200
|
+
return this.loadFieldSectionComponent(component);
|
|
201
|
+
case 'CUSTOM_OBJECT_FIELD':
|
|
202
|
+
return this.loadFieldComponent(component);
|
|
203
|
+
case 'CUSTOM_OBJECT_LIST_VIEW':
|
|
204
|
+
return this.loadListViewComponent(component);
|
|
205
|
+
case 'CUSTOM_OBJECT_PAGE_LAYOUT':
|
|
206
|
+
return this.loadPageLayoutComponent(component);
|
|
207
|
+
case 'CUSTOM_OBJECT_VALIDATION_RULE':
|
|
208
|
+
return this.loadValidationComponent(component);
|
|
209
|
+
case 'CUSTOM_OBJECT_RECORD_TRIGGERED_FLOW':
|
|
210
|
+
return this.loadRuleComponent(component);
|
|
211
|
+
case 'FUNCTION':
|
|
212
|
+
return this.loadFunctionComponent(component);
|
|
213
|
+
case 'SDUI_PAGE':
|
|
214
|
+
return this.loadSduiPageComponent(component);
|
|
215
|
+
case 'CUSTOM_APP':
|
|
216
|
+
return this.loadAppComponent(component);
|
|
217
|
+
default:
|
|
218
|
+
return this.loadRawComponent(component);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
loadCategoryComponent(component) {
|
|
222
|
+
const cacheKey = this.cacheKey('CUSTOM_CATEGORY', component['api_name']);
|
|
223
|
+
return this.getOrLoad(cacheKey, () => Category._fromExistingComponent(this.getManifestBuilder(), component));
|
|
224
|
+
}
|
|
225
|
+
loadCustomObjectComponent(component) {
|
|
226
|
+
const cacheKey = this.cacheKey('CUSTOM_OBJECT', component['api_name']);
|
|
227
|
+
return this.getOrLoad(cacheKey, () => {
|
|
228
|
+
return CustomObject._fromExistingComponent(this.getManifestBuilder(), component, (categoryApiName) => this.hasComponent('CUSTOM_CATEGORY', (c) => c['api_name'] === categoryApiName) ?
|
|
229
|
+
this.loadCategory(categoryApiName)
|
|
230
|
+
: categoryApiName);
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
loadFieldSectionComponent(component) {
|
|
234
|
+
const cacheKey = this.cacheKey('CUSTOM_OBJECT_FIELD_SECTION', `${component['model_name']}.${component['section_id']}`);
|
|
235
|
+
return this.getOrLoad(cacheKey, () => {
|
|
236
|
+
const customObject = this.loadCustomObject(component['model_name']);
|
|
237
|
+
return CustomObjectFieldSection._fromExistingComponent(customObject, component);
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
loadFieldComponent(component) {
|
|
241
|
+
const customObjectApiName = component['custom_object_api_name'];
|
|
242
|
+
const fieldApiName = component['field_api_name'];
|
|
243
|
+
if (component['is_standard'] === true) {
|
|
244
|
+
this.loadCustomObject(customObjectApiName);
|
|
245
|
+
return this.loadFieldReferenceComponent(component);
|
|
246
|
+
}
|
|
247
|
+
const cacheKey = this.cacheKey('CUSTOM_OBJECT_FIELD', `${customObjectApiName}.${fieldApiName}`);
|
|
248
|
+
return this.getOrLoad(cacheKey, () => {
|
|
249
|
+
const customObject = this.loadCustomObject(customObjectApiName);
|
|
250
|
+
const sectionId = component['section'];
|
|
251
|
+
if (typeof sectionId === 'string') {
|
|
252
|
+
this.loadFieldSectionIfPresent(customObjectApiName, sectionId);
|
|
253
|
+
}
|
|
254
|
+
this.loadFieldRelationshipDependencies(component);
|
|
255
|
+
return Field._fromExistingComponent(customObject, component);
|
|
256
|
+
});
|
|
257
|
+
}
|
|
258
|
+
loadListViewComponent(component) {
|
|
259
|
+
const cacheKey = this.cacheKey('CUSTOM_OBJECT_LIST_VIEW', `${component['object_rql_name']}.${component['view_id']}`);
|
|
260
|
+
return this.getOrLoad(cacheKey, () => {
|
|
261
|
+
const customObjectApiName = component['object_rql_name'];
|
|
262
|
+
const customObject = this.loadCustomObject(customObjectApiName);
|
|
263
|
+
return ListViewDef._fromExistingComponent(customObject, component, (fieldApiName) => this.loadFieldByObjectAndApi(customObjectApiName, fieldApiName));
|
|
264
|
+
});
|
|
265
|
+
}
|
|
266
|
+
loadPageLayoutComponent(component) {
|
|
267
|
+
const cacheKey = this.cacheKey('CUSTOM_OBJECT_PAGE_LAYOUT', component['layout_id'] ?? `${component['object_rql_name']}.${component['api_name']}`);
|
|
268
|
+
return this.getOrLoad(cacheKey, () => {
|
|
269
|
+
const customObjectApiName = component['object_rql_name'];
|
|
270
|
+
const customObject = this.loadCustomObject(customObjectApiName);
|
|
271
|
+
this.loadPageLayoutDependencies(customObjectApiName, component);
|
|
272
|
+
return CustomObjectPageLayout._fromExistingComponent(customObject, component);
|
|
273
|
+
});
|
|
274
|
+
}
|
|
275
|
+
loadValidationComponent(component) {
|
|
276
|
+
const cacheKey = this.cacheKey('CUSTOM_OBJECT_VALIDATION_RULE', `${component['model_rql_name']}.${component['rule_id']}`);
|
|
277
|
+
return this.getOrLoad(cacheKey, () => {
|
|
278
|
+
const customObjectApiName = component['model_rql_name'];
|
|
279
|
+
const customObject = this.loadCustomObject(customObjectApiName);
|
|
280
|
+
return Validation._fromExistingComponent(customObject, component, (fieldApiName) => this.loadFieldByObjectAndApi(customObjectApiName, fieldApiName));
|
|
281
|
+
});
|
|
282
|
+
}
|
|
283
|
+
loadRuleComponent(component) {
|
|
284
|
+
const cacheKey = this.cacheKey('CUSTOM_OBJECT_RECORD_TRIGGERED_FLOW', `${component['model_rql_name']}.${component['flow_id']}`);
|
|
285
|
+
return this.getOrLoad(cacheKey, () => {
|
|
286
|
+
const customObjectApiName = component['model_rql_name'];
|
|
287
|
+
const customObject = this.loadCustomObject(customObjectApiName);
|
|
288
|
+
return Rule._fromExistingComponent(customObject, component, (fieldApiName) => this.loadFieldByObjectAndApi(customObjectApiName, fieldApiName));
|
|
289
|
+
});
|
|
290
|
+
}
|
|
291
|
+
loadFunctionComponent(component) {
|
|
292
|
+
const cacheKey = this.cacheKey('FUNCTION', component['api_name']);
|
|
293
|
+
return this.getOrLoad(cacheKey, () => ManifestFunction._fromExistingComponent(this.getManifestBuilder(), component));
|
|
294
|
+
}
|
|
295
|
+
loadSduiPageComponent(component) {
|
|
296
|
+
const cacheKey = this.cacheKey('SDUI_PAGE', component['sdui_page_id']);
|
|
297
|
+
return this.getOrLoad(cacheKey, () => {
|
|
298
|
+
return SduiPage._fromExistingComponent(this.getManifestBuilder(), component, (functionApiName) => this.hasComponent('FUNCTION', (c) => c['api_name'] === functionApiName) ?
|
|
299
|
+
this.loadFunction(functionApiName)
|
|
300
|
+
: functionApiName);
|
|
301
|
+
});
|
|
302
|
+
}
|
|
303
|
+
loadAppComponent(component) {
|
|
304
|
+
const cacheKey = this.cacheKey('CUSTOM_APP', component['api_name']);
|
|
305
|
+
return this.getOrLoad(cacheKey, () => {
|
|
306
|
+
this.loadAppDependencies(component);
|
|
307
|
+
return App._fromExistingComponent(this.getManifestBuilder(), component);
|
|
308
|
+
});
|
|
309
|
+
}
|
|
310
|
+
loadRawComponent(component) {
|
|
311
|
+
const index = this.componentIndexes.get(component) ?? -1;
|
|
312
|
+
const cacheKey = this.cacheKey('RAW', `${index}:${componentLabel(component)}`);
|
|
313
|
+
return this.getOrLoad(cacheKey, () => {
|
|
314
|
+
const raw = new ExistingRawComponent(component);
|
|
315
|
+
this.getManifestBuilder()._register(raw);
|
|
316
|
+
return raw;
|
|
317
|
+
});
|
|
318
|
+
}
|
|
319
|
+
loadFieldByObjectAndApi(customObjectApiName, fieldApiName) {
|
|
320
|
+
const component = this.findFieldComponent(customObjectApiName, fieldApiName);
|
|
321
|
+
if (component != null) {
|
|
322
|
+
return this.loadFieldComponent(component);
|
|
323
|
+
}
|
|
324
|
+
if (customObjectApiName != null) {
|
|
325
|
+
this.loadCustomObject(customObjectApiName);
|
|
326
|
+
}
|
|
327
|
+
if (fieldApiName.endsWith('__c')) {
|
|
328
|
+
const prefix = customObjectApiName != null ? `${customObjectApiName}.` : '';
|
|
329
|
+
throw new Error(`Could not find CUSTOM_OBJECT_FIELD ${prefix}${fieldApiName}.`);
|
|
330
|
+
}
|
|
331
|
+
return this.loadSyntheticFieldReference(customObjectApiName ?? '', fieldApiName);
|
|
332
|
+
}
|
|
333
|
+
findFieldComponent(customObjectApiName, fieldApiName) {
|
|
334
|
+
const matches = this.ofType('CUSTOM_OBJECT_FIELD').filter((candidate) => candidate['field_api_name'] === fieldApiName &&
|
|
335
|
+
(customObjectApiName == null || candidate['custom_object_api_name'] === customObjectApiName));
|
|
336
|
+
if (matches.length > 1) {
|
|
337
|
+
throw new Error(`Ambiguous CUSTOM_OBJECT_FIELD ${fieldApiName}; pass customObjectApiName to choose one.`);
|
|
338
|
+
}
|
|
339
|
+
return matches[0];
|
|
340
|
+
}
|
|
341
|
+
loadFieldReferenceComponent(component) {
|
|
342
|
+
const cacheKey = this.cacheKey('CUSTOM_OBJECT_FIELD_REF', `${component['custom_object_api_name']}.${component['field_api_name']}`);
|
|
343
|
+
return this.getOrLoad(cacheKey, () => Field._referenceFromExistingComponent(component));
|
|
344
|
+
}
|
|
345
|
+
loadSyntheticFieldReference(customObjectApiName, fieldApiName) {
|
|
346
|
+
const cacheKey = this.cacheKey('CUSTOM_OBJECT_FIELD_REF', `${customObjectApiName}.${fieldApiName}`);
|
|
347
|
+
return this.getOrLoad(cacheKey, () => Field._syntheticReference(customObjectApiName, fieldApiName));
|
|
348
|
+
}
|
|
349
|
+
loadFieldRelationshipDependencies(component) {
|
|
350
|
+
const dataType = component['data_type'] ?? {};
|
|
351
|
+
const targetApiName = dataType['og_model_rql_name'];
|
|
352
|
+
if (typeof targetApiName === 'string' &&
|
|
353
|
+
this.hasComponent('CUSTOM_OBJECT', (c) => c['api_name'] === targetApiName)) {
|
|
354
|
+
this.loadCustomObject(targetApiName);
|
|
355
|
+
}
|
|
356
|
+
const summary = component['derived_aggregated_field'];
|
|
357
|
+
if (summary == null || typeof summary !== 'object')
|
|
358
|
+
return;
|
|
359
|
+
const childModel = summary['child_model_name'];
|
|
360
|
+
if (typeof childModel === 'string' &&
|
|
361
|
+
this.hasComponent('CUSTOM_OBJECT', (c) => c['api_name'] === childModel)) {
|
|
362
|
+
this.loadCustomObject(childModel);
|
|
363
|
+
this.loadSummaryFieldDependency(childModel, summary['field_to_aggregate']);
|
|
364
|
+
this.loadSummaryFieldDependency(childModel, summary['lookup_field_api_name']);
|
|
365
|
+
for (const filter of summary['filters'] ?? []) {
|
|
366
|
+
this.loadSummaryFieldDependency(childModel, filter['field_name']);
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
loadSummaryFieldDependency(childModel, fieldApiName) {
|
|
371
|
+
if (typeof fieldApiName === 'string') {
|
|
372
|
+
this.loadFieldByObjectAndApi(childModel, fieldApiName);
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
loadPageLayoutDependencies(customObjectApiName, component) {
|
|
376
|
+
this.loadHeaderDependencies(customObjectApiName, component['header_edits']);
|
|
377
|
+
this.loadTabDependencies(customObjectApiName, component['tab_edits']);
|
|
378
|
+
}
|
|
379
|
+
loadHeaderDependencies(customObjectApiName, headerEdits) {
|
|
380
|
+
if (headerEdits == null || typeof headerEdits !== 'object')
|
|
381
|
+
return;
|
|
382
|
+
const edits = headerEdits;
|
|
383
|
+
this.loadFieldDependencyIfString(customObjectApiName, edits['newTitleField']);
|
|
384
|
+
this.loadFieldDependencyIfString(customObjectApiName, edits['newDescriptionField']);
|
|
385
|
+
for (const field of edits['newFields'] ?? []) {
|
|
386
|
+
this.loadFieldDependencyIfString(customObjectApiName, field['rqlName']);
|
|
387
|
+
}
|
|
388
|
+
for (const systemEdit of Object.values(edits['systemFieldEdits'] ?? {})) {
|
|
389
|
+
if (systemEdit != null && typeof systemEdit === 'object') {
|
|
390
|
+
this.loadFieldDependencyIfString(customObjectApiName, systemEdit['newRqlField']);
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
loadTabDependencies(customObjectApiName, tabEdits) {
|
|
395
|
+
if (tabEdits == null || typeof tabEdits !== 'object')
|
|
396
|
+
return;
|
|
397
|
+
const edits = tabEdits;
|
|
398
|
+
for (const tab of edits['newTabs'] ?? []) {
|
|
399
|
+
this.loadTabEntryDependencies(customObjectApiName, tab);
|
|
400
|
+
}
|
|
401
|
+
for (const tabEdit of Object.values(edits['systemTabEdits'] ?? {})) {
|
|
402
|
+
if (tabEdit == null || typeof tabEdit !== 'object')
|
|
403
|
+
continue;
|
|
404
|
+
const edit = tabEdit;
|
|
405
|
+
for (const section of edit['newSections'] ?? []) {
|
|
406
|
+
this.loadSectionDependencies(customObjectApiName, section);
|
|
407
|
+
}
|
|
408
|
+
for (const sectionEdit of Object.values(edit['systemSectionEdits'] ?? {})) {
|
|
409
|
+
if (sectionEdit == null || typeof sectionEdit !== 'object')
|
|
410
|
+
continue;
|
|
411
|
+
for (const field of sectionEdit['newFields'] ?? []) {
|
|
412
|
+
this.loadSerializedFieldDependency(customObjectApiName, field);
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
loadTabEntryDependencies(customObjectApiName, tab) {
|
|
418
|
+
if (tab == null || typeof tab !== 'object')
|
|
419
|
+
return;
|
|
420
|
+
if (tab['type'] !== 'tab_with_sections')
|
|
421
|
+
return;
|
|
422
|
+
for (const section of tab['sections'] ?? []) {
|
|
423
|
+
this.loadSectionDependencies(customObjectApiName, section);
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
loadSectionDependencies(customObjectApiName, section) {
|
|
427
|
+
if (section == null || typeof section !== 'object')
|
|
428
|
+
return;
|
|
429
|
+
const sectionRecord = section;
|
|
430
|
+
this.loadFieldSectionIfPresent(customObjectApiName, sectionRecord['key']);
|
|
431
|
+
for (const field of sectionRecord['fields'] ?? []) {
|
|
432
|
+
this.loadSerializedFieldDependency(customObjectApiName, field);
|
|
433
|
+
}
|
|
434
|
+
}
|
|
435
|
+
loadSerializedFieldDependency(customObjectApiName, field) {
|
|
436
|
+
if (typeof field === 'string') {
|
|
437
|
+
this.loadFieldByObjectAndApi(customObjectApiName, field);
|
|
438
|
+
return;
|
|
439
|
+
}
|
|
440
|
+
if (field == null || typeof field !== 'object')
|
|
441
|
+
return;
|
|
442
|
+
const record = field;
|
|
443
|
+
this.loadFieldDependencyIfString(customObjectApiName, record['fieldRqlName'] ?? record['field_rql_name']);
|
|
444
|
+
}
|
|
445
|
+
loadFieldDependencyIfString(customObjectApiName, fieldApiName) {
|
|
446
|
+
if (typeof fieldApiName === 'string' && fieldApiName.length > 0) {
|
|
447
|
+
this.loadFieldByObjectAndApi(customObjectApiName, fieldApiName);
|
|
448
|
+
}
|
|
449
|
+
}
|
|
450
|
+
loadFieldSectionIfPresent(customObjectApiName, sectionId) {
|
|
451
|
+
if (typeof sectionId !== 'string')
|
|
452
|
+
return;
|
|
453
|
+
const component = this.ofType('CUSTOM_OBJECT_FIELD_SECTION').find((candidate) => candidate['model_name'] === customObjectApiName && candidate['section_id'] === sectionId);
|
|
454
|
+
if (component != null) {
|
|
455
|
+
this.loadFieldSectionComponent(component);
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
loadAppDependencies(component) {
|
|
459
|
+
for (const page of component['pages'] ?? []) {
|
|
460
|
+
if (page == null || typeof page !== 'object')
|
|
461
|
+
continue;
|
|
462
|
+
const pageRecord = page;
|
|
463
|
+
if (pageRecord['page_type'] === 'object_page' && typeof pageRecord['object_rql_name'] === 'string') {
|
|
464
|
+
this.loadCustomObject(pageRecord['object_rql_name']);
|
|
465
|
+
}
|
|
466
|
+
if (pageRecord['page_type'] === 'sdui_page' && typeof pageRecord['sdui_page_id'] === 'string') {
|
|
467
|
+
this.loadSduiPage(pageRecord['sdui_page_id']);
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
}
|
|
471
|
+
ofType(type) {
|
|
472
|
+
return this.componentsByType.get(type) ?? [];
|
|
473
|
+
}
|
|
474
|
+
hasComponent(type, predicate) {
|
|
475
|
+
return this.ofType(type).some(predicate);
|
|
476
|
+
}
|
|
477
|
+
findUnique(type, predicate, label) {
|
|
478
|
+
const matches = this.ofType(type).filter(predicate);
|
|
479
|
+
if (matches.length === 0)
|
|
480
|
+
throw new Error(`Could not find ${label}.`);
|
|
481
|
+
if (matches.length > 1)
|
|
482
|
+
throw new Error(`Ambiguous ${label}; pass a more specific identifier.`);
|
|
483
|
+
return matches[0];
|
|
484
|
+
}
|
|
485
|
+
cacheKey(type, id) {
|
|
486
|
+
return `${type}:${id}`;
|
|
487
|
+
}
|
|
488
|
+
getOrLoad(cacheKey, load) {
|
|
489
|
+
const cached = this.cache.get(cacheKey);
|
|
490
|
+
if (cached != null)
|
|
491
|
+
return cached;
|
|
492
|
+
if (this.loading.has(cacheKey)) {
|
|
493
|
+
throw new Error(`Circular dependency while loading ${cacheKey}.`);
|
|
494
|
+
}
|
|
495
|
+
this.loading.add(cacheKey);
|
|
496
|
+
try {
|
|
497
|
+
const value = load();
|
|
498
|
+
this.cache.set(cacheKey, value);
|
|
499
|
+
return value;
|
|
500
|
+
}
|
|
501
|
+
finally {
|
|
502
|
+
this.loading.delete(cacheKey);
|
|
503
|
+
}
|
|
504
|
+
}
|
|
505
|
+
}
|
|
506
|
+
//# sourceMappingURL=existing-manifest-context.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"existing-manifest-context.mjs","sourceRoot":"","sources":["../../src/lib/manifest/existing-manifest-context.ts"],"names":[],"mappings":"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"}
|
package/lib/manifest/field.d.mts
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import { type FieldType, type FormulaFieldType, type SummaryAggregation, type SummaryFilterOperator } from "./_helpers.mjs";
|
|
2
2
|
import type { CustomObject } from "./custom-object.mjs";
|
|
3
3
|
import type { CustomObjectFieldSection } from "./custom-object-field-section.mjs";
|
|
4
|
+
import { type ExistingManifestContextOptions } from "./existing-manifest-context.mjs";
|
|
5
|
+
import type { ManifestComponentDeletion } from "./manifest-builder.mjs";
|
|
6
|
+
export interface CustomObjectFieldDeletionIdentifier {
|
|
7
|
+
customObjectApiName: string;
|
|
8
|
+
fieldApiName: string;
|
|
9
|
+
}
|
|
4
10
|
/**
|
|
5
11
|
* A filter condition applied to a {@link SummaryField}.
|
|
6
12
|
*
|
|
@@ -71,6 +77,9 @@ export interface FieldProps {
|
|
|
71
77
|
/** Internal — set by `SummaryField`; drives the `derived_aggregated_field` wire field. */
|
|
72
78
|
summarySpec?: SummarySpec | undefined;
|
|
73
79
|
}
|
|
80
|
+
export interface FieldLoadFromExistingOptions extends ExistingManifestContextOptions {
|
|
81
|
+
customObjectApiName?: string;
|
|
82
|
+
}
|
|
74
83
|
/**
|
|
75
84
|
* Base class for every custom-object field.
|
|
76
85
|
*
|
|
@@ -96,6 +105,8 @@ export interface FieldProps {
|
|
|
96
105
|
* @see {@link TextField}, {@link NumberField}, {@link LookupField}, {@link SummaryField}
|
|
97
106
|
*/
|
|
98
107
|
export declare class Field {
|
|
108
|
+
static readonly componentType: "CUSTOM_OBJECT_FIELD";
|
|
109
|
+
static toDeletionIdentifier(identifier: CustomObjectFieldDeletionIdentifier): ManifestComponentDeletion;
|
|
99
110
|
private readonly _fieldApiName;
|
|
100
111
|
private readonly _fieldDisplayName;
|
|
101
112
|
private readonly _customObjectApiName;
|
|
@@ -116,6 +127,19 @@ export declare class Field {
|
|
|
116
127
|
* @throws {Error} If `props.apiName` does not end with `__c`.
|
|
117
128
|
*/
|
|
118
129
|
constructor(customObject: CustomObject, props: FieldProps);
|
|
130
|
+
/**
|
|
131
|
+
* Loads this field from the active existing-manifest JSON context.
|
|
132
|
+
*
|
|
133
|
+
* For fields whose api_name is not globally unique, pass `customObjectApiName`
|
|
134
|
+
* or use a qualified id like `'object__c.field__c'`.
|
|
135
|
+
*/
|
|
136
|
+
static loadFromExisting(apiName: string, options?: FieldLoadFromExistingOptions): Field;
|
|
137
|
+
/** @internal Hydrates a custom object field from existing manifest wire JSON. */
|
|
138
|
+
static _fromExistingComponent(customObject: CustomObject, component: Record<string, any>): Field;
|
|
139
|
+
/** @internal Creates a non-registered reference for standard or external fields. */
|
|
140
|
+
static _referenceFromExistingComponent(component: Record<string, any>): Field;
|
|
141
|
+
/** @internal Creates a non-registered reference for a known wire field name. */
|
|
142
|
+
static _syntheticReference(customObjectApiName: string, fieldApiName: string): Field;
|
|
119
143
|
/** Returns the api_name of this field (e.g. `'first_name__c'`). */
|
|
120
144
|
getApiName(): string;
|
|
121
145
|
/** Returns the display name of this field. */
|
|
@@ -271,7 +295,12 @@ export interface SelectFieldProps extends CommonFieldProps {
|
|
|
271
295
|
/** Whether a value is required on save. Optional. */
|
|
272
296
|
required?: boolean;
|
|
273
297
|
}
|
|
274
|
-
/**
|
|
298
|
+
/**
|
|
299
|
+
* Multi-select dropdown field. Renders as a dropdown that allows multiple
|
|
300
|
+
* options to be selected at once.
|
|
301
|
+
*
|
|
302
|
+
* Use {@link RadioField} instead when only one option should be selectable.
|
|
303
|
+
*/
|
|
275
304
|
export declare class SelectField extends Field {
|
|
276
305
|
constructor(customObject: CustomObject, props: SelectFieldProps);
|
|
277
306
|
}
|
|
@@ -286,7 +315,11 @@ export interface RadioFieldProps extends CommonFieldProps {
|
|
|
286
315
|
/** Whether a value is required on save. Optional. */
|
|
287
316
|
required?: boolean;
|
|
288
317
|
}
|
|
289
|
-
/**
|
|
318
|
+
/**
|
|
319
|
+
* Single-select radio button group field. Exactly one option can be selected.
|
|
320
|
+
*
|
|
321
|
+
* Use {@link SelectField} instead when multiple options should be selectable.
|
|
322
|
+
*/
|
|
290
323
|
export declare class RadioField extends Field {
|
|
291
324
|
constructor(customObject: CustomObject, props: RadioFieldProps);
|
|
292
325
|
}
|
|
@@ -341,6 +374,15 @@ export interface LookupFieldProps extends CommonFieldProps {
|
|
|
341
374
|
*
|
|
342
375
|
* Use {@link ParentChildField} instead when the relationship should create a
|
|
343
376
|
* parent-child hierarchy with rollup support.
|
|
377
|
+
*
|
|
378
|
+
* @remarks
|
|
379
|
+
* **For "the employee responsible for this record" semantics, consider the built-in
|
|
380
|
+
* `owner_role` standard field instead of a new `LookupField` to `'role'`.** Every
|
|
381
|
+
* `CustomObject` ships with `owner_role` (an Employee reference) plus `created_by`
|
|
382
|
+
* and `last_modified_by`. `owner_role` drives Rippling's record-level permissions,
|
|
383
|
+
* so a parallel custom employee field can fragment ownership and complicate the
|
|
384
|
+
* permission story. Consider a new `LookupField` to `'role'` when you need a
|
|
385
|
+
* *second*, non-owner employee reference (e.g. an "approver", a "manager on record").
|
|
344
386
|
*/
|
|
345
387
|
export declare class LookupField extends Field {
|
|
346
388
|
constructor(customObject: CustomObject, props: LookupFieldProps);
|