@rippling/rippling-sdk 0.2.0-alpha.45 → 0.2.0-alpha.47
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 +2 -2
- package/lib/manifest/app.d.mts.map +1 -1
- package/lib/manifest/app.d.ts +2 -2
- package/lib/manifest/app.d.ts.map +1 -1
- package/lib/manifest/app.js +15 -4
- package/lib/manifest/app.js.map +1 -1
- package/lib/manifest/app.mjs +15 -4
- package/lib/manifest/app.mjs.map +1 -1
- package/lib/manifest/custom-object-page-layout.d.mts +10 -3
- package/lib/manifest/custom-object-page-layout.d.mts.map +1 -1
- package/lib/manifest/custom-object-page-layout.d.ts +10 -3
- package/lib/manifest/custom-object-page-layout.d.ts.map +1 -1
- package/lib/manifest/custom-object-page-layout.js +120 -24
- package/lib/manifest/custom-object-page-layout.js.map +1 -1
- package/lib/manifest/custom-object-page-layout.mjs +120 -24
- package/lib/manifest/custom-object-page-layout.mjs.map +1 -1
- package/package.json +1 -1
- package/src/lib/manifest/app.ts +19 -5
- package/src/lib/manifest/custom-object-page-layout.ts +145 -30
- 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
|
@@ -54,9 +54,9 @@ export interface AppProps {
|
|
|
54
54
|
/**
|
|
55
55
|
* SDUI pages shown as tabs in the app. Tab order matches the array order.
|
|
56
56
|
*
|
|
57
|
-
*
|
|
57
|
+
* Required. Must include at least one page.
|
|
58
58
|
*/
|
|
59
|
-
pages
|
|
59
|
+
pages: AppPage[];
|
|
60
60
|
}
|
|
61
61
|
/**
|
|
62
62
|
* Defines a Rippling app and registers it with the manifest.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.mts","sourceRoot":"","sources":["../../src/lib/manifest/app.ts"],"names":[],"mappings":"OAAO,EAA8B,KAAK,8BAA8B,EAAE;OACnE,KAAK,EAAE,yBAAyB,EAAE,aAAa,EAAE;OACjD,EAAE,QAAQ,EAAE;AAGnB;;;;;GAKG;AACH,MAAM,MAAM,OAAO,GAAG,QAAQ,CAAC;AAE/B;;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;;;;OAIG;IACH,KAAK,
|
|
1
|
+
{"version":3,"file":"app.d.mts","sourceRoot":"","sources":["../../src/lib/manifest/app.ts"],"names":[],"mappings":"OAAO,EAA8B,KAAK,8BAA8B,EAAE;OACnE,KAAK,EAAE,yBAAyB,EAAE,aAAa,EAAE;OACjD,EAAE,QAAQ,EAAE;AAGnB;;;;;GAKG;AACH,MAAM,MAAM,OAAO,GAAG,QAAQ,CAAC;AAE/B;;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;;;;OAIG;IACH,KAAK,EAAE,OAAO,EAAE,CAAC;CAClB;AAmCD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,GAAG;IACd,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAG,YAAY,CAAU;IAEtD,MAAM,CAAC,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,yBAAyB;IAOvE,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,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,8BAAmC,GAAG,GAAG;IAI3F,kEAAkE;IAClE,MAAM,CAAC,sBAAsB,CAAC,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG;IAcxF,OAAO,CAAC,MAAM,CAAC,4BAA4B;IAO3C;;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
|
@@ -54,9 +54,9 @@ export interface AppProps {
|
|
|
54
54
|
/**
|
|
55
55
|
* SDUI pages shown as tabs in the app. Tab order matches the array order.
|
|
56
56
|
*
|
|
57
|
-
*
|
|
57
|
+
* Required. Must include at least one page.
|
|
58
58
|
*/
|
|
59
|
-
pages
|
|
59
|
+
pages: AppPage[];
|
|
60
60
|
}
|
|
61
61
|
/**
|
|
62
62
|
* Defines a Rippling app and registers it with the manifest.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/lib/manifest/app.ts"],"names":[],"mappings":"OAAO,EAA8B,KAAK,8BAA8B,EAAE;OACnE,KAAK,EAAE,yBAAyB,EAAE,aAAa,EAAE;OACjD,EAAE,QAAQ,EAAE;AAGnB;;;;;GAKG;AACH,MAAM,MAAM,OAAO,GAAG,QAAQ,CAAC;AAE/B;;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;;;;OAIG;IACH,KAAK,
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/lib/manifest/app.ts"],"names":[],"mappings":"OAAO,EAA8B,KAAK,8BAA8B,EAAE;OACnE,KAAK,EAAE,yBAAyB,EAAE,aAAa,EAAE;OACjD,EAAE,QAAQ,EAAE;AAGnB;;;;;GAKG;AACH,MAAM,MAAM,OAAO,GAAG,QAAQ,CAAC;AAE/B;;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;;;;OAIG;IACH,KAAK,EAAE,OAAO,EAAE,CAAC;CAClB;AAmCD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,GAAG;IACd,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAG,YAAY,CAAU;IAEtD,MAAM,CAAC,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,yBAAyB;IAOvE,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,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,8BAAmC,GAAG,GAAG;IAI3F,kEAAkE;IAClE,MAAM,CAAC,sBAAsB,CAAC,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG;IAcxF,OAAO,CAAC,MAAM,CAAC,4BAA4B;IAO3C;;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
|
@@ -15,6 +15,18 @@ function resolvePage(entry) {
|
|
|
15
15
|
sdui_page_id: sduiPageId,
|
|
16
16
|
};
|
|
17
17
|
}
|
|
18
|
+
function resolvePages(pages) {
|
|
19
|
+
if (pages == null || pages.length === 0) {
|
|
20
|
+
throw new Error('App pages must include at least one page.');
|
|
21
|
+
}
|
|
22
|
+
return pages.map(resolvePage);
|
|
23
|
+
}
|
|
24
|
+
function clonePages(value) {
|
|
25
|
+
if (!Array.isArray(value) || value.length === 0) {
|
|
26
|
+
throw new Error('App pages must include at least one page.');
|
|
27
|
+
}
|
|
28
|
+
return cloneJson(value);
|
|
29
|
+
}
|
|
18
30
|
function cloneJson(value) {
|
|
19
31
|
if (value == null)
|
|
20
32
|
return value;
|
|
@@ -57,7 +69,7 @@ class App {
|
|
|
57
69
|
this._description = props.description;
|
|
58
70
|
this._appType = props.appType;
|
|
59
71
|
this._icon = props.icon;
|
|
60
|
-
this._pages = (props.pages
|
|
72
|
+
this._pages = resolvePages(props.pages);
|
|
61
73
|
scope._register(this);
|
|
62
74
|
}
|
|
63
75
|
/**
|
|
@@ -75,7 +87,7 @@ class App {
|
|
|
75
87
|
_description: component['description'],
|
|
76
88
|
_appType: component['app_type'],
|
|
77
89
|
_icon: App.appIconFromExistingComponent(component['icon']),
|
|
78
|
-
_pages:
|
|
90
|
+
_pages: clonePages(component['pages']),
|
|
79
91
|
});
|
|
80
92
|
scope._register(app);
|
|
81
93
|
return app;
|
|
@@ -118,8 +130,7 @@ class App {
|
|
|
118
130
|
}
|
|
119
131
|
if (this._appType != null)
|
|
120
132
|
component['app_type'] = this._appType;
|
|
121
|
-
|
|
122
|
-
component['pages'] = this._pages.map((p) => ({ ...p }));
|
|
133
|
+
component['pages'] = this._pages.map((p) => ({ ...p }));
|
|
123
134
|
return component;
|
|
124
135
|
}
|
|
125
136
|
}
|
package/lib/manifest/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/lib/manifest/app.ts"],"names":[],"mappings":";;;AAAA,8EAA8G;AAE9G,8CAAuC;AACvC,gFAA2E;AA8D3E,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,CAAC,CAAC,KAAK,YAAY,oBAAQ,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACb,iHAAiH,CAClH,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;IACzC,OAAO;QACL,QAAQ,EAAE,UAAU;QACpB,SAAS,EAAE,WAAW;QACtB,YAAY,EAAE,UAAU;KACzB,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAI,KAAQ;IAC5B,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,KAAK,CAAC;IAChC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAM,CAAC;AAChD,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAa,GAAG;IAGd,MAAM,CAAC,oBAAoB,CAAC,OAAe;QACzC,OAAO;YACL,IAAI,EAAE,GAAG,CAAC,aAAa;YACvB,QAAQ,EAAE,OAAO;SAClB,CAAC;IACJ,CAAC;IAUD;;;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,
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/lib/manifest/app.ts"],"names":[],"mappings":"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"}
|
package/lib/manifest/app.mjs
CHANGED
|
@@ -12,6 +12,18 @@ function resolvePage(entry) {
|
|
|
12
12
|
sdui_page_id: sduiPageId,
|
|
13
13
|
};
|
|
14
14
|
}
|
|
15
|
+
function resolvePages(pages) {
|
|
16
|
+
if (pages == null || pages.length === 0) {
|
|
17
|
+
throw new Error('App pages must include at least one page.');
|
|
18
|
+
}
|
|
19
|
+
return pages.map(resolvePage);
|
|
20
|
+
}
|
|
21
|
+
function clonePages(value) {
|
|
22
|
+
if (!Array.isArray(value) || value.length === 0) {
|
|
23
|
+
throw new Error('App pages must include at least one page.');
|
|
24
|
+
}
|
|
25
|
+
return cloneJson(value);
|
|
26
|
+
}
|
|
15
27
|
function cloneJson(value) {
|
|
16
28
|
if (value == null)
|
|
17
29
|
return value;
|
|
@@ -54,7 +66,7 @@ export class App {
|
|
|
54
66
|
this._description = props.description;
|
|
55
67
|
this._appType = props.appType;
|
|
56
68
|
this._icon = props.icon;
|
|
57
|
-
this._pages = (props.pages
|
|
69
|
+
this._pages = resolvePages(props.pages);
|
|
58
70
|
scope._register(this);
|
|
59
71
|
}
|
|
60
72
|
/**
|
|
@@ -72,7 +84,7 @@ export class App {
|
|
|
72
84
|
_description: component['description'],
|
|
73
85
|
_appType: component['app_type'],
|
|
74
86
|
_icon: App.appIconFromExistingComponent(component['icon']),
|
|
75
|
-
_pages:
|
|
87
|
+
_pages: clonePages(component['pages']),
|
|
76
88
|
});
|
|
77
89
|
scope._register(app);
|
|
78
90
|
return app;
|
|
@@ -115,8 +127,7 @@ export class App {
|
|
|
115
127
|
}
|
|
116
128
|
if (this._appType != null)
|
|
117
129
|
component['app_type'] = this._appType;
|
|
118
|
-
|
|
119
|
-
component['pages'] = this._pages.map((p) => ({ ...p }));
|
|
130
|
+
component['pages'] = this._pages.map((p) => ({ ...p }));
|
|
120
131
|
return component;
|
|
121
132
|
}
|
|
122
133
|
}
|
package/lib/manifest/app.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.mjs","sourceRoot":"","sources":["../../src/lib/manifest/app.ts"],"names":[],"mappings":"OAAO,EAAE,0BAA0B,EAAuC;OAEnE,EAAE,QAAQ,EAAE;OACZ,EAAE,2BAA2B,EAAE;AA8DtC,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,CAAC,CAAC,KAAK,YAAY,QAAQ,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACb,iHAAiH,CAClH,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;IACzC,OAAO;QACL,QAAQ,EAAE,UAAU;QACpB,SAAS,EAAE,WAAW;QACtB,YAAY,EAAE,UAAU;KACzB,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAI,KAAQ;IAC5B,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,KAAK,CAAC;IAChC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAM,CAAC;AAChD,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,OAAO,GAAG;IAGd,MAAM,CAAC,oBAAoB,CAAC,OAAe;QACzC,OAAO;YACL,IAAI,EAAE,GAAG,CAAC,aAAa;YACvB,QAAQ,EAAE,OAAO;SAClB,CAAC;IACJ,CAAC;IAUD;;;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,
|
|
1
|
+
{"version":3,"file":"app.mjs","sourceRoot":"","sources":["../../src/lib/manifest/app.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ export interface SystemHeaderFieldEdit {
|
|
|
18
18
|
* Custom header field added via `newFields`.
|
|
19
19
|
*
|
|
20
20
|
* `key` is required and must be non-empty — it is used as the stable identity
|
|
21
|
-
* for this field in
|
|
21
|
+
* for this field in visibility conditions.
|
|
22
22
|
*/
|
|
23
23
|
export interface NewHeaderField {
|
|
24
24
|
/** RQL field name to display. Required. */
|
|
@@ -54,7 +54,7 @@ export interface HeaderEdits {
|
|
|
54
54
|
systemFieldEdits?: Record<string, SystemHeaderFieldEdit>;
|
|
55
55
|
/** Additional custom fields to add to the header. Optional. */
|
|
56
56
|
newFields?: NewHeaderField[];
|
|
57
|
-
/** Ordered list of header field
|
|
57
|
+
/** Ordered list of header field RQL names. Custom header keys are accepted and converted. Optional. */
|
|
58
58
|
headerFieldsOrder?: string[];
|
|
59
59
|
/** Action button keys to show in the header. Optional. */
|
|
60
60
|
buttons?: string[];
|
|
@@ -80,6 +80,8 @@ export interface FieldsSection {
|
|
|
80
80
|
type: 'fields_section';
|
|
81
81
|
/** Field section metadata for the fields displayed in this layout section. Required. */
|
|
82
82
|
section: CustomObjectFieldSection;
|
|
83
|
+
/** Stable layout section key. Derived from `section.getSectionId()` on the wire. */
|
|
84
|
+
key?: never;
|
|
83
85
|
/** Display name of the layout section. Optional. Defaults to the field section name. */
|
|
84
86
|
name?: string;
|
|
85
87
|
/** Fields to display in this section. Required. */
|
|
@@ -299,7 +301,7 @@ export interface RemoveSystemPageLayoutSectionOptions {
|
|
|
299
301
|
}
|
|
300
302
|
/** Options for adding a tab to a layout. */
|
|
301
303
|
export interface AddPageLayoutTabOptions {
|
|
302
|
-
/** Insert position inside `newTabs`. Optional. @default `'end'` */
|
|
304
|
+
/** Insert position inside `newTabs` and `tabsOrder`. Optional. @default `'end'` */
|
|
303
305
|
position?: PageLayoutMutationPosition;
|
|
304
306
|
/** Allow another tab with the same key. Optional. @default false */
|
|
305
307
|
allowDuplicate?: boolean;
|
|
@@ -524,6 +526,11 @@ export declare class CustomObjectPageLayout {
|
|
|
524
526
|
setDescriptionField(field: Field | string | null): this;
|
|
525
527
|
/** Removes the record description field from the header. */
|
|
526
528
|
removeDescriptionField(): this;
|
|
529
|
+
private ensureTabsOrder;
|
|
530
|
+
private ensureSystemSectionsOrder;
|
|
531
|
+
private ensureHeaderFieldsOrder;
|
|
532
|
+
private headerOrderFieldIsUsed;
|
|
533
|
+
private removeHeaderOrderFieldIfUnused;
|
|
527
534
|
private serializeFieldForMutation;
|
|
528
535
|
private normalizeSectionFieldForMutation;
|
|
529
536
|
private normalizeSectionForMutation;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom-object-page-layout.d.mts","sourceRoot":"","sources":["../../src/lib/manifest/custom-object-page-layout.ts"],"names":[],"mappings":"OACO,EAAE,wBAAwB,EAAE;OAC5B,KAAK,EAAE,YAAY,EAAE;OACrB,EAA8B,KAAK,8BAA8B,EAAE;OACnE,KAAK,EAAE,KAAK,EAAE;OACd,KAAK,EAAE,yBAAyB,EAAE;AAGzC,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB;AAMD,gDAAgD;AAChD,MAAM,WAAW,qBAAqB;IACpC,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,wDAAwD;IACxD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,kEAAkE;IAClE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,yDAAyD;IACzD,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAW;IAC1B,4EAA4E;IAC5E,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,wDAAwD;IACxD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,sDAAsD;IACtD,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,8DAA8D;IAC9D,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,mFAAmF;IACnF,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACzD,+DAA+D;IAC/D,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7B,
|
|
1
|
+
{"version":3,"file":"custom-object-page-layout.d.mts","sourceRoot":"","sources":["../../src/lib/manifest/custom-object-page-layout.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ export interface SystemHeaderFieldEdit {
|
|
|
18
18
|
* Custom header field added via `newFields`.
|
|
19
19
|
*
|
|
20
20
|
* `key` is required and must be non-empty — it is used as the stable identity
|
|
21
|
-
* for this field in
|
|
21
|
+
* for this field in visibility conditions.
|
|
22
22
|
*/
|
|
23
23
|
export interface NewHeaderField {
|
|
24
24
|
/** RQL field name to display. Required. */
|
|
@@ -54,7 +54,7 @@ export interface HeaderEdits {
|
|
|
54
54
|
systemFieldEdits?: Record<string, SystemHeaderFieldEdit>;
|
|
55
55
|
/** Additional custom fields to add to the header. Optional. */
|
|
56
56
|
newFields?: NewHeaderField[];
|
|
57
|
-
/** Ordered list of header field
|
|
57
|
+
/** Ordered list of header field RQL names. Custom header keys are accepted and converted. Optional. */
|
|
58
58
|
headerFieldsOrder?: string[];
|
|
59
59
|
/** Action button keys to show in the header. Optional. */
|
|
60
60
|
buttons?: string[];
|
|
@@ -80,6 +80,8 @@ export interface FieldsSection {
|
|
|
80
80
|
type: 'fields_section';
|
|
81
81
|
/** Field section metadata for the fields displayed in this layout section. Required. */
|
|
82
82
|
section: CustomObjectFieldSection;
|
|
83
|
+
/** Stable layout section key. Derived from `section.getSectionId()` on the wire. */
|
|
84
|
+
key?: never;
|
|
83
85
|
/** Display name of the layout section. Optional. Defaults to the field section name. */
|
|
84
86
|
name?: string;
|
|
85
87
|
/** Fields to display in this section. Required. */
|
|
@@ -299,7 +301,7 @@ export interface RemoveSystemPageLayoutSectionOptions {
|
|
|
299
301
|
}
|
|
300
302
|
/** Options for adding a tab to a layout. */
|
|
301
303
|
export interface AddPageLayoutTabOptions {
|
|
302
|
-
/** Insert position inside `newTabs`. Optional. @default `'end'` */
|
|
304
|
+
/** Insert position inside `newTabs` and `tabsOrder`. Optional. @default `'end'` */
|
|
303
305
|
position?: PageLayoutMutationPosition;
|
|
304
306
|
/** Allow another tab with the same key. Optional. @default false */
|
|
305
307
|
allowDuplicate?: boolean;
|
|
@@ -524,6 +526,11 @@ export declare class CustomObjectPageLayout {
|
|
|
524
526
|
setDescriptionField(field: Field | string | null): this;
|
|
525
527
|
/** Removes the record description field from the header. */
|
|
526
528
|
removeDescriptionField(): this;
|
|
529
|
+
private ensureTabsOrder;
|
|
530
|
+
private ensureSystemSectionsOrder;
|
|
531
|
+
private ensureHeaderFieldsOrder;
|
|
532
|
+
private headerOrderFieldIsUsed;
|
|
533
|
+
private removeHeaderOrderFieldIfUnused;
|
|
527
534
|
private serializeFieldForMutation;
|
|
528
535
|
private normalizeSectionFieldForMutation;
|
|
529
536
|
private normalizeSectionForMutation;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom-object-page-layout.d.ts","sourceRoot":"","sources":["../../src/lib/manifest/custom-object-page-layout.ts"],"names":[],"mappings":"OACO,EAAE,wBAAwB,EAAE;OAC5B,KAAK,EAAE,YAAY,EAAE;OACrB,EAA8B,KAAK,8BAA8B,EAAE;OACnE,KAAK,EAAE,KAAK,EAAE;OACd,KAAK,EAAE,yBAAyB,EAAE;AAGzC,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB;AAMD,gDAAgD;AAChD,MAAM,WAAW,qBAAqB;IACpC,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,wDAAwD;IACxD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,kEAAkE;IAClE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,yDAAyD;IACzD,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAW;IAC1B,4EAA4E;IAC5E,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,wDAAwD;IACxD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,sDAAsD;IACtD,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,8DAA8D;IAC9D,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,mFAAmF;IACnF,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACzD,+DAA+D;IAC/D,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7B,
|
|
1
|
+
{"version":3,"file":"custom-object-page-layout.d.ts","sourceRoot":"","sources":["../../src/lib/manifest/custom-object-page-layout.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,10 @@ function isCustomObjectFieldSection(value) {
|
|
|
22
22
|
return value instanceof custom_object_field_section_1.CustomObjectFieldSection;
|
|
23
23
|
}
|
|
24
24
|
function attachFieldSectionId(section, sectionId) {
|
|
25
|
+
if (section.key != null && section.key !== sectionId) {
|
|
26
|
+
throw new Error(`CustomObjectPageLayout fields_section key "${section.key}" does not match field section "${sectionId}".`);
|
|
27
|
+
}
|
|
28
|
+
section.key = sectionId;
|
|
25
29
|
Object.defineProperty(section, FIELD_SECTION_ID, {
|
|
26
30
|
value: sectionId,
|
|
27
31
|
enumerable: false,
|
|
@@ -30,7 +34,8 @@ function attachFieldSectionId(section, sectionId) {
|
|
|
30
34
|
return section;
|
|
31
35
|
}
|
|
32
36
|
function layoutSectionKey(section) {
|
|
33
|
-
return section
|
|
37
|
+
return (section.key ??
|
|
38
|
+
section[FIELD_SECTION_ID]);
|
|
34
39
|
}
|
|
35
40
|
function layoutSectionMatches(section, sectionKey) {
|
|
36
41
|
return layoutSectionKey(section) === sectionKey;
|
|
@@ -39,13 +44,6 @@ function inputFieldsSectionHasKey(input) {
|
|
|
39
44
|
const record = input;
|
|
40
45
|
return Object.prototype.hasOwnProperty.call(record, 'key') && record['key'] != null;
|
|
41
46
|
}
|
|
42
|
-
function assertNoSerializedSectionKey(section) {
|
|
43
|
-
const record = section;
|
|
44
|
-
if (Object.prototype.hasOwnProperty.call(record, 'key') && record['key'] != null) {
|
|
45
|
-
throw new Error('CustomObjectPageLayout loaded fields_section key is not supported. ' +
|
|
46
|
-
'Remove key and target the section with CustomObjectFieldSection metadata.');
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
47
|
function assertSameObject(customObject, field, sectionKey) {
|
|
50
48
|
if (field.getCustomObjectApiName() !== customObject.getApiName()) {
|
|
51
49
|
throw new Error(`CustomObjectPageLayout fields_section "${sectionKey}" references field "${field.getApiName()}" ` +
|
|
@@ -191,7 +189,40 @@ function normalizeHeaderEdits(headerEdits) {
|
|
|
191
189
|
for (const [index, field] of (headerEdits.newFields ?? []).entries()) {
|
|
192
190
|
assertKnownKeys(field, NEW_HEADER_FIELD_KEYS, `CustomObjectPageLayout headerEdits.newFields[${index}]`, 'Use { rqlName, key } entries, or call addHeaderField(field).');
|
|
193
191
|
}
|
|
194
|
-
|
|
192
|
+
if (headerEdits.headerFieldsOrder == null)
|
|
193
|
+
return headerEdits;
|
|
194
|
+
return {
|
|
195
|
+
...headerEdits,
|
|
196
|
+
headerFieldsOrder: normalizeHeaderFieldsOrder(headerEdits),
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
function addUniqueHeaderOrderField(order, field) {
|
|
200
|
+
if (typeof field !== 'string' || field.length === 0)
|
|
201
|
+
return;
|
|
202
|
+
if (!order.includes(field))
|
|
203
|
+
order.push(field);
|
|
204
|
+
}
|
|
205
|
+
function normalizeHeaderFieldsOrder(headerEdits) {
|
|
206
|
+
const customFieldRqlByKey = new Map((headerEdits.newFields ?? []).map((field) => [field.key, field.rqlName]));
|
|
207
|
+
const systemFieldRqlByKey = new Map(Object.entries(headerEdits.systemFieldEdits ?? {})
|
|
208
|
+
.filter((entry) => {
|
|
209
|
+
const [, edit] = entry;
|
|
210
|
+
return typeof edit.newRqlField === 'string' && edit.newRqlField.length > 0;
|
|
211
|
+
})
|
|
212
|
+
.map(([key, edit]) => [key, edit.newRqlField]));
|
|
213
|
+
const order = [];
|
|
214
|
+
for (const entry of headerEdits.headerFieldsOrder ?? []) {
|
|
215
|
+
addUniqueHeaderOrderField(order, customFieldRqlByKey.get(entry) ?? systemFieldRqlByKey.get(entry) ?? entry);
|
|
216
|
+
}
|
|
217
|
+
addUniqueHeaderOrderField(order, headerEdits.newTitleField);
|
|
218
|
+
addUniqueHeaderOrderField(order, headerEdits.newDescriptionField);
|
|
219
|
+
for (const field of headerEdits.newFields ?? []) {
|
|
220
|
+
addUniqueHeaderOrderField(order, field.rqlName);
|
|
221
|
+
}
|
|
222
|
+
for (const systemEdit of Object.values(headerEdits.systemFieldEdits ?? {})) {
|
|
223
|
+
addUniqueHeaderOrderField(order, systemEdit.newRqlField);
|
|
224
|
+
}
|
|
225
|
+
return order;
|
|
195
226
|
}
|
|
196
227
|
function isTabWithSections(tab) {
|
|
197
228
|
return tab.type === 'tab_with_sections';
|
|
@@ -209,6 +240,11 @@ function insertionIndex(length, position) {
|
|
|
209
240
|
function insertAt(items, item, position) {
|
|
210
241
|
items.splice(insertionIndex(items.length, position), 0, item);
|
|
211
242
|
}
|
|
243
|
+
function insertUniqueAt(items, item, position) {
|
|
244
|
+
if (item == null || item.length === 0 || items.includes(item))
|
|
245
|
+
return;
|
|
246
|
+
insertAt(items, item, position);
|
|
247
|
+
}
|
|
212
248
|
function fieldRqlNameOf(entry) {
|
|
213
249
|
if (typeof entry === 'string')
|
|
214
250
|
return entry;
|
|
@@ -243,8 +279,13 @@ function inferredSectionIdFromFields(section, resolveFieldSectionId) {
|
|
|
243
279
|
return sectionIds.size === 1 ? [...sectionIds][0] : undefined;
|
|
244
280
|
}
|
|
245
281
|
function annotateLoadedFieldsSection(section, resolveFieldSectionId) {
|
|
246
|
-
|
|
247
|
-
const
|
|
282
|
+
const explicitSectionId = layoutSectionKey(section);
|
|
283
|
+
const inferredSectionId = inferredSectionIdFromFields(section, resolveFieldSectionId);
|
|
284
|
+
if (explicitSectionId != null && inferredSectionId != null && explicitSectionId !== inferredSectionId) {
|
|
285
|
+
throw new Error(`CustomObjectPageLayout fields_section key "${explicitSectionId}" does not match ` +
|
|
286
|
+
`field section "${inferredSectionId}".`);
|
|
287
|
+
}
|
|
288
|
+
const sectionId = explicitSectionId ?? inferredSectionId;
|
|
248
289
|
return sectionId == null ? section : attachFieldSectionId(section, sectionId);
|
|
249
290
|
}
|
|
250
291
|
function annotateLoadedTabEdits(tabEdits, resolveFieldSectionId) {
|
|
@@ -549,7 +590,9 @@ class CustomObjectPageLayout {
|
|
|
549
590
|
const tabEdit = this.ensureSystemTabEdit(options.tabKey);
|
|
550
591
|
const sections = ensureArrayProperty(tabEdit, 'newSections', `systemTabEdits.${options.tabKey}.newSections`);
|
|
551
592
|
this.assertSectionKeyAvailable(sections, layoutSectionKey(normalized), options.tabKey, options.allowDuplicate);
|
|
593
|
+
const sectionsOrder = this.ensureSystemSectionsOrder(tabEdit);
|
|
552
594
|
insertAt(sections, normalized, options.position);
|
|
595
|
+
insertUniqueAt(sectionsOrder, layoutSectionKey(normalized), options.position);
|
|
553
596
|
return this;
|
|
554
597
|
}
|
|
555
598
|
const tab = this.findNewTabWithSections(options.tabKey);
|
|
@@ -571,6 +614,7 @@ class CustomObjectPageLayout {
|
|
|
571
614
|
}
|
|
572
615
|
const sectionEdit = this.ensureSystemSectionEdit(options.tabKey, sectionOrKey);
|
|
573
616
|
sectionEdit.deleted = true;
|
|
617
|
+
removeKeyFromOrder(this._tabEdits.systemTabEdits?.[options.tabKey]?.sectionsOrder, sectionOrKey);
|
|
574
618
|
this.removeSectionVisibility(sectionOrKey);
|
|
575
619
|
return this;
|
|
576
620
|
}
|
|
@@ -627,10 +671,9 @@ class CustomObjectPageLayout {
|
|
|
627
671
|
if (options.allowDuplicate !== true && newTabs.some((existing) => existing.key === normalized.key)) {
|
|
628
672
|
throw new Error(`CustomObjectPageLayout already contains tab "${normalized.key}".`);
|
|
629
673
|
}
|
|
674
|
+
const tabsOrder = this.ensureTabsOrder();
|
|
630
675
|
insertAt(newTabs, normalized, options.position);
|
|
631
|
-
|
|
632
|
-
insertAt(this._tabEdits.tabsOrder, normalized.key, options.position);
|
|
633
|
-
}
|
|
676
|
+
insertUniqueAt(tabsOrder, normalized.key, options.position);
|
|
634
677
|
return this;
|
|
635
678
|
}
|
|
636
679
|
/**
|
|
@@ -663,10 +706,9 @@ class CustomObjectPageLayout {
|
|
|
663
706
|
if (options.allowDuplicate !== true && newFields.some((existing) => existing.key === headerField.key)) {
|
|
664
707
|
throw new Error(`CustomObjectPageLayout header already contains field key "${headerField.key}".`);
|
|
665
708
|
}
|
|
709
|
+
const headerFieldsOrder = this.ensureHeaderFieldsOrder();
|
|
666
710
|
insertAt(newFields, headerField, options.position);
|
|
667
|
-
|
|
668
|
-
insertAt(this._headerEdits.headerFieldsOrder, headerField.key, options.position);
|
|
669
|
-
}
|
|
711
|
+
insertUniqueAt(headerFieldsOrder, headerField.rqlName, options.position);
|
|
670
712
|
return this;
|
|
671
713
|
}
|
|
672
714
|
/** Removes custom header fields from `header_edits.newFields`. */
|
|
@@ -676,47 +718,101 @@ class CustomObjectPageLayout {
|
|
|
676
718
|
this.assertFieldBelongsToLayout(fieldOrKey);
|
|
677
719
|
const key = typeof fieldOrKey === 'string' ? fieldOrKey : fieldApiName;
|
|
678
720
|
const newFields = this._headerEdits.newFields ?? [];
|
|
679
|
-
const
|
|
721
|
+
const removedFields = [];
|
|
680
722
|
const removed = removeFromArray(newFields, (field) => {
|
|
681
723
|
const matched = field.key === key || (fieldApiName != null && field.rqlName === fieldApiName);
|
|
682
724
|
if (matched)
|
|
683
|
-
|
|
725
|
+
removedFields.push(field);
|
|
684
726
|
return matched;
|
|
685
727
|
}, `CustomObjectPageLayout header field "${key}"`, options.removeAll !== false);
|
|
686
728
|
if (removed === 0) {
|
|
687
729
|
throw new Error(`CustomObjectPageLayout header does not contain field "${key}".`);
|
|
688
730
|
}
|
|
689
|
-
for (const
|
|
690
|
-
|
|
691
|
-
}
|
|
731
|
+
for (const removedField of removedFields)
|
|
732
|
+
this.removeHeaderOrderFieldIfUnused(removedField);
|
|
692
733
|
return this;
|
|
693
734
|
}
|
|
694
735
|
/** Sets the record title field in `header_edits`. */
|
|
695
736
|
setTitleField(field) {
|
|
696
|
-
this._headerEdits.newTitleField
|
|
737
|
+
const previousTitleField = this._headerEdits.newTitleField;
|
|
738
|
+
const nextTitleField = this.headerFieldApiName(field);
|
|
739
|
+
this._headerEdits.newTitleField = nextTitleField;
|
|
697
740
|
if (field != null)
|
|
698
741
|
this._headerEdits.titleFieldDeleted = false;
|
|
742
|
+
insertUniqueAt(this.ensureHeaderFieldsOrder(), nextTitleField, 'end');
|
|
743
|
+
this.removeHeaderOrderFieldIfUnused(previousTitleField);
|
|
699
744
|
return this;
|
|
700
745
|
}
|
|
701
746
|
/** Removes the record title field from the header. */
|
|
702
747
|
removeTitleField() {
|
|
748
|
+
const previousTitleField = this._headerEdits.newTitleField;
|
|
703
749
|
this._headerEdits.newTitleField = null;
|
|
704
750
|
this._headerEdits.titleFieldDeleted = true;
|
|
751
|
+
this.removeHeaderOrderFieldIfUnused(previousTitleField);
|
|
705
752
|
return this;
|
|
706
753
|
}
|
|
707
754
|
/** Sets the record description field in `header_edits`. */
|
|
708
755
|
setDescriptionField(field) {
|
|
709
|
-
this._headerEdits.newDescriptionField
|
|
756
|
+
const previousDescriptionField = this._headerEdits.newDescriptionField;
|
|
757
|
+
const nextDescriptionField = this.headerFieldApiName(field);
|
|
758
|
+
this._headerEdits.newDescriptionField = nextDescriptionField;
|
|
710
759
|
if (field != null)
|
|
711
760
|
this._headerEdits.descriptionFieldDeleted = false;
|
|
761
|
+
insertUniqueAt(this.ensureHeaderFieldsOrder(), nextDescriptionField, 'end');
|
|
762
|
+
this.removeHeaderOrderFieldIfUnused(previousDescriptionField);
|
|
712
763
|
return this;
|
|
713
764
|
}
|
|
714
765
|
/** Removes the record description field from the header. */
|
|
715
766
|
removeDescriptionField() {
|
|
767
|
+
const previousDescriptionField = this._headerEdits.newDescriptionField;
|
|
716
768
|
this._headerEdits.newDescriptionField = null;
|
|
717
769
|
this._headerEdits.descriptionFieldDeleted = true;
|
|
770
|
+
this.removeHeaderOrderFieldIfUnused(previousDescriptionField);
|
|
718
771
|
return this;
|
|
719
772
|
}
|
|
773
|
+
ensureTabsOrder() {
|
|
774
|
+
var _a;
|
|
775
|
+
const order = ((_a = this._tabEdits).tabsOrder ?? (_a.tabsOrder = []));
|
|
776
|
+
for (const tab of this._tabEdits.newTabs ?? [])
|
|
777
|
+
insertUniqueAt(order, tab.key, 'end');
|
|
778
|
+
for (const [tabKey, tabEdit] of Object.entries(this._tabEdits.systemTabEdits ?? {})) {
|
|
779
|
+
if (tabEdit.deleted !== true)
|
|
780
|
+
insertUniqueAt(order, tabKey, 'end');
|
|
781
|
+
}
|
|
782
|
+
return order;
|
|
783
|
+
}
|
|
784
|
+
ensureSystemSectionsOrder(tabEdit) {
|
|
785
|
+
const order = (tabEdit.sectionsOrder ?? (tabEdit.sectionsOrder = []));
|
|
786
|
+
for (const section of tabEdit.newSections ?? [])
|
|
787
|
+
insertUniqueAt(order, layoutSectionKey(section), 'end');
|
|
788
|
+
for (const [sectionKey, sectionEdit] of Object.entries(tabEdit.systemSectionEdits ?? {})) {
|
|
789
|
+
if (sectionEdit.deleted !== true)
|
|
790
|
+
insertUniqueAt(order, sectionKey, 'end');
|
|
791
|
+
}
|
|
792
|
+
return order;
|
|
793
|
+
}
|
|
794
|
+
ensureHeaderFieldsOrder() {
|
|
795
|
+
this._headerEdits.headerFieldsOrder = normalizeHeaderFieldsOrder({
|
|
796
|
+
...this._headerEdits,
|
|
797
|
+
headerFieldsOrder: this._headerEdits.headerFieldsOrder ?? [],
|
|
798
|
+
});
|
|
799
|
+
return this._headerEdits.headerFieldsOrder;
|
|
800
|
+
}
|
|
801
|
+
headerOrderFieldIsUsed(rqlName) {
|
|
802
|
+
return (this._headerEdits.newTitleField === rqlName ||
|
|
803
|
+
this._headerEdits.newDescriptionField === rqlName ||
|
|
804
|
+
(this._headerEdits.newFields ?? []).some((field) => field.rqlName === rqlName) ||
|
|
805
|
+
Object.values(this._headerEdits.systemFieldEdits ?? {}).some((edit) => edit.newRqlField === rqlName));
|
|
806
|
+
}
|
|
807
|
+
removeHeaderOrderFieldIfUnused(field) {
|
|
808
|
+
const rqlName = typeof field === 'string' ? field : field?.rqlName;
|
|
809
|
+
if (field != null && typeof field !== 'string' && field.key !== rqlName) {
|
|
810
|
+
removeKeyFromOrder(this._headerEdits.headerFieldsOrder, field.key);
|
|
811
|
+
}
|
|
812
|
+
if (rqlName == null || this.headerOrderFieldIsUsed(rqlName))
|
|
813
|
+
return;
|
|
814
|
+
removeKeyFromOrder(this._headerEdits.headerFieldsOrder, rqlName);
|
|
815
|
+
}
|
|
720
816
|
serializeFieldForMutation(field, fallbackSectionKey, options, fieldSection) {
|
|
721
817
|
this.assertFieldBelongsToLayout(field);
|
|
722
818
|
this.assignFieldSectionForMutation(field, fallbackSectionKey, fieldSection);
|