@rippling/rippling-sdk 0.2.0-alpha.32 → 0.2.0-alpha.34
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/client.d.mts +8 -2
- package/client.d.mts.map +1 -1
- package/client.d.ts +8 -2
- package/client.d.ts.map +1 -1
- package/client.js +17 -0
- package/client.js.map +1 -1
- package/client.mjs +17 -0
- package/client.mjs.map +1 -1
- package/internal/types.d.mts +6 -6
- package/internal/types.d.mts.map +1 -1
- package/internal/types.d.ts +6 -6
- package/internal/types.d.ts.map +1 -1
- package/lib/manifest/_helpers.d.mts +91 -0
- package/lib/manifest/_helpers.d.mts.map +1 -0
- package/lib/manifest/_helpers.d.ts +91 -0
- package/lib/manifest/_helpers.d.ts.map +1 -0
- package/lib/manifest/_helpers.js +65 -0
- package/lib/manifest/_helpers.js.map +1 -0
- package/lib/manifest/_helpers.mjs +61 -0
- package/lib/manifest/_helpers.mjs.map +1 -0
- package/lib/manifest/app.d.mts +45 -0
- package/lib/manifest/app.d.mts.map +1 -0
- package/lib/manifest/app.d.ts +45 -0
- package/lib/manifest/app.d.ts.map +1 -0
- package/lib/manifest/app.js +74 -0
- package/lib/manifest/app.js.map +1 -0
- package/lib/manifest/app.mjs +70 -0
- package/lib/manifest/app.mjs.map +1 -0
- package/lib/manifest/category.d.mts +23 -0
- package/lib/manifest/category.d.mts.map +1 -0
- package/lib/manifest/category.d.ts +23 -0
- package/lib/manifest/category.d.ts.map +1 -0
- package/lib/manifest/category.js +37 -0
- package/lib/manifest/category.js.map +1 -0
- package/lib/manifest/category.mjs +33 -0
- package/lib/manifest/category.mjs.map +1 -0
- package/lib/manifest/custom-object-field-section.d.mts +21 -0
- package/lib/manifest/custom-object-field-section.d.mts.map +1 -0
- package/lib/manifest/custom-object-field-section.d.ts +21 -0
- package/lib/manifest/custom-object-field-section.d.ts.map +1 -0
- package/lib/manifest/custom-object-field-section.js +42 -0
- package/lib/manifest/custom-object-field-section.js.map +1 -0
- package/lib/manifest/custom-object-field-section.mjs +38 -0
- package/lib/manifest/custom-object-field-section.mjs.map +1 -0
- package/lib/manifest/custom-object-page-layout.d.mts +158 -0
- package/lib/manifest/custom-object-page-layout.d.mts.map +1 -0
- package/lib/manifest/custom-object-page-layout.d.ts +158 -0
- package/lib/manifest/custom-object-page-layout.d.ts.map +1 -0
- package/lib/manifest/custom-object-page-layout.js +112 -0
- package/lib/manifest/custom-object-page-layout.js.map +1 -0
- package/lib/manifest/custom-object-page-layout.mjs +108 -0
- package/lib/manifest/custom-object-page-layout.mjs.map +1 -0
- package/lib/manifest/custom-object.d.mts +52 -0
- package/lib/manifest/custom-object.d.mts.map +1 -0
- package/lib/manifest/custom-object.d.ts +52 -0
- package/lib/manifest/custom-object.d.ts.map +1 -0
- package/lib/manifest/custom-object.js +219 -0
- package/lib/manifest/custom-object.js.map +1 -0
- package/lib/manifest/custom-object.mjs +215 -0
- package/lib/manifest/custom-object.mjs.map +1 -0
- package/lib/manifest/field.d.mts +276 -0
- package/lib/manifest/field.d.mts.map +1 -0
- package/lib/manifest/field.d.ts +276 -0
- package/lib/manifest/field.d.ts.map +1 -0
- package/lib/manifest/field.js +418 -0
- package/lib/manifest/field.js.map +1 -0
- package/lib/manifest/field.mjs +395 -0
- package/lib/manifest/field.mjs.map +1 -0
- package/lib/manifest/index.d.mts +15 -0
- package/lib/manifest/index.d.mts.map +1 -0
- package/lib/manifest/index.d.ts +15 -0
- package/lib/manifest/index.d.ts.map +1 -0
- package/lib/manifest/index.js +53 -0
- package/lib/manifest/index.js.map +1 -0
- package/lib/manifest/index.mjs +18 -0
- package/lib/manifest/index.mjs.map +1 -0
- package/lib/manifest/list-view.d.mts +47 -0
- package/lib/manifest/list-view.d.mts.map +1 -0
- package/lib/manifest/list-view.d.ts +47 -0
- package/lib/manifest/list-view.d.ts.map +1 -0
- package/lib/manifest/list-view.js +73 -0
- package/lib/manifest/list-view.js.map +1 -0
- package/lib/manifest/list-view.mjs +69 -0
- package/lib/manifest/list-view.mjs.map +1 -0
- package/lib/manifest/manifest-builder.d.mts +44 -0
- package/lib/manifest/manifest-builder.d.mts.map +1 -0
- package/lib/manifest/manifest-builder.d.ts +44 -0
- package/lib/manifest/manifest-builder.d.ts.map +1 -0
- package/lib/manifest/manifest-builder.js +69 -0
- package/lib/manifest/manifest-builder.js.map +1 -0
- package/lib/manifest/manifest-builder.mjs +65 -0
- package/lib/manifest/manifest-builder.mjs.map +1 -0
- package/lib/manifest/manifest-function.d.mts +39 -0
- package/lib/manifest/manifest-function.d.mts.map +1 -0
- package/lib/manifest/manifest-function.d.ts +39 -0
- package/lib/manifest/manifest-function.d.ts.map +1 -0
- package/lib/manifest/manifest-function.js +56 -0
- package/lib/manifest/manifest-function.js.map +1 -0
- package/lib/manifest/manifest-function.mjs +52 -0
- package/lib/manifest/manifest-function.mjs.map +1 -0
- package/lib/manifest/rule.d.mts +50 -0
- package/lib/manifest/rule.d.mts.map +1 -0
- package/lib/manifest/rule.d.ts +50 -0
- package/lib/manifest/rule.d.ts.map +1 -0
- package/lib/manifest/rule.js +84 -0
- package/lib/manifest/rule.js.map +1 -0
- package/lib/manifest/rule.mjs +80 -0
- package/lib/manifest/rule.mjs.map +1 -0
- package/lib/manifest/sdui-page.d.mts +33 -0
- package/lib/manifest/sdui-page.d.mts.map +1 -0
- package/lib/manifest/sdui-page.d.ts +33 -0
- package/lib/manifest/sdui-page.d.ts.map +1 -0
- package/lib/manifest/sdui-page.js +52 -0
- package/lib/manifest/sdui-page.js.map +1 -0
- package/lib/manifest/sdui-page.mjs +48 -0
- package/lib/manifest/sdui-page.mjs.map +1 -0
- package/lib/manifest/validation.d.mts +41 -0
- package/lib/manifest/validation.d.mts.map +1 -0
- package/lib/manifest/validation.d.ts +41 -0
- package/lib/manifest/validation.d.ts.map +1 -0
- package/lib/manifest/validation.js +57 -0
- package/lib/manifest/validation.js.map +1 -0
- package/lib/manifest/validation.mjs +53 -0
- package/lib/manifest/validation.mjs.map +1 -0
- package/package.json +11 -1
- package/resources/draft-hires.d.mts +22 -0
- package/resources/draft-hires.d.mts.map +1 -1
- package/resources/draft-hires.d.ts +22 -0
- package/resources/draft-hires.d.ts.map +1 -1
- package/resources/earnings-inputs.d.mts +104 -1
- package/resources/earnings-inputs.d.mts.map +1 -1
- package/resources/earnings-inputs.d.ts +104 -1
- package/resources/earnings-inputs.d.ts.map +1 -1
- package/resources/earnings-inputs.js +17 -0
- package/resources/earnings-inputs.js.map +1 -1
- package/resources/earnings-inputs.mjs +17 -0
- package/resources/earnings-inputs.mjs.map +1 -1
- package/resources/files.d.mts +149 -0
- package/resources/files.d.mts.map +1 -0
- package/resources/files.d.ts +149 -0
- package/resources/files.d.ts.map +1 -0
- package/resources/files.js +25 -0
- package/resources/files.js.map +1 -0
- package/resources/files.mjs +21 -0
- package/resources/files.mjs.map +1 -0
- package/resources/index.d.mts +2 -1
- package/resources/index.d.mts.map +1 -1
- package/resources/index.d.ts +2 -1
- package/resources/index.d.ts.map +1 -1
- package/resources/index.js +4 -2
- package/resources/index.js.map +1 -1
- package/resources/index.mjs +1 -0
- package/resources/index.mjs.map +1 -1
- package/resources/object-categories.d.mts +1 -1
- package/resources/object-categories.d.ts +1 -1
- package/resources/object-categories.js +1 -1
- package/resources/object-categories.mjs +1 -1
- package/resources/report-runs.d.mts +11 -11
- package/resources/report-runs.d.ts +11 -11
- package/resources/workflow-action-executions.d.mts +17 -2
- package/resources/workflow-action-executions.d.mts.map +1 -1
- package/resources/workflow-action-executions.d.ts +17 -2
- package/resources/workflow-action-executions.d.ts.map +1 -1
- package/src/client.ts +29 -0
- package/src/internal/types.ts +6 -8
- package/src/lib/manifest/_helpers.ts +164 -0
- package/src/lib/manifest/app.ts +108 -0
- package/src/lib/manifest/category.ts +51 -0
- package/src/lib/manifest/custom-object-field-section.ts +54 -0
- package/src/lib/manifest/custom-object-page-layout.ts +292 -0
- package/src/lib/manifest/custom-object.ts +269 -0
- package/src/lib/manifest/field.ts +632 -0
- package/src/lib/manifest/index.ts +114 -0
- package/src/lib/manifest/list-view.ts +103 -0
- package/src/lib/manifest/manifest-builder.ts +97 -0
- package/src/lib/manifest/manifest-function.ts +81 -0
- package/src/lib/manifest/rule.ts +125 -0
- package/src/lib/manifest/sdui-page.ts +72 -0
- package/src/lib/manifest/validation.ts +87 -0
- package/src/resources/draft-hires.ts +26 -0
- package/src/resources/earnings-inputs.ts +140 -0
- package/src/resources/files.ts +186 -0
- package/src/resources/index.ts +3 -0
- package/src/resources/object-categories.ts +1 -1
- package/src/resources/report-runs.ts +32 -32
- package/src/resources/workflow-action-executions.ts +22 -1
- 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,158 @@
|
|
|
1
|
+
import type { CustomObject } from "./custom-object.js";
|
|
2
|
+
import type { Field } from "./field.js";
|
|
3
|
+
/** Edit to a built-in (system) header field. */
|
|
4
|
+
export interface SystemHeaderFieldEdit {
|
|
5
|
+
newRqlField?: string;
|
|
6
|
+
deleted?: boolean;
|
|
7
|
+
}
|
|
8
|
+
/** Custom header field added via newFields. `key` is required + non-empty. */
|
|
9
|
+
export interface NewHeaderField {
|
|
10
|
+
rqlName: string;
|
|
11
|
+
key: string;
|
|
12
|
+
canBeDeleted?: boolean;
|
|
13
|
+
canBeChanged?: boolean;
|
|
14
|
+
canBeMoved?: boolean;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Strict shape for header_edits. Only the keys listed here are accepted by
|
|
18
|
+
* HeaderEditsDTO — anything else is dropped on the wire. Pass `{}` for an
|
|
19
|
+
* empty header.
|
|
20
|
+
*/
|
|
21
|
+
export interface HeaderEdits {
|
|
22
|
+
newTitleField?: string | null;
|
|
23
|
+
titleFieldDeleted?: boolean;
|
|
24
|
+
newDescriptionField?: string | null;
|
|
25
|
+
descriptionFieldDeleted?: boolean;
|
|
26
|
+
/** Map of system field key → edit. */
|
|
27
|
+
systemFieldEdits?: Record<string, SystemHeaderFieldEdit>;
|
|
28
|
+
newFields?: NewHeaderField[];
|
|
29
|
+
/** Sort order of header field `key` values (custom + system). */
|
|
30
|
+
headerFieldsOrder?: string[];
|
|
31
|
+
buttons?: string[];
|
|
32
|
+
}
|
|
33
|
+
/** SectionFieldDTO — one field inside a fields_section. */
|
|
34
|
+
export interface SectionField {
|
|
35
|
+
fieldRqlName: string;
|
|
36
|
+
hidden?: boolean;
|
|
37
|
+
editable?: boolean;
|
|
38
|
+
movementOption?: 'tab' | 'free';
|
|
39
|
+
}
|
|
40
|
+
/** FieldsSectionDTO — standard field grid section. */
|
|
41
|
+
export interface FieldsSection {
|
|
42
|
+
type: 'fields_section';
|
|
43
|
+
key: string;
|
|
44
|
+
name: string;
|
|
45
|
+
fields: SectionField[];
|
|
46
|
+
}
|
|
47
|
+
/** Only `fields_section` is modeled today (most common). Add other section
|
|
48
|
+
* types (related_object_section, custom_section, …) explicitly as needed. */
|
|
49
|
+
export type PageLayoutSection = FieldsSection;
|
|
50
|
+
/** PageLayoutTabWithSectionsDTO. */
|
|
51
|
+
export interface TabWithSections {
|
|
52
|
+
type: 'tab_with_sections';
|
|
53
|
+
key: string;
|
|
54
|
+
name: string;
|
|
55
|
+
sections: PageLayoutSection[];
|
|
56
|
+
}
|
|
57
|
+
/** CustomTabDTO — host a custom component as a tab. */
|
|
58
|
+
export interface CustomTab {
|
|
59
|
+
type: 'custom_tab';
|
|
60
|
+
key: string;
|
|
61
|
+
name: string;
|
|
62
|
+
componentKey: string;
|
|
63
|
+
}
|
|
64
|
+
export type PageLayoutTab = TabWithSections | CustomTab;
|
|
65
|
+
/** Layout of fields inside a fields_section. */
|
|
66
|
+
export type SectionFieldsLayout = 'one_column' | 'two_column' | 'three_column' | 'responsive';
|
|
67
|
+
/** SystemSectionEditDTO — edits to a built-in section inside a system tab. */
|
|
68
|
+
export interface SystemSectionEdit {
|
|
69
|
+
newName?: string;
|
|
70
|
+
deleted?: boolean;
|
|
71
|
+
newLayout?: SectionFieldsLayout;
|
|
72
|
+
newFields?: SectionField[];
|
|
73
|
+
newHideName?: boolean;
|
|
74
|
+
}
|
|
75
|
+
/** SystemTabEditDTO — edits to a built-in tab (rename, delete, add sections, …). */
|
|
76
|
+
export interface SystemTabEdit {
|
|
77
|
+
newName?: string;
|
|
78
|
+
deleted?: boolean;
|
|
79
|
+
newSections?: PageLayoutSection[];
|
|
80
|
+
systemSectionEdits?: Record<string, SystemSectionEdit>;
|
|
81
|
+
sectionsOrder?: string[];
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Strict shape for tab_edits. Only TabEditsDTO keys allowed.
|
|
85
|
+
*
|
|
86
|
+
* All fields are optional to match `TabEditsDTO`'s `default_factory` (empty
|
|
87
|
+
* list / empty dict). An omitted `tabEdits` defaults to `{}` in the
|
|
88
|
+
* constructor; partial objects rely on backend per-field defaults.
|
|
89
|
+
*
|
|
90
|
+
* - newTabs: tabs to create (each needs a `type` discriminator)
|
|
91
|
+
* - systemTabEdits: edits keyed by built-in tab key
|
|
92
|
+
* - tabsOrder: ordered list of tab `key` values (new + system)
|
|
93
|
+
* - newTabLayout: optional orientation
|
|
94
|
+
*/
|
|
95
|
+
export interface TabEdits {
|
|
96
|
+
newTabs?: PageLayoutTab[];
|
|
97
|
+
systemTabEdits?: Record<string, SystemTabEdit>;
|
|
98
|
+
tabsOrder?: string[];
|
|
99
|
+
newTabLayout?: 'vertical' | 'horizontal';
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* VisibilityConditionDTO. Both fields are required on the Python type — pass
|
|
103
|
+
* empty string / empty object if you genuinely have no formula or AST.
|
|
104
|
+
*/
|
|
105
|
+
export interface VisibilityCondition {
|
|
106
|
+
rqlFormula: string;
|
|
107
|
+
layeredConditionsTree: Record<string, any>;
|
|
108
|
+
}
|
|
109
|
+
/** Pass `{}` for "no conditions" — both maps default empty. */
|
|
110
|
+
export interface VisibilityConditions {
|
|
111
|
+
sections?: Record<string, VisibilityCondition>;
|
|
112
|
+
tabs?: Record<string, VisibilityCondition>;
|
|
113
|
+
}
|
|
114
|
+
export interface CustomObjectPageLayoutProps {
|
|
115
|
+
/**
|
|
116
|
+
* Required. Stable `api_name` for the layout. Use `'default'` for the layout
|
|
117
|
+
* that drives **Add** and the default object detail view (per Custom Object
|
|
118
|
+
* — one `default` per object).
|
|
119
|
+
*/
|
|
120
|
+
apiName: string;
|
|
121
|
+
/** Required. Display name of the layout. */
|
|
122
|
+
name: string;
|
|
123
|
+
/** Optional. Tab structure (TabEditsDTO). Defaults to empty. */
|
|
124
|
+
tabEdits?: TabEdits;
|
|
125
|
+
/** Optional. Header configuration (HeaderEditsDTO). Defaults to empty. */
|
|
126
|
+
headerEdits?: HeaderEdits;
|
|
127
|
+
/** Optional. Visibility conditions. Defaults to empty (no conditions). */
|
|
128
|
+
visibilityConditions?: VisibilityConditions;
|
|
129
|
+
/** Identity override. Override the layout identifier. @default generateId('layout') */
|
|
130
|
+
layoutId?: string;
|
|
131
|
+
/** Optional. Overwritten at install; defaults to object api_name. */
|
|
132
|
+
blueprintKey?: string;
|
|
133
|
+
}
|
|
134
|
+
export declare class CustomObjectPageLayout {
|
|
135
|
+
private readonly _layoutId;
|
|
136
|
+
private readonly _apiName;
|
|
137
|
+
private readonly _customObjectApiName;
|
|
138
|
+
private readonly _name;
|
|
139
|
+
private readonly _tabEdits;
|
|
140
|
+
private readonly _headerEdits;
|
|
141
|
+
private readonly _visibilityConditions;
|
|
142
|
+
private readonly _blueprintKey;
|
|
143
|
+
/** Build a new layout and auto-register with the CO's scope. */
|
|
144
|
+
constructor(customObject: CustomObject, props: CustomObjectPageLayoutProps);
|
|
145
|
+
/** Backend layout_id used as this layout's identifier. */
|
|
146
|
+
getLayoutId(): string;
|
|
147
|
+
/** Stable api_name for this layout. */
|
|
148
|
+
getApiName(): string;
|
|
149
|
+
/** api_name of the CustomObject this layout lives on. */
|
|
150
|
+
getCustomObjectApiName(): string;
|
|
151
|
+
/** Serialize to the backend `CUSTOM_OBJECT_PAGE_LAYOUT` wire shape. */
|
|
152
|
+
toDict(): Record<string, any>;
|
|
153
|
+
/** Factory for a single-tab "Details" page listing the given fields. */
|
|
154
|
+
static basic(customObject: CustomObject, props?: {
|
|
155
|
+
fields?: Field[];
|
|
156
|
+
}): CustomObjectPageLayout;
|
|
157
|
+
}
|
|
158
|
+
//# sourceMappingURL=custom-object-page-layout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-object-page-layout.d.ts","sourceRoot":"","sources":["../../src/lib/manifest/custom-object-page-layout.ts"],"names":[],"mappings":"OA0BO,KAAK,EAAE,YAAY,EAAE;OACrB,KAAK,EAAE,KAAK,EAAE;AAMrB,gDAAgD;AAChD,MAAM,WAAW,qBAAqB;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,8EAA8E;AAC9E,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,sCAAsC;IACtC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACzD,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7B,iEAAiE;IACjE,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAMD,2DAA2D;AAC3D,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CACjC;AAED,sDAAsD;AACtD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,gBAAgB,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,EAAE,CAAC;CACxB;AAED;8EAC8E;AAC9E,MAAM,MAAM,iBAAiB,GAAG,aAAa,CAAC;AAE9C,oCAAoC;AACpC,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,iBAAiB,EAAE,CAAC;CAC/B;AAED,uDAAuD;AACvD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,YAAY,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,aAAa,GAAG,eAAe,GAAG,SAAS,CAAC;AAExD,gDAAgD;AAChD,MAAM,MAAM,mBAAmB,GAAG,YAAY,GAAG,YAAY,GAAG,cAAc,GAAG,YAAY,CAAC;AAE9F,8EAA8E;AAC9E,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,SAAS,CAAC,EAAE,YAAY,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,oFAAoF;AACpF,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACvD,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,QAAQ;IACvB,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC/C,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;CAC1C;AAMD;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC5C;AAED,+DAA+D;AAC/D,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;CAC5C;AAMD,MAAM,WAAW,2BAA2B;IAC1C;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,0EAA0E;IAC1E,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,0EAA0E;IAC1E,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,uFAAuF;IACvF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qEAAqE;IACrE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAMD,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;IAC9C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAc;IAC3C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAuB;IAC7D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IAEnD,gEAAgE;gBACpD,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,2BAA2B;IAc1E,0DAA0D;IAC1D,WAAW,IAAI,MAAM;IAIrB,uCAAuC;IACvC,UAAU,IAAI,MAAM;IAIpB,yDAAyD;IACzD,sBAAsB,IAAI,MAAM;IAIhC,uEAAuE;IACvE,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAiB7B,wEAAwE;IACxE,MAAM,CAAC,KAAK,CACV,YAAY,EAAE,YAAY,EAC1B,KAAK,GAAE;QACL,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;KACb,GACL,sBAAsB;CA+B1B"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* The contents of this file were inserted manually and are not generated by Stainless.
|
|
4
|
+
*
|
|
5
|
+
* Custom object page layouts (detail page structure).
|
|
6
|
+
* Backend schema: CUSTOM_OBJECT_PAGE_LAYOUT (v2)
|
|
7
|
+
*
|
|
8
|
+
* CDK-style: `new CustomObjectPageLayout(customObject, props)` auto-registers
|
|
9
|
+
* with the CO's scope. `blueprint_key` defaults to the CO's api_name.
|
|
10
|
+
* For the layout that drives **Add** and the default detail view, use
|
|
11
|
+
* `apiName: 'default'` (one per custom object). `CustomObjectPageLayout.basic`
|
|
12
|
+
* uses `default` automatically.
|
|
13
|
+
*
|
|
14
|
+
* TabEditsDTO / HeaderEditsDTO / VisibilityConditionsDTO are strict
|
|
15
|
+
* dataclasses on the backend. They expect camelCase keys on the wire
|
|
16
|
+
* (newTabs, systemTabEdits, fieldRqlName, newTitleField, ...). Snake_case
|
|
17
|
+
* keys are silently dropped and produce an empty layout on deploy. The
|
|
18
|
+
* interfaces below mirror the DTO field aliases exactly.
|
|
19
|
+
*
|
|
20
|
+
* TS catches misspellings on direct object literals but not on spreads,
|
|
21
|
+
* `as` casts, or loosely-typed variables — so be careful when constructing
|
|
22
|
+
* these objects dynamically.
|
|
23
|
+
*
|
|
24
|
+
* DTO references: types/edits.py, types/layout.py, types/sections.py.
|
|
25
|
+
*/
|
|
26
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
|
+
exports.CustomObjectPageLayout = void 0;
|
|
28
|
+
const _helpers_1 = require("./_helpers.js");
|
|
29
|
+
// ---------------------------------------------------------------------------
|
|
30
|
+
// Class
|
|
31
|
+
// ---------------------------------------------------------------------------
|
|
32
|
+
class CustomObjectPageLayout {
|
|
33
|
+
/** Build a new layout and auto-register with the CO's scope. */
|
|
34
|
+
constructor(customObject, props) {
|
|
35
|
+
if (!props.apiName)
|
|
36
|
+
throw new Error('CustomObjectPageLayout: apiName cannot be empty');
|
|
37
|
+
if (!props.name)
|
|
38
|
+
throw new Error('CustomObjectPageLayout: name cannot be empty');
|
|
39
|
+
this._layoutId = props.layoutId ?? (0, _helpers_1.generateId)('layout');
|
|
40
|
+
this._apiName = props.apiName;
|
|
41
|
+
this._customObjectApiName = customObject.getApiName();
|
|
42
|
+
this._name = props.name;
|
|
43
|
+
this._tabEdits = props.tabEdits ?? {};
|
|
44
|
+
this._headerEdits = props.headerEdits ?? {};
|
|
45
|
+
this._visibilityConditions = props.visibilityConditions ?? {};
|
|
46
|
+
this._blueprintKey = props.blueprintKey;
|
|
47
|
+
customObject._register(this);
|
|
48
|
+
}
|
|
49
|
+
/** Backend layout_id used as this layout's identifier. */
|
|
50
|
+
getLayoutId() {
|
|
51
|
+
return this._layoutId;
|
|
52
|
+
}
|
|
53
|
+
/** Stable api_name for this layout. */
|
|
54
|
+
getApiName() {
|
|
55
|
+
return this._apiName;
|
|
56
|
+
}
|
|
57
|
+
/** api_name of the CustomObject this layout lives on. */
|
|
58
|
+
getCustomObjectApiName() {
|
|
59
|
+
return this._customObjectApiName;
|
|
60
|
+
}
|
|
61
|
+
/** Serialize to the backend `CUSTOM_OBJECT_PAGE_LAYOUT` wire shape. */
|
|
62
|
+
toDict() {
|
|
63
|
+
const d = {
|
|
64
|
+
type: 'CUSTOM_OBJECT_PAGE_LAYOUT',
|
|
65
|
+
layout_id: this._layoutId,
|
|
66
|
+
api_name: this._apiName,
|
|
67
|
+
object_rql_name: this._customObjectApiName,
|
|
68
|
+
name: this._name,
|
|
69
|
+
// Packaged layouts are never system-created (backend invariant).
|
|
70
|
+
system_created: false,
|
|
71
|
+
tab_edits: this._tabEdits,
|
|
72
|
+
header_edits: this._headerEdits,
|
|
73
|
+
visibility_conditions: this._visibilityConditions,
|
|
74
|
+
blueprint_key: this._blueprintKey ?? this._customObjectApiName,
|
|
75
|
+
};
|
|
76
|
+
return d;
|
|
77
|
+
}
|
|
78
|
+
/** Factory for a single-tab "Details" page listing the given fields. */
|
|
79
|
+
static basic(customObject, props = {}) {
|
|
80
|
+
const coApiName = customObject.getApiName();
|
|
81
|
+
const coName = customObject.getName();
|
|
82
|
+
return new CustomObjectPageLayout(customObject, {
|
|
83
|
+
apiName: 'default',
|
|
84
|
+
name: `${coName} Layout`,
|
|
85
|
+
tabEdits: {
|
|
86
|
+
newTabs: [
|
|
87
|
+
{
|
|
88
|
+
key: 'details',
|
|
89
|
+
name: 'Details',
|
|
90
|
+
type: 'tab_with_sections',
|
|
91
|
+
sections: [
|
|
92
|
+
{
|
|
93
|
+
key: 'general',
|
|
94
|
+
name: 'General',
|
|
95
|
+
type: 'fields_section',
|
|
96
|
+
fields: (props.fields ?? []).map((f) => ({
|
|
97
|
+
fieldRqlName: f.getApiName(),
|
|
98
|
+
})),
|
|
99
|
+
},
|
|
100
|
+
],
|
|
101
|
+
},
|
|
102
|
+
],
|
|
103
|
+
systemTabEdits: {},
|
|
104
|
+
tabsOrder: ['details'],
|
|
105
|
+
},
|
|
106
|
+
headerEdits: {},
|
|
107
|
+
visibilityConditions: {},
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
exports.CustomObjectPageLayout = CustomObjectPageLayout;
|
|
112
|
+
//# sourceMappingURL=custom-object-page-layout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-object-page-layout.js","sourceRoot":"","sources":["../../src/lib/manifest/custom-object-page-layout.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* The contents of this file were inserted manually and are not generated by Stainless.
|
|
3
|
+
*
|
|
4
|
+
* Custom object page layouts (detail page structure).
|
|
5
|
+
* Backend schema: CUSTOM_OBJECT_PAGE_LAYOUT (v2)
|
|
6
|
+
*
|
|
7
|
+
* CDK-style: `new CustomObjectPageLayout(customObject, props)` auto-registers
|
|
8
|
+
* with the CO's scope. `blueprint_key` defaults to the CO's api_name.
|
|
9
|
+
* For the layout that drives **Add** and the default detail view, use
|
|
10
|
+
* `apiName: 'default'` (one per custom object). `CustomObjectPageLayout.basic`
|
|
11
|
+
* uses `default` automatically.
|
|
12
|
+
*
|
|
13
|
+
* TabEditsDTO / HeaderEditsDTO / VisibilityConditionsDTO are strict
|
|
14
|
+
* dataclasses on the backend. They expect camelCase keys on the wire
|
|
15
|
+
* (newTabs, systemTabEdits, fieldRqlName, newTitleField, ...). Snake_case
|
|
16
|
+
* keys are silently dropped and produce an empty layout on deploy. The
|
|
17
|
+
* interfaces below mirror the DTO field aliases exactly.
|
|
18
|
+
*
|
|
19
|
+
* TS catches misspellings on direct object literals but not on spreads,
|
|
20
|
+
* `as` casts, or loosely-typed variables — so be careful when constructing
|
|
21
|
+
* these objects dynamically.
|
|
22
|
+
*
|
|
23
|
+
* DTO references: types/edits.py, types/layout.py, types/sections.py.
|
|
24
|
+
*/
|
|
25
|
+
import { generateId } from "./_helpers.mjs";
|
|
26
|
+
// ---------------------------------------------------------------------------
|
|
27
|
+
// Class
|
|
28
|
+
// ---------------------------------------------------------------------------
|
|
29
|
+
export class CustomObjectPageLayout {
|
|
30
|
+
/** Build a new layout and auto-register with the CO's scope. */
|
|
31
|
+
constructor(customObject, props) {
|
|
32
|
+
if (!props.apiName)
|
|
33
|
+
throw new Error('CustomObjectPageLayout: apiName cannot be empty');
|
|
34
|
+
if (!props.name)
|
|
35
|
+
throw new Error('CustomObjectPageLayout: name cannot be empty');
|
|
36
|
+
this._layoutId = props.layoutId ?? generateId('layout');
|
|
37
|
+
this._apiName = props.apiName;
|
|
38
|
+
this._customObjectApiName = customObject.getApiName();
|
|
39
|
+
this._name = props.name;
|
|
40
|
+
this._tabEdits = props.tabEdits ?? {};
|
|
41
|
+
this._headerEdits = props.headerEdits ?? {};
|
|
42
|
+
this._visibilityConditions = props.visibilityConditions ?? {};
|
|
43
|
+
this._blueprintKey = props.blueprintKey;
|
|
44
|
+
customObject._register(this);
|
|
45
|
+
}
|
|
46
|
+
/** Backend layout_id used as this layout's identifier. */
|
|
47
|
+
getLayoutId() {
|
|
48
|
+
return this._layoutId;
|
|
49
|
+
}
|
|
50
|
+
/** Stable api_name for this layout. */
|
|
51
|
+
getApiName() {
|
|
52
|
+
return this._apiName;
|
|
53
|
+
}
|
|
54
|
+
/** api_name of the CustomObject this layout lives on. */
|
|
55
|
+
getCustomObjectApiName() {
|
|
56
|
+
return this._customObjectApiName;
|
|
57
|
+
}
|
|
58
|
+
/** Serialize to the backend `CUSTOM_OBJECT_PAGE_LAYOUT` wire shape. */
|
|
59
|
+
toDict() {
|
|
60
|
+
const d = {
|
|
61
|
+
type: 'CUSTOM_OBJECT_PAGE_LAYOUT',
|
|
62
|
+
layout_id: this._layoutId,
|
|
63
|
+
api_name: this._apiName,
|
|
64
|
+
object_rql_name: this._customObjectApiName,
|
|
65
|
+
name: this._name,
|
|
66
|
+
// Packaged layouts are never system-created (backend invariant).
|
|
67
|
+
system_created: false,
|
|
68
|
+
tab_edits: this._tabEdits,
|
|
69
|
+
header_edits: this._headerEdits,
|
|
70
|
+
visibility_conditions: this._visibilityConditions,
|
|
71
|
+
blueprint_key: this._blueprintKey ?? this._customObjectApiName,
|
|
72
|
+
};
|
|
73
|
+
return d;
|
|
74
|
+
}
|
|
75
|
+
/** Factory for a single-tab "Details" page listing the given fields. */
|
|
76
|
+
static basic(customObject, props = {}) {
|
|
77
|
+
const coApiName = customObject.getApiName();
|
|
78
|
+
const coName = customObject.getName();
|
|
79
|
+
return new CustomObjectPageLayout(customObject, {
|
|
80
|
+
apiName: 'default',
|
|
81
|
+
name: `${coName} Layout`,
|
|
82
|
+
tabEdits: {
|
|
83
|
+
newTabs: [
|
|
84
|
+
{
|
|
85
|
+
key: 'details',
|
|
86
|
+
name: 'Details',
|
|
87
|
+
type: 'tab_with_sections',
|
|
88
|
+
sections: [
|
|
89
|
+
{
|
|
90
|
+
key: 'general',
|
|
91
|
+
name: 'General',
|
|
92
|
+
type: 'fields_section',
|
|
93
|
+
fields: (props.fields ?? []).map((f) => ({
|
|
94
|
+
fieldRqlName: f.getApiName(),
|
|
95
|
+
})),
|
|
96
|
+
},
|
|
97
|
+
],
|
|
98
|
+
},
|
|
99
|
+
],
|
|
100
|
+
systemTabEdits: {},
|
|
101
|
+
tabsOrder: ['details'],
|
|
102
|
+
},
|
|
103
|
+
headerEdits: {},
|
|
104
|
+
visibilityConditions: {},
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=custom-object-page-layout.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-object-page-layout.mjs","sourceRoot":"","sources":["../../src/lib/manifest/custom-object-page-layout.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { Category } from "./category.mjs";
|
|
2
|
+
import type { ManifestComponent, ManifestScope } from "./manifest-builder.mjs";
|
|
3
|
+
export interface IconConfig {
|
|
4
|
+
emoji?: string | null;
|
|
5
|
+
ripplingIcon?: string | null;
|
|
6
|
+
s3Bucket?: string;
|
|
7
|
+
s3Key?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface CustomObjectProps {
|
|
10
|
+
/** Required. Unique api_name (must end with `__c`). */
|
|
11
|
+
apiName: string;
|
|
12
|
+
/** Required. Singular display name. */
|
|
13
|
+
name: string;
|
|
14
|
+
/**
|
|
15
|
+
* Required. Category this object belongs to. Accepts a live `Category` ref
|
|
16
|
+
* (the SDK reads its api_name) or a raw api_name string for categories
|
|
17
|
+
* authored outside this manifest (e.g. Rippling-native or cross-package).
|
|
18
|
+
*/
|
|
19
|
+
category: Category | string;
|
|
20
|
+
/** Optional. What this entity represents. @default null */
|
|
21
|
+
description?: string | null;
|
|
22
|
+
/** Optional. Icon configuration. @default null */
|
|
23
|
+
icon?: IconConfig | null;
|
|
24
|
+
/** Optional. Plural display form. @default null */
|
|
25
|
+
pluralLabel?: string | null;
|
|
26
|
+
/** Optional. Overrides for autonumber name fields. @default null */
|
|
27
|
+
nameFieldDetails?: Record<string, any> | null;
|
|
28
|
+
/** Optional. Default field section name. @default null */
|
|
29
|
+
defaultFieldSectionName?: string | null;
|
|
30
|
+
}
|
|
31
|
+
export declare class CustomObject implements ManifestScope {
|
|
32
|
+
private readonly _scope;
|
|
33
|
+
private readonly _apiName;
|
|
34
|
+
private readonly _name;
|
|
35
|
+
private readonly _category;
|
|
36
|
+
private _description;
|
|
37
|
+
private _icon;
|
|
38
|
+
private _pluralLabel;
|
|
39
|
+
private _nameFieldDetails;
|
|
40
|
+
private _defaultFieldSectionName;
|
|
41
|
+
/** Build a new CO and auto-register with `scope`; enforces `__c` suffix on `apiName`. */
|
|
42
|
+
constructor(scope: ManifestScope, props: CustomObjectProps);
|
|
43
|
+
/** @internal Scope hook: forward child registration up to the builder. */
|
|
44
|
+
_register(component: ManifestComponent): void;
|
|
45
|
+
/** Backend api_name for this custom object. */
|
|
46
|
+
getApiName(): string;
|
|
47
|
+
/** Singular display name. */
|
|
48
|
+
getName(): string;
|
|
49
|
+
/** Serialize to the backend `CUSTOM_OBJECT` wire shape. */
|
|
50
|
+
toDict(): Record<string, any>;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=custom-object.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-object.d.mts","sourceRoot":"","sources":["../../src/lib/manifest/custom-object.ts"],"names":[],"mappings":"OAsBO,EAAE,QAAQ,EAAE;OACZ,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE;AA4IhD,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC5B,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,kDAAkD;IAClD,IAAI,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IACzB,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,oEAAoE;IACpE,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAC9C,0DAA0D;IAC1D,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzC;AAED,qBAAa,YAAa,YAAW,aAAa;IAChD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAC9C,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,KAAK,CAAgC;IAC7C,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,iBAAiB,CAAyC;IAClE,OAAO,CAAC,wBAAwB,CAA4B;IAE5D,yFAAyF;gBAC7E,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,iBAAiB;IAqB1D,0EAA0E;IAC1E,SAAS,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI;IAI7C,+CAA+C;IAC/C,UAAU,IAAI,MAAM;IAIpB,6BAA6B;IAC7B,OAAO,IAAI,MAAM;IAIjB,2DAA2D;IAC3D,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CA0B9B"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { Category } from "./category.js";
|
|
2
|
+
import type { ManifestComponent, ManifestScope } from "./manifest-builder.js";
|
|
3
|
+
export interface IconConfig {
|
|
4
|
+
emoji?: string | null;
|
|
5
|
+
ripplingIcon?: string | null;
|
|
6
|
+
s3Bucket?: string;
|
|
7
|
+
s3Key?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface CustomObjectProps {
|
|
10
|
+
/** Required. Unique api_name (must end with `__c`). */
|
|
11
|
+
apiName: string;
|
|
12
|
+
/** Required. Singular display name. */
|
|
13
|
+
name: string;
|
|
14
|
+
/**
|
|
15
|
+
* Required. Category this object belongs to. Accepts a live `Category` ref
|
|
16
|
+
* (the SDK reads its api_name) or a raw api_name string for categories
|
|
17
|
+
* authored outside this manifest (e.g. Rippling-native or cross-package).
|
|
18
|
+
*/
|
|
19
|
+
category: Category | string;
|
|
20
|
+
/** Optional. What this entity represents. @default null */
|
|
21
|
+
description?: string | null;
|
|
22
|
+
/** Optional. Icon configuration. @default null */
|
|
23
|
+
icon?: IconConfig | null;
|
|
24
|
+
/** Optional. Plural display form. @default null */
|
|
25
|
+
pluralLabel?: string | null;
|
|
26
|
+
/** Optional. Overrides for autonumber name fields. @default null */
|
|
27
|
+
nameFieldDetails?: Record<string, any> | null;
|
|
28
|
+
/** Optional. Default field section name. @default null */
|
|
29
|
+
defaultFieldSectionName?: string | null;
|
|
30
|
+
}
|
|
31
|
+
export declare class CustomObject implements ManifestScope {
|
|
32
|
+
private readonly _scope;
|
|
33
|
+
private readonly _apiName;
|
|
34
|
+
private readonly _name;
|
|
35
|
+
private readonly _category;
|
|
36
|
+
private _description;
|
|
37
|
+
private _icon;
|
|
38
|
+
private _pluralLabel;
|
|
39
|
+
private _nameFieldDetails;
|
|
40
|
+
private _defaultFieldSectionName;
|
|
41
|
+
/** Build a new CO and auto-register with `scope`; enforces `__c` suffix on `apiName`. */
|
|
42
|
+
constructor(scope: ManifestScope, props: CustomObjectProps);
|
|
43
|
+
/** @internal Scope hook: forward child registration up to the builder. */
|
|
44
|
+
_register(component: ManifestComponent): void;
|
|
45
|
+
/** Backend api_name for this custom object. */
|
|
46
|
+
getApiName(): string;
|
|
47
|
+
/** Singular display name. */
|
|
48
|
+
getName(): string;
|
|
49
|
+
/** Serialize to the backend `CUSTOM_OBJECT` wire shape. */
|
|
50
|
+
toDict(): Record<string, any>;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=custom-object.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-object.d.ts","sourceRoot":"","sources":["../../src/lib/manifest/custom-object.ts"],"names":[],"mappings":"OAsBO,EAAE,QAAQ,EAAE;OACZ,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE;AA4IhD,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC5B,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,kDAAkD;IAClD,IAAI,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IACzB,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,oEAAoE;IACpE,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAC9C,0DAA0D;IAC1D,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzC;AAED,qBAAa,YAAa,YAAW,aAAa;IAChD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAC9C,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,KAAK,CAAgC;IAC7C,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,iBAAiB,CAAyC;IAClE,OAAO,CAAC,wBAAwB,CAA4B;IAE5D,yFAAyF;gBAC7E,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,iBAAiB;IAqB1D,0EAA0E;IAC1E,SAAS,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI;IAI7C,+CAA+C;IAC/C,UAAU,IAAI,MAAM;IAIpB,6BAA6B;IAC7B,OAAO,IAAI,MAAM;IAIjB,2DAA2D;IAC3D,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CA0B9B"}
|