@rippling/rippling-sdk 0.2.0-alpha.55 → 0.2.0-alpha.56

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 (61) hide show
  1. package/examples/manifest/custom-object-creation-workflow/custom-object-creation-workflow.ts +0 -10
  2. package/examples/manifest/dental-practice-management/dental-practice-management.ts +18 -28
  3. package/examples/manifest/gym-membership-management/gym-membership-management.ts +18 -31
  4. package/examples/manifest/simple-todo-app/simple-todo-app.ts +4 -15
  5. package/lib/manifest/custom-object-page-layout.d.mts +10 -8
  6. package/lib/manifest/custom-object-page-layout.d.mts.map +1 -1
  7. package/lib/manifest/custom-object-page-layout.d.ts +10 -8
  8. package/lib/manifest/custom-object-page-layout.d.ts.map +1 -1
  9. package/lib/manifest/custom-object-page-layout.js +47 -23
  10. package/lib/manifest/custom-object-page-layout.js.map +1 -1
  11. package/lib/manifest/custom-object-page-layout.mjs +47 -23
  12. package/lib/manifest/custom-object-page-layout.mjs.map +1 -1
  13. package/lib/manifest/custom-object.d.mts +120 -0
  14. package/lib/manifest/custom-object.d.mts.map +1 -1
  15. package/lib/manifest/custom-object.d.ts +120 -0
  16. package/lib/manifest/custom-object.d.ts.map +1 -1
  17. package/lib/manifest/custom-object.js +62 -0
  18. package/lib/manifest/custom-object.js.map +1 -1
  19. package/lib/manifest/custom-object.mjs +62 -0
  20. package/lib/manifest/custom-object.mjs.map +1 -1
  21. package/lib/manifest/existing-manifest-context.d.mts.map +1 -1
  22. package/lib/manifest/existing-manifest-context.d.ts.map +1 -1
  23. package/lib/manifest/existing-manifest-context.js +3 -1
  24. package/lib/manifest/existing-manifest-context.js.map +1 -1
  25. package/lib/manifest/existing-manifest-context.mjs +3 -1
  26. package/lib/manifest/existing-manifest-context.mjs.map +1 -1
  27. package/lib/manifest/field.d.mts +9 -4
  28. package/lib/manifest/field.d.mts.map +1 -1
  29. package/lib/manifest/field.d.ts +9 -4
  30. package/lib/manifest/field.d.ts.map +1 -1
  31. package/lib/manifest/field.js +14 -4
  32. package/lib/manifest/field.js.map +1 -1
  33. package/lib/manifest/field.mjs +14 -4
  34. package/lib/manifest/field.mjs.map +1 -1
  35. package/lib/manifest/index.d.mts +1 -1
  36. package/lib/manifest/index.d.mts.map +1 -1
  37. package/lib/manifest/index.d.ts +1 -1
  38. package/lib/manifest/index.d.ts.map +1 -1
  39. package/lib/manifest/index.js.map +1 -1
  40. package/lib/manifest/index.mjs +1 -1
  41. package/lib/manifest/index.mjs.map +1 -1
  42. package/lib/manifest/list-view.d.mts +6 -6
  43. package/lib/manifest/list-view.d.mts.map +1 -1
  44. package/lib/manifest/list-view.d.ts +6 -6
  45. package/lib/manifest/list-view.d.ts.map +1 -1
  46. package/lib/manifest/list-view.js +4 -4
  47. package/lib/manifest/list-view.js.map +1 -1
  48. package/lib/manifest/list-view.mjs +4 -4
  49. package/lib/manifest/list-view.mjs.map +1 -1
  50. package/package.json +1 -1
  51. package/src/lib/manifest/custom-object-page-layout.ts +60 -30
  52. package/src/lib/manifest/custom-object.ts +93 -9
  53. package/src/lib/manifest/existing-manifest-context.ts +8 -2
  54. package/src/lib/manifest/field.ts +15 -4
  55. package/src/lib/manifest/index.ts +10 -1
  56. package/src/lib/manifest/list-view.ts +8 -8
  57. package/src/version.ts +1 -1
  58. package/version.d.mts +1 -1
  59. package/version.d.ts +1 -1
  60. package/version.js +1 -1
  61. package/version.mjs +1 -1
@@ -334,9 +334,15 @@ export class ExistingManifestContext {
334
334
  );
335
335
  const cacheKey = this.cacheKey('CUSTOM_OBJECT', customObjectApiName);
336
336
  return this.getOrLoad(cacheKey, () => {
337
- return CustomObject._fromExistingComponent(this.getManifestBuilder(), component, (categoryApiName) =>
338
- this.loadRequiredCategoryForCustomObject(categoryApiName, customObjectApiName),
337
+ const customObject = CustomObject._fromExistingComponent(
338
+ this.getManifestBuilder(),
339
+ component,
340
+ (categoryApiName) => this.loadRequiredCategoryForCustomObject(categoryApiName, customObjectApiName),
339
341
  );
342
+ customObject._setStandardFieldResolver((fieldApiName) =>
343
+ this.loadFieldByObjectAndApi(customObjectApiName, fieldApiName),
344
+ );
345
+ return customObject;
340
346
  });
341
347
  }
342
348
 
@@ -184,6 +184,10 @@ class ExistingFieldReference {
184
184
  return this.component['derived_aggregated_field'] != null;
185
185
  }
186
186
 
187
+ isStandard(): boolean {
188
+ return this.component['is_standard'] === true;
189
+ }
190
+
187
191
  getSectionId(): string | null {
188
192
  return this._section;
189
193
  }
@@ -345,7 +349,10 @@ export class Field {
345
349
  return new ExistingFieldReference(customObjectApiName, cloneJson(component)) as unknown as Field;
346
350
  }
347
351
 
348
- /** @internal Creates a non-registered reference for a known wire field name. */
352
+ /**
353
+ * @internal Creates a non-registered reference for a known wire field name.
354
+ * @deprecated Agent-facing code should use CustomObject.standardFields or CustomObject.standardField(...).
355
+ */
349
356
  static _syntheticReference(customObjectApiName: string, fieldApiName: string): Field {
350
357
  return new ExistingFieldReference(customObjectApiName, {
351
358
  type: 'CUSTOM_OBJECT_FIELD',
@@ -396,6 +403,10 @@ export class Field {
396
403
  isSummary(): boolean {
397
404
  return this._summarySpec != null;
398
405
  }
406
+ /** Returns `true` if this is a platform-managed standard field reference. */
407
+ isStandard(): boolean {
408
+ return false;
409
+ }
399
410
  /** Returns the field section id assigned to this field, if any. */
400
411
  getSectionId(): string | null {
401
412
  return this._section;
@@ -861,9 +872,9 @@ export interface FormulaFieldProps extends CommonFieldProps {
861
872
  *
862
873
  * @example
863
874
  * ```ts
864
- * const memberDisplayName = new FormulaField(memberObj, {
865
- * apiName: 'member_display_name__c',
866
- * displayName: 'Display name',
875
+ * const memberLabel = new FormulaField(memberObj, {
876
+ * apiName: 'member_label__c',
877
+ * displayName: 'Member label',
867
878
  * fieldType: 'TEXT',
868
879
  * maxLength: 200,
869
880
  * formula: "CONCATENATE(TRIM(first_name__c), ' ', TRIM(last_name__c))",
@@ -20,7 +20,16 @@ export { App, type AppIcon, type AppPage, type AppProps } from './app';
20
20
 
21
21
  export { Category, type CategoryProps } from './category';
22
22
 
23
- export { CustomObject, type CustomObjectProps, type IconConfig } from './custom-object';
23
+ export {
24
+ CustomObject,
25
+ type CustomObjectFieldInput,
26
+ type CustomObjectProps,
27
+ type CustomObjectStandardFieldApiName,
28
+ type CustomObjectStandardFieldIdentifier,
29
+ type CustomObjectStandardFieldKey,
30
+ type CustomObjectStandardFields,
31
+ type IconConfig,
32
+ } from './custom-object';
24
33
 
25
34
  export {
26
35
  CustomObjectFieldSection,
@@ -1,5 +1,5 @@
1
1
  import { generateId, type ObjectScope, type SortOrder } from './_helpers';
2
- import type { CustomObject } from './custom-object';
2
+ import type { CustomObject, CustomObjectFieldInput } from './custom-object';
3
3
  import { getExistingManifestContext, type ExistingManifestContextOptions } from './existing-manifest-context';
4
4
  import type { Field } from './field';
5
5
  import type { ManifestComponentDeletion } from './manifest-builder';
@@ -36,11 +36,11 @@ export interface ListViewDefProps {
36
36
  */
37
37
  name: string;
38
38
  /**
39
- * Columns to display, as live {@link Field} references. At least one field is required.
39
+ * Columns to display, as live {@link Field} references or standard field names. At least one field is required.
40
40
  *
41
41
  * Required.
42
42
  */
43
- fields: Field[];
43
+ fields: CustomObjectFieldInput[];
44
44
  /**
45
45
  * Whether this view is visible to all users (`true`) or only the record owner (`false`).
46
46
  *
@@ -59,7 +59,7 @@ export interface ListViewDefProps {
59
59
  *
60
60
  * Optional.
61
61
  */
62
- orderBy?: Field;
62
+ orderBy?: CustomObjectFieldInput;
63
63
  /**
64
64
  * Sort direction. One of `'ASC'` | `'DESC'`. Requires `orderBy` to be set.
65
65
  *
@@ -113,8 +113,8 @@ export interface ListViewDefLoadFromExistingOptions extends ExistingManifestCont
113
113
  * viewId: 'view_gym_all_members',
114
114
  * name: 'All members',
115
115
  * description: 'Directory with membership status',
116
- * fields: [memberDisplayName, memberEmail, memberPhone, memberStatusField, memberJoinDate],
117
- * orderBy: memberLastName,
116
+ * fields: ['name', memberEmail, memberPhone, memberStatusField, memberJoinDate],
117
+ * orderBy: 'name',
118
118
  * sortOrder: 'ASC',
119
119
  * isPublic: true,
120
120
  * objectScope: 'all',
@@ -172,9 +172,9 @@ export class ListViewDef {
172
172
  this._viewId = props.viewId ?? generateId('view');
173
173
  this._customObjectApiName = customObject.getApiName();
174
174
  this._name = props.name;
175
- this._fields = [...props.fields];
175
+ this._fields = props.fields.map((field) => customObject._resolveField(field));
176
176
  this._isPublic = props.isPublic;
177
- this._orderBy = props.orderBy;
177
+ this._orderBy = props.orderBy == null ? undefined : customObject._resolveField(props.orderBy);
178
178
  this._sortOrder = props.sortOrder;
179
179
  this._objectScope = props.objectScope ?? 'all';
180
180
  this._description = props.description;
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const VERSION = '0.2.0-alpha.55'; // x-release-please-version
1
+ export const VERSION = '0.2.0-alpha.56'; // x-release-please-version
package/version.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.2.0-alpha.55";
1
+ export declare const VERSION = "0.2.0-alpha.56";
2
2
  //# sourceMappingURL=version.d.mts.map
package/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.2.0-alpha.55";
1
+ export declare const VERSION = "0.2.0-alpha.56";
2
2
  //# sourceMappingURL=version.d.ts.map
package/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VERSION = void 0;
4
- exports.VERSION = '0.2.0-alpha.55'; // x-release-please-version
4
+ exports.VERSION = '0.2.0-alpha.56'; // x-release-please-version
5
5
  //# sourceMappingURL=version.js.map
package/version.mjs CHANGED
@@ -1,2 +1,2 @@
1
- export const VERSION = '0.2.0-alpha.55'; // x-release-please-version
1
+ export const VERSION = '0.2.0-alpha.56'; // x-release-please-version
2
2
  //# sourceMappingURL=version.mjs.map