@rippling/rippling-sdk 0.2.0-alpha.34 → 0.2.0-alpha.35
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/lib/manifest/app.d.mts +81 -13
- package/lib/manifest/app.d.mts.map +1 -1
- package/lib/manifest/app.d.ts +81 -13
- package/lib/manifest/app.d.ts.map +1 -1
- package/lib/manifest/app.js +37 -16
- package/lib/manifest/app.js.map +1 -1
- package/lib/manifest/app.mjs +37 -16
- package/lib/manifest/app.mjs.map +1 -1
- package/lib/manifest/category.d.mts +63 -7
- package/lib/manifest/category.d.mts.map +1 -1
- package/lib/manifest/category.d.ts +63 -7
- package/lib/manifest/category.d.ts.map +1 -1
- package/lib/manifest/category.js +45 -10
- package/lib/manifest/category.js.map +1 -1
- package/lib/manifest/category.mjs +43 -8
- package/lib/manifest/category.mjs.map +1 -1
- package/lib/manifest/custom-object-field-section.d.mts +56 -6
- package/lib/manifest/custom-object-field-section.d.mts.map +1 -1
- package/lib/manifest/custom-object-field-section.d.ts +56 -6
- package/lib/manifest/custom-object-field-section.d.ts.map +1 -1
- package/lib/manifest/custom-object-field-section.js +41 -14
- package/lib/manifest/custom-object-field-section.js.map +1 -1
- package/lib/manifest/custom-object-field-section.mjs +39 -12
- package/lib/manifest/custom-object-field-section.mjs.map +1 -1
- package/lib/manifest/custom-object-page-layout.d.mts +201 -41
- package/lib/manifest/custom-object-page-layout.d.mts.map +1 -1
- package/lib/manifest/custom-object-page-layout.d.ts +201 -41
- package/lib/manifest/custom-object-page-layout.d.ts.map +1 -1
- package/lib/manifest/custom-object-page-layout.js +76 -30
- package/lib/manifest/custom-object-page-layout.js.map +1 -1
- package/lib/manifest/custom-object-page-layout.mjs +74 -28
- package/lib/manifest/custom-object-page-layout.mjs.map +1 -1
- package/lib/manifest/custom-object.d.mts +128 -15
- package/lib/manifest/custom-object.d.mts.map +1 -1
- package/lib/manifest/custom-object.d.ts +128 -15
- package/lib/manifest/custom-object.d.ts.map +1 -1
- package/lib/manifest/custom-object.js +61 -26
- package/lib/manifest/custom-object.js.map +1 -1
- package/lib/manifest/custom-object.mjs +61 -26
- package/lib/manifest/custom-object.mjs.map +1 -1
- package/lib/manifest/field.d.mts +265 -54
- package/lib/manifest/field.d.mts.map +1 -1
- package/lib/manifest/field.d.ts +265 -54
- package/lib/manifest/field.d.ts.map +1 -1
- package/lib/manifest/field.js +100 -57
- package/lib/manifest/field.js.map +1 -1
- package/lib/manifest/field.mjs +100 -57
- package/lib/manifest/field.mjs.map +1 -1
- package/lib/manifest/list-view.d.mts +105 -14
- package/lib/manifest/list-view.d.mts.map +1 -1
- package/lib/manifest/list-view.d.ts +105 -14
- package/lib/manifest/list-view.d.ts.map +1 -1
- package/lib/manifest/list-view.js +50 -14
- package/lib/manifest/list-view.js.map +1 -1
- package/lib/manifest/list-view.mjs +48 -12
- package/lib/manifest/list-view.mjs.map +1 -1
- package/lib/manifest/manifest-builder.d.mts +77 -11
- package/lib/manifest/manifest-builder.d.mts.map +1 -1
- package/lib/manifest/manifest-builder.d.ts +77 -11
- package/lib/manifest/manifest-builder.d.ts.map +1 -1
- package/lib/manifest/manifest-builder.js +46 -24
- package/lib/manifest/manifest-builder.js.map +1 -1
- package/lib/manifest/manifest-builder.mjs +44 -22
- package/lib/manifest/manifest-builder.mjs.map +1 -1
- package/lib/manifest/manifest-function.d.mts +92 -12
- package/lib/manifest/manifest-function.d.mts.map +1 -1
- package/lib/manifest/manifest-function.d.ts +92 -12
- package/lib/manifest/manifest-function.d.ts.map +1 -1
- package/lib/manifest/manifest-function.js +40 -11
- package/lib/manifest/manifest-function.js.map +1 -1
- package/lib/manifest/manifest-function.mjs +38 -9
- package/lib/manifest/manifest-function.mjs.map +1 -1
- package/lib/manifest/rule.d.mts +94 -16
- package/lib/manifest/rule.d.mts.map +1 -1
- package/lib/manifest/rule.d.ts +94 -16
- package/lib/manifest/rule.d.ts.map +1 -1
- package/lib/manifest/rule.js +36 -15
- package/lib/manifest/rule.js.map +1 -1
- package/lib/manifest/rule.mjs +36 -15
- package/lib/manifest/rule.mjs.map +1 -1
- package/lib/manifest/sdui-page.d.mts +67 -11
- package/lib/manifest/sdui-page.d.mts.map +1 -1
- package/lib/manifest/sdui-page.d.ts +67 -11
- package/lib/manifest/sdui-page.d.ts.map +1 -1
- package/lib/manifest/sdui-page.js +44 -13
- package/lib/manifest/sdui-page.js.map +1 -1
- package/lib/manifest/sdui-page.mjs +42 -11
- package/lib/manifest/sdui-page.mjs.map +1 -1
- package/lib/manifest/validation.d.mts +87 -12
- package/lib/manifest/validation.d.mts.map +1 -1
- package/lib/manifest/validation.d.ts +87 -12
- package/lib/manifest/validation.d.ts.map +1 -1
- package/lib/manifest/validation.js +41 -15
- package/lib/manifest/validation.js.map +1 -1
- package/lib/manifest/validation.mjs +39 -13
- package/lib/manifest/validation.mjs.map +1 -1
- package/lib/sdui/actions.d.mts +25 -0
- package/lib/sdui/actions.d.mts.map +1 -0
- package/lib/sdui/actions.d.ts +25 -0
- package/lib/sdui/actions.d.ts.map +1 -0
- package/lib/sdui/actions.js +53 -0
- package/lib/sdui/actions.js.map +1 -0
- package/lib/sdui/actions.mjs +42 -0
- package/lib/sdui/actions.mjs.map +1 -0
- package/lib/sdui/component.d.mts +41 -0
- package/lib/sdui/component.d.mts.map +1 -0
- package/lib/sdui/component.d.ts +41 -0
- package/lib/sdui/component.d.ts.map +1 -0
- package/lib/sdui/component.js +95 -0
- package/lib/sdui/component.js.map +1 -0
- package/lib/sdui/component.mjs +91 -0
- package/lib/sdui/component.mjs.map +1 -0
- package/lib/sdui/components.d.mts +149 -0
- package/lib/sdui/components.d.mts.map +1 -0
- package/lib/sdui/components.d.ts +149 -0
- package/lib/sdui/components.d.ts.map +1 -0
- package/lib/sdui/components.js +303 -0
- package/lib/sdui/components.js.map +1 -0
- package/lib/sdui/components.mjs +298 -0
- package/lib/sdui/components.mjs.map +1 -0
- package/lib/sdui/conditions.d.mts +25 -0
- package/lib/sdui/conditions.d.mts.map +1 -0
- package/lib/sdui/conditions.d.ts +25 -0
- package/lib/sdui/conditions.d.ts.map +1 -0
- package/lib/sdui/conditions.js +47 -0
- package/lib/sdui/conditions.js.map +1 -0
- package/lib/sdui/conditions.mjs +35 -0
- package/lib/sdui/conditions.mjs.map +1 -0
- package/lib/sdui/directives.d.mts +18 -0
- package/lib/sdui/directives.d.mts.map +1 -0
- package/lib/sdui/directives.d.ts +18 -0
- package/lib/sdui/directives.d.ts.map +1 -0
- package/lib/sdui/directives.js +28 -0
- package/lib/sdui/directives.js.map +1 -0
- package/lib/sdui/directives.mjs +21 -0
- package/lib/sdui/directives.mjs.map +1 -0
- package/lib/sdui/index.d.mts +362 -0
- package/lib/sdui/index.d.mts.map +1 -0
- package/lib/sdui/index.d.ts +362 -0
- package/lib/sdui/index.d.ts.map +1 -0
- package/lib/sdui/index.js +375 -0
- package/lib/sdui/index.js.map +1 -0
- package/lib/sdui/index.mjs +199 -0
- package/lib/sdui/index.mjs.map +1 -0
- package/lib/sdui/props.d.mts +12 -0
- package/lib/sdui/props.d.mts.map +1 -0
- package/lib/sdui/props.d.ts +12 -0
- package/lib/sdui/props.d.ts.map +1 -0
- package/lib/sdui/props.js +25 -0
- package/lib/sdui/props.js.map +1 -0
- package/lib/sdui/props.mjs +21 -0
- package/lib/sdui/props.mjs.map +1 -0
- package/lib/sdui/render.d.mts +23 -0
- package/lib/sdui/render.d.mts.map +1 -0
- package/lib/sdui/render.d.ts +23 -0
- package/lib/sdui/render.d.ts.map +1 -0
- package/lib/sdui/render.js +40 -0
- package/lib/sdui/render.js.map +1 -0
- package/lib/sdui/render.mjs +37 -0
- package/lib/sdui/render.mjs.map +1 -0
- package/lib/sdui/state.d.mts +22 -0
- package/lib/sdui/state.d.mts.map +1 -0
- package/lib/sdui/state.d.ts +22 -0
- package/lib/sdui/state.d.ts.map +1 -0
- package/lib/sdui/state.js +57 -0
- package/lib/sdui/state.js.map +1 -0
- package/lib/sdui/state.mjs +53 -0
- package/lib/sdui/state.mjs.map +1 -0
- package/package.json +1 -1
- package/resources/draft-hires.d.mts +4 -0
- package/resources/draft-hires.d.mts.map +1 -1
- package/resources/draft-hires.d.ts +4 -0
- package/resources/draft-hires.d.ts.map +1 -1
- package/resources/files.d.mts +16 -1
- package/resources/files.d.mts.map +1 -1
- package/resources/files.d.ts +16 -1
- package/resources/files.d.ts.map +1 -1
- package/resources/headcount-positions.d.mts +2 -2
- package/resources/headcount-positions.d.mts.map +1 -1
- package/resources/headcount-positions.d.ts +2 -2
- package/resources/headcount-positions.d.ts.map +1 -1
- package/resources/legal-entities.d.mts +1 -1
- package/resources/legal-entities.d.mts.map +1 -1
- package/resources/legal-entities.d.ts +1 -1
- package/resources/legal-entities.d.ts.map +1 -1
- package/resources/location-factors.d.mts +2 -2
- package/resources/location-factors.d.mts.map +1 -1
- package/resources/location-factors.d.ts +2 -2
- package/resources/location-factors.d.ts.map +1 -1
- package/resources/shared.d.mts +1 -1
- package/resources/shared.d.mts.map +1 -1
- package/resources/shared.d.ts +1 -1
- package/resources/shared.d.ts.map +1 -1
- package/resources/workers.d.mts +2 -2
- package/resources/workers.d.mts.map +1 -1
- package/resources/workers.d.ts +2 -2
- package/resources/workers.d.ts.map +1 -1
- package/src/lib/manifest/app.ts +81 -26
- package/src/lib/manifest/category.ts +63 -14
- package/src/lib/manifest/custom-object-field-section.ts +56 -17
- package/src/lib/manifest/custom-object-page-layout.ts +201 -66
- package/src/lib/manifest/custom-object.ts +128 -37
- package/src/lib/manifest/field.ts +265 -75
- package/src/lib/manifest/list-view.ts +105 -25
- package/src/lib/manifest/manifest-builder.ts +75 -32
- package/src/lib/manifest/manifest-function.ts +92 -22
- package/src/lib/manifest/rule.ts +95 -29
- package/src/lib/manifest/sdui-page.ts +67 -21
- package/src/lib/manifest/validation.ts +87 -24
- package/src/lib/sdui/actions.ts +58 -0
- package/src/lib/sdui/component.ts +122 -0
- package/src/lib/sdui/components.ts +308 -0
- package/src/lib/sdui/conditions.ts +59 -0
- package/src/lib/sdui/directives.ts +42 -0
- package/src/lib/sdui/index.ts +365 -0
- package/src/lib/sdui/props.ts +32 -0
- package/src/lib/sdui/render.ts +58 -0
- package/src/lib/sdui/state.ts +60 -0
- package/src/resources/draft-hires.ts +5 -0
- package/src/resources/files.ts +18 -1
- package/src/resources/headcount-positions.ts +2 -0
- package/src/resources/legal-entities.ts +1 -0
- package/src/resources/location-factors.ts +2 -0
- package/src/resources/shared.ts +1 -0
- package/src/resources/workers.ts +2 -0
- 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
package/lib/manifest/app.d.mts
CHANGED
|
@@ -2,29 +2,86 @@ import { CustomObject } from "./custom-object.mjs";
|
|
|
2
2
|
import type { ManifestScope } from "./manifest-builder.mjs";
|
|
3
3
|
import { SduiPage } from "./sdui-page.mjs";
|
|
4
4
|
/**
|
|
5
|
-
* A single page entry in an App
|
|
6
|
-
*
|
|
7
|
-
*
|
|
5
|
+
* A single page entry in an {@link App}.
|
|
6
|
+
*
|
|
7
|
+
* - Pass a {@link CustomObject} to create an object-page tab.
|
|
8
|
+
* - Pass an {@link SduiPage} to create a custom SDUI surface tab.
|
|
8
9
|
*/
|
|
9
10
|
export type AppPage = CustomObject | SduiPage;
|
|
11
|
+
/**
|
|
12
|
+
* S3 icon reference for an {@link App}.
|
|
13
|
+
*/
|
|
10
14
|
export interface AppIcon {
|
|
15
|
+
/** S3 bucket holding the icon asset. */
|
|
11
16
|
s3Bucket: string;
|
|
17
|
+
/** S3 key (path) within `s3Bucket`. */
|
|
12
18
|
s3Key: string;
|
|
13
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* Initialization properties for {@link App}.
|
|
22
|
+
*/
|
|
14
23
|
export interface AppProps {
|
|
15
|
-
/**
|
|
24
|
+
/**
|
|
25
|
+
* Unique identifier for this app (e.g. `'gym_membership_management_app'`).
|
|
26
|
+
*
|
|
27
|
+
* Required.
|
|
28
|
+
*/
|
|
16
29
|
apiName: string;
|
|
17
|
-
/**
|
|
30
|
+
/**
|
|
31
|
+
* Display name shown as the app title in the Rippling UI.
|
|
32
|
+
*
|
|
33
|
+
* Required.
|
|
34
|
+
*/
|
|
18
35
|
name: string;
|
|
19
|
-
/**
|
|
36
|
+
/**
|
|
37
|
+
* Human-readable description of what this app does.
|
|
38
|
+
*
|
|
39
|
+
* Optional. @default null
|
|
40
|
+
*/
|
|
20
41
|
description?: string;
|
|
21
|
-
/**
|
|
42
|
+
/**
|
|
43
|
+
* App type discriminator.
|
|
44
|
+
*
|
|
45
|
+
* Optional. @default `'custom'`
|
|
46
|
+
*/
|
|
22
47
|
appType?: string;
|
|
23
|
-
/**
|
|
48
|
+
/**
|
|
49
|
+
* S3 icon for this app.
|
|
50
|
+
*
|
|
51
|
+
* Optional. @default null
|
|
52
|
+
*/
|
|
24
53
|
icon?: AppIcon;
|
|
25
|
-
/**
|
|
54
|
+
/**
|
|
55
|
+
* Pages shown as tabs in the app. Pass {@link CustomObject} instances for object-page
|
|
56
|
+
* tabs and {@link SduiPage} instances for custom SDUI surfaces. Tab order matches
|
|
57
|
+
* the array order.
|
|
58
|
+
*
|
|
59
|
+
* Optional. @default `[]`
|
|
60
|
+
*/
|
|
26
61
|
pages?: AppPage[];
|
|
27
62
|
}
|
|
63
|
+
/**
|
|
64
|
+
* Defines a Rippling app and registers it with the manifest.
|
|
65
|
+
*
|
|
66
|
+
* An app is the top-level navigation container. It groups one or more pages —
|
|
67
|
+
* either custom-object record pages or SDUI surfaces — as tabs visible to users.
|
|
68
|
+
* You would normally define the app last in your manifest file, after all objects,
|
|
69
|
+
* functions, and SDUI pages have been declared.
|
|
70
|
+
*
|
|
71
|
+
* @example
|
|
72
|
+
* ```ts
|
|
73
|
+
* new App(manifest, {
|
|
74
|
+
* apiName: 'gym_membership_management_app',
|
|
75
|
+
* name: 'Gym Membership Management',
|
|
76
|
+
* description: 'Members, trainers, schedules, and check-in',
|
|
77
|
+
* appType: 'custom',
|
|
78
|
+
* pages: [memberObj, trainerObj, sessionObj, todaySchedulePage, checkInDeskPage],
|
|
79
|
+
* });
|
|
80
|
+
* ```
|
|
81
|
+
*
|
|
82
|
+
* @see {@link CustomObject} — object-page tab source.
|
|
83
|
+
* @see {@link SduiPage} — SDUI surface tab source.
|
|
84
|
+
*/
|
|
28
85
|
export declare class App {
|
|
29
86
|
private readonly _apiName;
|
|
30
87
|
private readonly _name;
|
|
@@ -33,13 +90,24 @@ export declare class App {
|
|
|
33
90
|
private readonly _icon;
|
|
34
91
|
/** Wire-format pages, resolved eagerly at construction. */
|
|
35
92
|
private readonly _pages;
|
|
36
|
-
/**
|
|
93
|
+
/**
|
|
94
|
+
* @param scope - The manifest to register this app with.
|
|
95
|
+
* @param props - Initialization properties.
|
|
96
|
+
*/
|
|
37
97
|
constructor(scope: ManifestScope, props: AppProps);
|
|
38
|
-
/**
|
|
98
|
+
/**
|
|
99
|
+
* Returns the api_name of this app (e.g. `'gym_membership_management_app'`).
|
|
100
|
+
*/
|
|
39
101
|
getApiName(): string;
|
|
40
|
-
/**
|
|
102
|
+
/**
|
|
103
|
+
* Returns the display name of this app.
|
|
104
|
+
*/
|
|
41
105
|
getName(): string;
|
|
42
|
-
/**
|
|
106
|
+
/**
|
|
107
|
+
* Serializes this app to the wire format consumed by the manifest install endpoint.
|
|
108
|
+
*
|
|
109
|
+
* @returns A plain object with `type: 'CUSTOM_APP'`. Optional fields are omitted when unset.
|
|
110
|
+
*/
|
|
43
111
|
toDict(): Record<string, any>;
|
|
44
112
|
}
|
|
45
113
|
//# sourceMappingURL=app.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.mts","sourceRoot":"","sources":["../../src/lib/manifest/app.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"app.d.mts","sourceRoot":"","sources":["../../src/lib/manifest/app.ts"],"names":[],"mappings":"OAAO,EAAE,YAAY,EAAE;OAChB,KAAK,EAAE,aAAa,EAAE;OACtB,EAAE,QAAQ,EAAE;AAEnB;;;;;GAKG;AACH,MAAM,MAAM,OAAO,GAAG,YAAY,GAAG,QAAQ,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;CACnB;AAoBD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,GAAG;IACd,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAC9C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsB;IAC5C,2DAA2D;IAC3D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;IAE/C;;;OAGG;gBACS,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ;IAUjD;;OAEG;IACH,UAAU,IAAI,MAAM;IAIpB;;OAEG;IACH,OAAO,IAAI,MAAM;IAIjB;;;;OAIG;IACH,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAc9B"}
|
package/lib/manifest/app.d.ts
CHANGED
|
@@ -2,29 +2,86 @@ import { CustomObject } from "./custom-object.js";
|
|
|
2
2
|
import type { ManifestScope } from "./manifest-builder.js";
|
|
3
3
|
import { SduiPage } from "./sdui-page.js";
|
|
4
4
|
/**
|
|
5
|
-
* A single page entry in an App
|
|
6
|
-
*
|
|
7
|
-
*
|
|
5
|
+
* A single page entry in an {@link App}.
|
|
6
|
+
*
|
|
7
|
+
* - Pass a {@link CustomObject} to create an object-page tab.
|
|
8
|
+
* - Pass an {@link SduiPage} to create a custom SDUI surface tab.
|
|
8
9
|
*/
|
|
9
10
|
export type AppPage = CustomObject | SduiPage;
|
|
11
|
+
/**
|
|
12
|
+
* S3 icon reference for an {@link App}.
|
|
13
|
+
*/
|
|
10
14
|
export interface AppIcon {
|
|
15
|
+
/** S3 bucket holding the icon asset. */
|
|
11
16
|
s3Bucket: string;
|
|
17
|
+
/** S3 key (path) within `s3Bucket`. */
|
|
12
18
|
s3Key: string;
|
|
13
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* Initialization properties for {@link App}.
|
|
22
|
+
*/
|
|
14
23
|
export interface AppProps {
|
|
15
|
-
/**
|
|
24
|
+
/**
|
|
25
|
+
* Unique identifier for this app (e.g. `'gym_membership_management_app'`).
|
|
26
|
+
*
|
|
27
|
+
* Required.
|
|
28
|
+
*/
|
|
16
29
|
apiName: string;
|
|
17
|
-
/**
|
|
30
|
+
/**
|
|
31
|
+
* Display name shown as the app title in the Rippling UI.
|
|
32
|
+
*
|
|
33
|
+
* Required.
|
|
34
|
+
*/
|
|
18
35
|
name: string;
|
|
19
|
-
/**
|
|
36
|
+
/**
|
|
37
|
+
* Human-readable description of what this app does.
|
|
38
|
+
*
|
|
39
|
+
* Optional. @default null
|
|
40
|
+
*/
|
|
20
41
|
description?: string;
|
|
21
|
-
/**
|
|
42
|
+
/**
|
|
43
|
+
* App type discriminator.
|
|
44
|
+
*
|
|
45
|
+
* Optional. @default `'custom'`
|
|
46
|
+
*/
|
|
22
47
|
appType?: string;
|
|
23
|
-
/**
|
|
48
|
+
/**
|
|
49
|
+
* S3 icon for this app.
|
|
50
|
+
*
|
|
51
|
+
* Optional. @default null
|
|
52
|
+
*/
|
|
24
53
|
icon?: AppIcon;
|
|
25
|
-
/**
|
|
54
|
+
/**
|
|
55
|
+
* Pages shown as tabs in the app. Pass {@link CustomObject} instances for object-page
|
|
56
|
+
* tabs and {@link SduiPage} instances for custom SDUI surfaces. Tab order matches
|
|
57
|
+
* the array order.
|
|
58
|
+
*
|
|
59
|
+
* Optional. @default `[]`
|
|
60
|
+
*/
|
|
26
61
|
pages?: AppPage[];
|
|
27
62
|
}
|
|
63
|
+
/**
|
|
64
|
+
* Defines a Rippling app and registers it with the manifest.
|
|
65
|
+
*
|
|
66
|
+
* An app is the top-level navigation container. It groups one or more pages —
|
|
67
|
+
* either custom-object record pages or SDUI surfaces — as tabs visible to users.
|
|
68
|
+
* You would normally define the app last in your manifest file, after all objects,
|
|
69
|
+
* functions, and SDUI pages have been declared.
|
|
70
|
+
*
|
|
71
|
+
* @example
|
|
72
|
+
* ```ts
|
|
73
|
+
* new App(manifest, {
|
|
74
|
+
* apiName: 'gym_membership_management_app',
|
|
75
|
+
* name: 'Gym Membership Management',
|
|
76
|
+
* description: 'Members, trainers, schedules, and check-in',
|
|
77
|
+
* appType: 'custom',
|
|
78
|
+
* pages: [memberObj, trainerObj, sessionObj, todaySchedulePage, checkInDeskPage],
|
|
79
|
+
* });
|
|
80
|
+
* ```
|
|
81
|
+
*
|
|
82
|
+
* @see {@link CustomObject} — object-page tab source.
|
|
83
|
+
* @see {@link SduiPage} — SDUI surface tab source.
|
|
84
|
+
*/
|
|
28
85
|
export declare class App {
|
|
29
86
|
private readonly _apiName;
|
|
30
87
|
private readonly _name;
|
|
@@ -33,13 +90,24 @@ export declare class App {
|
|
|
33
90
|
private readonly _icon;
|
|
34
91
|
/** Wire-format pages, resolved eagerly at construction. */
|
|
35
92
|
private readonly _pages;
|
|
36
|
-
/**
|
|
93
|
+
/**
|
|
94
|
+
* @param scope - The manifest to register this app with.
|
|
95
|
+
* @param props - Initialization properties.
|
|
96
|
+
*/
|
|
37
97
|
constructor(scope: ManifestScope, props: AppProps);
|
|
38
|
-
/**
|
|
98
|
+
/**
|
|
99
|
+
* Returns the api_name of this app (e.g. `'gym_membership_management_app'`).
|
|
100
|
+
*/
|
|
39
101
|
getApiName(): string;
|
|
40
|
-
/**
|
|
102
|
+
/**
|
|
103
|
+
* Returns the display name of this app.
|
|
104
|
+
*/
|
|
41
105
|
getName(): string;
|
|
42
|
-
/**
|
|
106
|
+
/**
|
|
107
|
+
* Serializes this app to the wire format consumed by the manifest install endpoint.
|
|
108
|
+
*
|
|
109
|
+
* @returns A plain object with `type: 'CUSTOM_APP'`. Optional fields are omitted when unset.
|
|
110
|
+
*/
|
|
43
111
|
toDict(): Record<string, any>;
|
|
44
112
|
}
|
|
45
113
|
//# sourceMappingURL=app.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/lib/manifest/app.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/lib/manifest/app.ts"],"names":[],"mappings":"OAAO,EAAE,YAAY,EAAE;OAChB,KAAK,EAAE,aAAa,EAAE;OACtB,EAAE,QAAQ,EAAE;AAEnB;;;;;GAKG;AACH,MAAM,MAAM,OAAO,GAAG,YAAY,GAAG,QAAQ,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;CACnB;AAoBD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,GAAG;IACd,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAC9C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsB;IAC5C,2DAA2D;IAC3D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;IAE/C;;;OAGG;gBACS,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ;IAUjD;;OAEG;IACH,UAAU,IAAI,MAAM;IAIpB;;OAEG;IACH,OAAO,IAAI,MAAM;IAIjB;;;;OAIG;IACH,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAc9B"}
|
package/lib/manifest/app.js
CHANGED
|
@@ -1,16 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/*
|
|
3
|
-
* The contents of this file were inserted manually and are not generated by Stainless.
|
|
4
|
-
*
|
|
5
|
-
* Unity App definitions that group pages for navigation.
|
|
6
|
-
* Backend schema: CUSTOM_APP (v2)
|
|
7
|
-
*
|
|
8
|
-
* Pages are declared at construction as a flat array of live refs — pass a
|
|
9
|
-
* `CustomObject` for an object-page tab, or an `SduiPage` for a custom SDUI
|
|
10
|
-
* surface. The tab `api_name` is derived from the ref's own identifier.
|
|
11
|
-
* External refs (e.g. native-model `employee`, or an externally-authored
|
|
12
|
-
* SDUI page) are not supported yet; add when a real case appears.
|
|
13
|
-
*/
|
|
14
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
3
|
exports.App = void 0;
|
|
16
4
|
const custom_object_1 = require("./custom-object.js");
|
|
@@ -32,8 +20,33 @@ function resolvePage(entry) {
|
|
|
32
20
|
};
|
|
33
21
|
}
|
|
34
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Defines a Rippling app and registers it with the manifest.
|
|
25
|
+
*
|
|
26
|
+
* An app is the top-level navigation container. It groups one or more pages —
|
|
27
|
+
* either custom-object record pages or SDUI surfaces — as tabs visible to users.
|
|
28
|
+
* You would normally define the app last in your manifest file, after all objects,
|
|
29
|
+
* functions, and SDUI pages have been declared.
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* ```ts
|
|
33
|
+
* new App(manifest, {
|
|
34
|
+
* apiName: 'gym_membership_management_app',
|
|
35
|
+
* name: 'Gym Membership Management',
|
|
36
|
+
* description: 'Members, trainers, schedules, and check-in',
|
|
37
|
+
* appType: 'custom',
|
|
38
|
+
* pages: [memberObj, trainerObj, sessionObj, todaySchedulePage, checkInDeskPage],
|
|
39
|
+
* });
|
|
40
|
+
* ```
|
|
41
|
+
*
|
|
42
|
+
* @see {@link CustomObject} — object-page tab source.
|
|
43
|
+
* @see {@link SduiPage} — SDUI surface tab source.
|
|
44
|
+
*/
|
|
35
45
|
class App {
|
|
36
|
-
/**
|
|
46
|
+
/**
|
|
47
|
+
* @param scope - The manifest to register this app with.
|
|
48
|
+
* @param props - Initialization properties.
|
|
49
|
+
*/
|
|
37
50
|
constructor(scope, props) {
|
|
38
51
|
this._apiName = props.apiName;
|
|
39
52
|
this._name = props.name;
|
|
@@ -43,15 +56,23 @@ class App {
|
|
|
43
56
|
this._pages = (props.pages ?? []).map(resolvePage);
|
|
44
57
|
scope._register(this);
|
|
45
58
|
}
|
|
46
|
-
/**
|
|
59
|
+
/**
|
|
60
|
+
* Returns the api_name of this app (e.g. `'gym_membership_management_app'`).
|
|
61
|
+
*/
|
|
47
62
|
getApiName() {
|
|
48
63
|
return this._apiName;
|
|
49
64
|
}
|
|
50
|
-
/**
|
|
65
|
+
/**
|
|
66
|
+
* Returns the display name of this app.
|
|
67
|
+
*/
|
|
51
68
|
getName() {
|
|
52
69
|
return this._name;
|
|
53
70
|
}
|
|
54
|
-
/**
|
|
71
|
+
/**
|
|
72
|
+
* Serializes this app to the wire format consumed by the manifest install endpoint.
|
|
73
|
+
*
|
|
74
|
+
* @returns A plain object with `type: 'CUSTOM_APP'`. Optional fields are omitted when unset.
|
|
75
|
+
*/
|
|
55
76
|
toDict() {
|
|
56
77
|
const component = {
|
|
57
78
|
type: 'CUSTOM_APP',
|
package/lib/manifest/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/lib/manifest/app.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/lib/manifest/app.ts"],"names":[],"mappings":";;;AAAA,sDAA+C;AAkE/C,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,KAAK,YAAY,4BAAY,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;QACnC,OAAO;YACL,QAAQ,EAAE,OAAO;YACjB,SAAS,EAAE,aAAa;YACxB,eAAe,EAAE,OAAO;SACzB,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;QACzC,OAAO;YACL,QAAQ,EAAE,UAAU;YACpB,SAAS,EAAE,WAAW;YACtB,YAAY,EAAE,UAAU;SACzB,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAa,GAAG;IASd;;;OAGG;IACH,YAAY,KAAoB,EAAE,KAAe;QAC/C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACnD,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACH,MAAM;QACJ,MAAM,SAAS,GAAwB;YACrC,IAAI,EAAE,YAAY;YAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,KAAK;SACjB,CAAC;QACF,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI;YAAE,SAAS,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QAC5E,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;YACvB,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnF,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI;YAAE,SAAS,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjE,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACpF,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAxDD,kBAwDC"}
|
package/lib/manifest/app.mjs
CHANGED
|
@@ -1,15 +1,3 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* The contents of this file were inserted manually and are not generated by Stainless.
|
|
3
|
-
*
|
|
4
|
-
* Unity App definitions that group pages for navigation.
|
|
5
|
-
* Backend schema: CUSTOM_APP (v2)
|
|
6
|
-
*
|
|
7
|
-
* Pages are declared at construction as a flat array of live refs — pass a
|
|
8
|
-
* `CustomObject` for an object-page tab, or an `SduiPage` for a custom SDUI
|
|
9
|
-
* surface. The tab `api_name` is derived from the ref's own identifier.
|
|
10
|
-
* External refs (e.g. native-model `employee`, or an externally-authored
|
|
11
|
-
* SDUI page) are not supported yet; add when a real case appears.
|
|
12
|
-
*/
|
|
13
1
|
import { CustomObject } from "./custom-object.mjs";
|
|
14
2
|
function resolvePage(entry) {
|
|
15
3
|
if (entry instanceof CustomObject) {
|
|
@@ -29,8 +17,33 @@ function resolvePage(entry) {
|
|
|
29
17
|
};
|
|
30
18
|
}
|
|
31
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* Defines a Rippling app and registers it with the manifest.
|
|
22
|
+
*
|
|
23
|
+
* An app is the top-level navigation container. It groups one or more pages —
|
|
24
|
+
* either custom-object record pages or SDUI surfaces — as tabs visible to users.
|
|
25
|
+
* You would normally define the app last in your manifest file, after all objects,
|
|
26
|
+
* functions, and SDUI pages have been declared.
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```ts
|
|
30
|
+
* new App(manifest, {
|
|
31
|
+
* apiName: 'gym_membership_management_app',
|
|
32
|
+
* name: 'Gym Membership Management',
|
|
33
|
+
* description: 'Members, trainers, schedules, and check-in',
|
|
34
|
+
* appType: 'custom',
|
|
35
|
+
* pages: [memberObj, trainerObj, sessionObj, todaySchedulePage, checkInDeskPage],
|
|
36
|
+
* });
|
|
37
|
+
* ```
|
|
38
|
+
*
|
|
39
|
+
* @see {@link CustomObject} — object-page tab source.
|
|
40
|
+
* @see {@link SduiPage} — SDUI surface tab source.
|
|
41
|
+
*/
|
|
32
42
|
export class App {
|
|
33
|
-
/**
|
|
43
|
+
/**
|
|
44
|
+
* @param scope - The manifest to register this app with.
|
|
45
|
+
* @param props - Initialization properties.
|
|
46
|
+
*/
|
|
34
47
|
constructor(scope, props) {
|
|
35
48
|
this._apiName = props.apiName;
|
|
36
49
|
this._name = props.name;
|
|
@@ -40,15 +53,23 @@ export class App {
|
|
|
40
53
|
this._pages = (props.pages ?? []).map(resolvePage);
|
|
41
54
|
scope._register(this);
|
|
42
55
|
}
|
|
43
|
-
/**
|
|
56
|
+
/**
|
|
57
|
+
* Returns the api_name of this app (e.g. `'gym_membership_management_app'`).
|
|
58
|
+
*/
|
|
44
59
|
getApiName() {
|
|
45
60
|
return this._apiName;
|
|
46
61
|
}
|
|
47
|
-
/**
|
|
62
|
+
/**
|
|
63
|
+
* Returns the display name of this app.
|
|
64
|
+
*/
|
|
48
65
|
getName() {
|
|
49
66
|
return this._name;
|
|
50
67
|
}
|
|
51
|
-
/**
|
|
68
|
+
/**
|
|
69
|
+
* Serializes this app to the wire format consumed by the manifest install endpoint.
|
|
70
|
+
*
|
|
71
|
+
* @returns A plain object with `type: 'CUSTOM_APP'`. Optional fields are omitted when unset.
|
|
72
|
+
*/
|
|
52
73
|
toDict() {
|
|
53
74
|
const component = {
|
|
54
75
|
type: 'CUSTOM_APP',
|
package/lib/manifest/app.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.mjs","sourceRoot":"","sources":["../../src/lib/manifest/app.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"app.mjs","sourceRoot":"","sources":["../../src/lib/manifest/app.ts"],"names":[],"mappings":"OAAO,EAAE,YAAY,EAAE;AAkEvB,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;QACnC,OAAO;YACL,QAAQ,EAAE,OAAO;YACjB,SAAS,EAAE,aAAa;YACxB,eAAe,EAAE,OAAO;SACzB,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;QACzC,OAAO;YACL,QAAQ,EAAE,UAAU;YACpB,SAAS,EAAE,WAAW;YACtB,YAAY,EAAE,UAAU;SACzB,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,OAAO,GAAG;IASd;;;OAGG;IACH,YAAY,KAAoB,EAAE,KAAe;QAC/C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACnD,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACH,MAAM;QACJ,MAAM,SAAS,GAAwB;YACrC,IAAI,EAAE,YAAY;YAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,KAAK;SACjB,CAAC;QACF,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI;YAAE,SAAS,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC;QAC5E,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;YACvB,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnF,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI;YAAE,SAAS,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjE,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACpF,OAAO,SAAS,CAAC;IACnB,CAAC;CACF"}
|
|
@@ -1,23 +1,79 @@
|
|
|
1
1
|
import type { ManifestScope } from "./manifest-builder.mjs";
|
|
2
|
+
/**
|
|
3
|
+
* Initialization properties for {@link Category}.
|
|
4
|
+
*/
|
|
2
5
|
export interface CategoryProps {
|
|
3
|
-
/**
|
|
6
|
+
/**
|
|
7
|
+
* Unique identifier for this category (e.g. `'gym__c'`). Must end with `__c`.
|
|
8
|
+
*
|
|
9
|
+
* Required.
|
|
10
|
+
*/
|
|
4
11
|
apiName: string;
|
|
5
|
-
/**
|
|
12
|
+
/**
|
|
13
|
+
* Display name shown in the Rippling UI (e.g. `'Gym'`).
|
|
14
|
+
*
|
|
15
|
+
* Required.
|
|
16
|
+
*/
|
|
6
17
|
name: string;
|
|
7
|
-
/**
|
|
18
|
+
/**
|
|
19
|
+
* Human-readable description of what this category groups.
|
|
20
|
+
*
|
|
21
|
+
* Optional. @default null
|
|
22
|
+
*/
|
|
8
23
|
description?: string | null;
|
|
9
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* Defines a category and registers it with the manifest.
|
|
27
|
+
*
|
|
28
|
+
* A category is the navigation grouping that organizes related custom objects
|
|
29
|
+
* in the Rippling sidebar. You would normally define one category per domain,
|
|
30
|
+
* then pass it (or its api_name string) to each {@link CustomObject} in that domain.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```ts
|
|
34
|
+
* const manifest = new ManifestBuilder({
|
|
35
|
+
* key: 'gym_membership_management',
|
|
36
|
+
* name: 'Gym Membership Management',
|
|
37
|
+
* });
|
|
38
|
+
*
|
|
39
|
+
* const gymCategory = new Category(manifest, {
|
|
40
|
+
* apiName: 'gym__c',
|
|
41
|
+
* name: 'Gym',
|
|
42
|
+
* description: 'Memberships, staff, schedules, and attendance',
|
|
43
|
+
* });
|
|
44
|
+
*
|
|
45
|
+
* // Pass the instance to any CustomObject in this domain:
|
|
46
|
+
* const memberObj = new CustomObject(manifest, {
|
|
47
|
+
* apiName: 'gym_member__c',
|
|
48
|
+
* name: 'Member',
|
|
49
|
+
* category: gymCategory,
|
|
50
|
+
* });
|
|
51
|
+
* ```
|
|
52
|
+
*
|
|
53
|
+
* @see {@link CustomObject} — references this category via instance or api_name string.
|
|
54
|
+
*/
|
|
10
55
|
export declare class Category {
|
|
11
56
|
private readonly _apiName;
|
|
12
57
|
private readonly _name;
|
|
13
58
|
private readonly _description;
|
|
14
|
-
/**
|
|
59
|
+
/**
|
|
60
|
+
* @param scope - The manifest to register this category with.
|
|
61
|
+
* @param props - Initialization properties.
|
|
62
|
+
*/
|
|
15
63
|
constructor(scope: ManifestScope, props: CategoryProps);
|
|
16
|
-
/**
|
|
64
|
+
/**
|
|
65
|
+
* Returns the api_name of this category (e.g. `'gym__c'`).
|
|
66
|
+
*/
|
|
17
67
|
getApiName(): string;
|
|
18
|
-
/**
|
|
68
|
+
/**
|
|
69
|
+
* Returns the display name of this category (e.g. `'Gym'`).
|
|
70
|
+
*/
|
|
19
71
|
getName(): string;
|
|
20
|
-
/**
|
|
72
|
+
/**
|
|
73
|
+
* Serializes this category to the wire format consumed by the manifest install endpoint.
|
|
74
|
+
*
|
|
75
|
+
* @returns A plain object with `type: 'CUSTOM_CATEGORY'` and all configured fields.
|
|
76
|
+
*/
|
|
21
77
|
toDict(): Record<string, any>;
|
|
22
78
|
}
|
|
23
79
|
//# sourceMappingURL=category.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"category.d.mts","sourceRoot":"","sources":["../../src/lib/manifest/category.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"category.d.mts","sourceRoot":"","sources":["../../src/lib/manifest/category.ts"],"names":[],"mappings":"OAAO,KAAK,EAAE,aAAa,EAAE;AAE7B;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;IAE7C;;;OAGG;gBACS,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa;IAOtD;;OAEG;IACH,UAAU,IAAI,MAAM;IAIpB;;OAEG;IACH,OAAO,IAAI,MAAM;IAIjB;;;;OAIG;IACH,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAQ9B"}
|
|
@@ -1,23 +1,79 @@
|
|
|
1
1
|
import type { ManifestScope } from "./manifest-builder.js";
|
|
2
|
+
/**
|
|
3
|
+
* Initialization properties for {@link Category}.
|
|
4
|
+
*/
|
|
2
5
|
export interface CategoryProps {
|
|
3
|
-
/**
|
|
6
|
+
/**
|
|
7
|
+
* Unique identifier for this category (e.g. `'gym__c'`). Must end with `__c`.
|
|
8
|
+
*
|
|
9
|
+
* Required.
|
|
10
|
+
*/
|
|
4
11
|
apiName: string;
|
|
5
|
-
/**
|
|
12
|
+
/**
|
|
13
|
+
* Display name shown in the Rippling UI (e.g. `'Gym'`).
|
|
14
|
+
*
|
|
15
|
+
* Required.
|
|
16
|
+
*/
|
|
6
17
|
name: string;
|
|
7
|
-
/**
|
|
18
|
+
/**
|
|
19
|
+
* Human-readable description of what this category groups.
|
|
20
|
+
*
|
|
21
|
+
* Optional. @default null
|
|
22
|
+
*/
|
|
8
23
|
description?: string | null;
|
|
9
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* Defines a category and registers it with the manifest.
|
|
27
|
+
*
|
|
28
|
+
* A category is the navigation grouping that organizes related custom objects
|
|
29
|
+
* in the Rippling sidebar. You would normally define one category per domain,
|
|
30
|
+
* then pass it (or its api_name string) to each {@link CustomObject} in that domain.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```ts
|
|
34
|
+
* const manifest = new ManifestBuilder({
|
|
35
|
+
* key: 'gym_membership_management',
|
|
36
|
+
* name: 'Gym Membership Management',
|
|
37
|
+
* });
|
|
38
|
+
*
|
|
39
|
+
* const gymCategory = new Category(manifest, {
|
|
40
|
+
* apiName: 'gym__c',
|
|
41
|
+
* name: 'Gym',
|
|
42
|
+
* description: 'Memberships, staff, schedules, and attendance',
|
|
43
|
+
* });
|
|
44
|
+
*
|
|
45
|
+
* // Pass the instance to any CustomObject in this domain:
|
|
46
|
+
* const memberObj = new CustomObject(manifest, {
|
|
47
|
+
* apiName: 'gym_member__c',
|
|
48
|
+
* name: 'Member',
|
|
49
|
+
* category: gymCategory,
|
|
50
|
+
* });
|
|
51
|
+
* ```
|
|
52
|
+
*
|
|
53
|
+
* @see {@link CustomObject} — references this category via instance or api_name string.
|
|
54
|
+
*/
|
|
10
55
|
export declare class Category {
|
|
11
56
|
private readonly _apiName;
|
|
12
57
|
private readonly _name;
|
|
13
58
|
private readonly _description;
|
|
14
|
-
/**
|
|
59
|
+
/**
|
|
60
|
+
* @param scope - The manifest to register this category with.
|
|
61
|
+
* @param props - Initialization properties.
|
|
62
|
+
*/
|
|
15
63
|
constructor(scope: ManifestScope, props: CategoryProps);
|
|
16
|
-
/**
|
|
64
|
+
/**
|
|
65
|
+
* Returns the api_name of this category (e.g. `'gym__c'`).
|
|
66
|
+
*/
|
|
17
67
|
getApiName(): string;
|
|
18
|
-
/**
|
|
68
|
+
/**
|
|
69
|
+
* Returns the display name of this category (e.g. `'Gym'`).
|
|
70
|
+
*/
|
|
19
71
|
getName(): string;
|
|
20
|
-
/**
|
|
72
|
+
/**
|
|
73
|
+
* Serializes this category to the wire format consumed by the manifest install endpoint.
|
|
74
|
+
*
|
|
75
|
+
* @returns A plain object with `type: 'CUSTOM_CATEGORY'` and all configured fields.
|
|
76
|
+
*/
|
|
21
77
|
toDict(): Record<string, any>;
|
|
22
78
|
}
|
|
23
79
|
//# sourceMappingURL=category.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"category.d.ts","sourceRoot":"","sources":["../../src/lib/manifest/category.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"category.d.ts","sourceRoot":"","sources":["../../src/lib/manifest/category.ts"],"names":[],"mappings":"OAAO,KAAK,EAAE,aAAa,EAAE;AAE7B;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;IAE7C;;;OAGG;gBACS,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa;IAOtD;;OAEG;IACH,UAAU,IAAI,MAAM;IAIpB;;OAEG;IACH,OAAO,IAAI,MAAM;IAIjB;;;;OAIG;IACH,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAQ9B"}
|