nextjs-cms 0.5.73 → 0.5.75
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/dist/api/index.d.ts +2 -2
- package/dist/api/lib/serverActions.d.ts +2 -2
- package/dist/api/lib/serverActions.d.ts.map +1 -1
- package/dist/api/lib/serverActions.js +21 -0
- package/dist/api/root.d.ts +4 -4
- package/dist/api/routers/hasItemsSection.d.ts +2 -2
- package/dist/core/config/config-loader.d.ts +2 -0
- package/dist/core/config/config-loader.d.ts.map +1 -1
- package/dist/core/config/config-loader.js +6 -0
- package/dist/core/sections/hasItems.d.ts +16 -0
- package/dist/core/sections/hasItems.d.ts.map +1 -1
- package/dist/core/sections/hasItems.js +17 -0
- package/package.json +1 -1
package/dist/api/index.d.ts
CHANGED
|
@@ -233,14 +233,14 @@ declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
|
|
|
233
233
|
name: string;
|
|
234
234
|
title: string;
|
|
235
235
|
};
|
|
236
|
-
items: {
|
|
236
|
+
items: (Record<string, any> | {
|
|
237
237
|
id: string | number;
|
|
238
238
|
headingTitle: string;
|
|
239
239
|
coverPhoto: string | null;
|
|
240
240
|
createdAt: string;
|
|
241
241
|
createdBy: string;
|
|
242
242
|
permission: number;
|
|
243
|
-
}[];
|
|
243
|
+
})[];
|
|
244
244
|
totalCount: any;
|
|
245
245
|
error?: undefined;
|
|
246
246
|
};
|
|
@@ -270,14 +270,14 @@ export declare const getBrowsePage: (session: Session, sectionName: string, page
|
|
|
270
270
|
name: string;
|
|
271
271
|
title: string;
|
|
272
272
|
};
|
|
273
|
-
items: {
|
|
273
|
+
items: (Record<string, any> | {
|
|
274
274
|
id: string | number;
|
|
275
275
|
headingTitle: string;
|
|
276
276
|
coverPhoto: string | null;
|
|
277
277
|
createdAt: string;
|
|
278
278
|
createdBy: string;
|
|
279
279
|
permission: number;
|
|
280
|
-
}[];
|
|
280
|
+
})[];
|
|
281
281
|
totalCount: any;
|
|
282
282
|
error?: undefined;
|
|
283
283
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serverActions.d.ts","sourceRoot":"","sources":["../../../src/api/lib/serverActions.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AASlD,eAAO,MAAM,eAAe,GAAU,gCAInC;IACC,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAA;IACtB,MAAM,EAAE,MAAM,CAAA;CACjB,qBAmBA,CAAA;AACD,eAAO,MAAM,WAAW,GACpB,SAAS,OAAO,EAChB,OAAO;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE;;;EAqGlE,CAAA;AA8BD,eAAO,MAAM,QAAQ,GAAU,OAAO;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,oBAgDxF,CAAA;AAED,wBAAsB,WAAW,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,wDAyB3F;AAED,eAAO,MAAM,QAAQ,GAAU,OAAO;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,mBAE7F,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAU,SAAS,MAAM,yBAOvD,CAAA;AAED,eAAO,MAAM,gBAAgB;WAKd,MAAM;WACN,MAAM;iBACA,MAAM;iBACN,MAAM;IAqC1B,CAAA;AAED,eAAO,MAAM,aAAa;QAcd,MAAM;cACA,MAAM;YACR,MAAM,GAAG,IAAI;WACd;QACH,UAAU,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAA;QACxD,SAAS,EAAE,OAAO,GAAG,IAAI,CAAA;QACzB,WAAW,EAAE,MAAM,CAAA;KACtB,EAAE;IAYV,CAAA;AAED,eAAO,MAAM,uBAAuB,GAAU,SAAS,OAAO,EAAE,aAAa,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkElF,CAAA;AAED,eAAO,MAAM,iBAAiB,GAC1B,SAAS,OAAO,EAChB,aAAa,MAAM,EACnB,eAAe,MAAM,GAAG,MAAM,EAC9B,YAAY,OAAO;;;;EAgMtB,CAAA;AAED,eAAO,MAAM,cAAc,GAAU,SAAS,OAAO,EAAE,aAAa,MAAM,EAAE,eAAe,MAAM,GAAG,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAkDjF,MAAM;eACZ,MAAM;cACP,GAAG;;;;;;;;;;EAgDpB,CAAA;AAED,eAAO,MAAM,aAAa,GAAU,SAAS,OAAO,EAAE,aAAa,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsExE,CAAA;AAED,eAAO,MAAM,0BAA0B,GAAU,sCAK9C;IACC,OAAO,EAAE,OAAO,CAAA;IAChB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;CAChB;;;;;;;;;;;;;;;;;;;;EA2DA,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAU,SAAS,OAAO,EAAE,aAAa,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAgD/C,MAAM,GAAG,MAAM,GAAG,SAAS;;;;;;;EAgBzD,CAAA;AAED,eAAO,MAAM,aAAa,GAAU,SAAS,OAAO,EAAE,aAAa,MAAM,EAAE,OAAM,MAAU,EAAE,IAAI,MAAM;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"serverActions.d.ts","sourceRoot":"","sources":["../../../src/api/lib/serverActions.ts"],"names":[],"mappings":"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"}
|
|
@@ -823,6 +823,27 @@ export const getBrowsePage = async (session, sectionName, page = 1, q) => {
|
|
|
823
823
|
title: section.title.section,
|
|
824
824
|
},
|
|
825
825
|
items: rows.map((row) => {
|
|
826
|
+
// Custom browse page implementation: if browse.fields is configured,
|
|
827
|
+
// return the specified fields plus default fields (id, headingTitle, coverPhoto, createdAt, createdBy, permission).
|
|
828
|
+
// NOTE: This is for custom browse page implementations only.
|
|
829
|
+
// The default CMS browse page component uses the fallback fields below.
|
|
830
|
+
if (section.browse?.fields && section.browse.fields.length > 0) {
|
|
831
|
+
const item = {
|
|
832
|
+
// Always include default fields
|
|
833
|
+
id: row[section.db.identifier.name],
|
|
834
|
+
headingTitle: row[section.headingField.name],
|
|
835
|
+
coverPhoto: section.coverPhotoField ? row[section.coverPhotoField?.name] : null,
|
|
836
|
+
createdAt: row['created_at'],
|
|
837
|
+
createdBy: row['created_by'],
|
|
838
|
+
permission: row.permission,
|
|
839
|
+
};
|
|
840
|
+
// Add configured browse fields
|
|
841
|
+
for (const field of section.browse.fields) {
|
|
842
|
+
item[field.name] = row[field.name] ?? null;
|
|
843
|
+
}
|
|
844
|
+
return item;
|
|
845
|
+
}
|
|
846
|
+
// Default browse page fields (used by the standard CMS browse page)
|
|
826
847
|
return {
|
|
827
848
|
id: row[section.db.identifier.name],
|
|
828
849
|
headingTitle: row[section.headingField.name],
|
package/dist/api/root.d.ts
CHANGED
|
@@ -224,14 +224,14 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
|
|
|
224
224
|
name: string;
|
|
225
225
|
title: string;
|
|
226
226
|
};
|
|
227
|
-
items: {
|
|
227
|
+
items: (Record<string, any> | {
|
|
228
228
|
id: string | number;
|
|
229
229
|
headingTitle: string;
|
|
230
230
|
coverPhoto: string | null;
|
|
231
231
|
createdAt: string;
|
|
232
232
|
createdBy: string;
|
|
233
233
|
permission: number;
|
|
234
|
-
}[];
|
|
234
|
+
})[];
|
|
235
235
|
totalCount: any;
|
|
236
236
|
error?: undefined;
|
|
237
237
|
};
|
|
@@ -1002,14 +1002,14 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
|
|
|
1002
1002
|
name: string;
|
|
1003
1003
|
title: string;
|
|
1004
1004
|
};
|
|
1005
|
-
items: {
|
|
1005
|
+
items: (Record<string, any> | {
|
|
1006
1006
|
id: string | number;
|
|
1007
1007
|
headingTitle: string;
|
|
1008
1008
|
coverPhoto: string | null;
|
|
1009
1009
|
createdAt: string;
|
|
1010
1010
|
createdBy: string;
|
|
1011
1011
|
permission: number;
|
|
1012
|
-
}[];
|
|
1012
|
+
})[];
|
|
1013
1013
|
totalCount: any;
|
|
1014
1014
|
error?: undefined;
|
|
1015
1015
|
};
|
|
@@ -40,14 +40,14 @@ export declare const hasItemsSectionRouter: import("@trpc/server").TRPCBuiltRout
|
|
|
40
40
|
name: string;
|
|
41
41
|
title: string;
|
|
42
42
|
};
|
|
43
|
-
items: {
|
|
43
|
+
items: (Record<string, any> | {
|
|
44
44
|
id: string | number;
|
|
45
45
|
headingTitle: string;
|
|
46
46
|
coverPhoto: string | null;
|
|
47
47
|
createdAt: string;
|
|
48
48
|
createdBy: string;
|
|
49
49
|
permission: number;
|
|
50
|
-
}[];
|
|
50
|
+
})[];
|
|
51
51
|
totalCount: any;
|
|
52
52
|
error?: undefined;
|
|
53
53
|
};
|
|
@@ -4,6 +4,7 @@ declare const cmsConfigSchema: z.ZodObject<{
|
|
|
4
4
|
title: z.ZodOptional<z.ZodString>;
|
|
5
5
|
defaultTheme: z.ZodOptional<z.ZodString>;
|
|
6
6
|
logo: z.ZodOptional<z.ZodString>;
|
|
7
|
+
logoText: z.ZodOptional<z.ZodString>;
|
|
7
8
|
}, z.core.$strip>>;
|
|
8
9
|
debug: z.ZodOptional<z.ZodBoolean>;
|
|
9
10
|
sections: z.ZodOptional<z.ZodObject<{
|
|
@@ -61,6 +62,7 @@ export interface ComputedCMSConfig {
|
|
|
61
62
|
title: string;
|
|
62
63
|
defaultTheme: string;
|
|
63
64
|
logo: string;
|
|
65
|
+
logoText: string;
|
|
64
66
|
};
|
|
65
67
|
debug: boolean;
|
|
66
68
|
sections: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../../src/core/config/config-loader.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAIxB,QAAA,MAAM,eAAe
|
|
1
|
+
{"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../../src/core/config/config-loader.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAIxB,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqKnB,CAAA;AAGF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAEvD,MAAM,WAAW,iBAAiB;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACpC;AAGD,MAAM,WAAW,iBAAiB;IAC9B,EAAE,EAAE;QACA,KAAK,EAAE,MAAM,CAAA;QACb,YAAY,EAAE,MAAM,CAAA;QACpB,IAAI,EAAE,MAAM,CAAA;QACZ,QAAQ,EAAE,MAAM,CAAA;KACnB,CAAA;IACD,KAAK,EAAE,OAAO,CAAA;IACd,QAAQ,EAAE;QACN,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,EAAE,OAAO,CAAA;QACf,QAAQ,EAAE;YACN,oBAAoB,EAAE,OAAO,CAAA;SAChC,CAAA;KACJ,CAAA;IACD,KAAK,EAAE;QACH,MAAM,EAAE;YACJ,IAAI,EAAE,MAAM,CAAA;YACZ,iBAAiB,EAAE,OAAO,CAAA;SAC7B,CAAA;QACD,MAAM,EAAE;YACJ,SAAS,EAAE;gBACP,KAAK,EAAE,MAAM,CAAA;gBACb,MAAM,EAAE,MAAM,CAAA;gBACd,IAAI,EAAE,OAAO,CAAA;gBACb,OAAO,EAAE,MAAM,CAAA;aAClB,CAAA;YACD,SAAS,EAAE,OAAO,CAAA;SACrB,CAAA;KACJ,CAAA;IACD,gBAAgB,EAAE;QACd,OAAO,EAAE;YACL,OAAO,EAAE,OAAO,CAAA;YAChB,MAAM,EAAE,MAAM,CAAA;YACd,QAAQ,EAAE,MAAM,CAAA;YAChB,MAAM,EAAE;gBACJ,MAAM,EAAE,WAAW,GAAG,WAAW,GAAG,YAAY,CAAA;gBAChD,OAAO,EAAE,WAAW,GAAG,WAAW,GAAG,YAAY,CAAA;aACpD,CAAA;SACJ,CAAA;KACJ,CAAA;IACD,OAAO,EAAE,iBAAiB,EAAE,CAAA;CAC/B;AAwID;;;;;;GAMG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAazE"}
|
|
@@ -24,6 +24,10 @@ const cmsConfigSchema = z.object({
|
|
|
24
24
|
* Path to the logo image (relative to public folder)
|
|
25
25
|
*/
|
|
26
26
|
logo: z.string().optional(),
|
|
27
|
+
/**
|
|
28
|
+
* Text to display next to the logo
|
|
29
|
+
*/
|
|
30
|
+
logoText: z.string().optional(),
|
|
27
31
|
})
|
|
28
32
|
.optional(),
|
|
29
33
|
/**
|
|
@@ -166,6 +170,7 @@ function mergeConfig(defaults, userConfig) {
|
|
|
166
170
|
title: userConfig.ui?.title ?? defaults.ui.title,
|
|
167
171
|
defaultTheme: userConfig.ui?.defaultTheme ?? defaults.ui.defaultTheme,
|
|
168
172
|
logo: userConfig.ui?.logo ?? defaults.ui.logo,
|
|
173
|
+
logoText: userConfig.ui?.logoText ?? defaults.ui.logoText,
|
|
169
174
|
},
|
|
170
175
|
debug: userConfig.debug ?? defaults.debug,
|
|
171
176
|
sections: {
|
|
@@ -213,6 +218,7 @@ const defaultConfig = {
|
|
|
213
218
|
title: 'nextjs-cms',
|
|
214
219
|
defaultTheme: 'dark',
|
|
215
220
|
logo: '/nextjscms.webp',
|
|
221
|
+
logoText: 'nextjs-cms',
|
|
216
222
|
},
|
|
217
223
|
debug: false,
|
|
218
224
|
sections: {
|
|
@@ -110,6 +110,9 @@ declare const configSchema: z.ZodObject<{
|
|
|
110
110
|
search: z.ZodOptional<z.ZodObject<{
|
|
111
111
|
searchFields: z.ZodReadonly<z.ZodArray<z.ZodCustom<FieldConfig, FieldConfig>>>;
|
|
112
112
|
}, z.core.$strict>>;
|
|
113
|
+
browse: z.ZodOptional<z.ZodObject<{
|
|
114
|
+
fields: z.ZodReadonly<z.ZodArray<z.ZodCustom<FieldConfig, FieldConfig>>>;
|
|
115
|
+
}, z.core.$strict>>;
|
|
113
116
|
coverPhotoField: z.ZodOptional<z.ZodCustom<{
|
|
114
117
|
type: "photo";
|
|
115
118
|
build: z.core.$InferOuterFunctionType<z.core.$ZodFunctionArgs, z.ZodCustom<import("../index.js").PhotoField, import("../index.js").PhotoField>>;
|
|
@@ -185,6 +188,13 @@ export declare class HasItemsSection extends Section<Config> {
|
|
|
185
188
|
search?: {
|
|
186
189
|
readonly searchFields: readonly FieldConfig[];
|
|
187
190
|
} | undefined;
|
|
191
|
+
/**
|
|
192
|
+
* Browse configuration - for custom browse page implementations only.
|
|
193
|
+
* The default CMS browse page ignores this and uses its standard fields.
|
|
194
|
+
*/
|
|
195
|
+
browse?: {
|
|
196
|
+
readonly fields: readonly FieldConfig[];
|
|
197
|
+
} | undefined;
|
|
188
198
|
coverPhotoField?: PhotoFieldConfigType;
|
|
189
199
|
generateQR?: boolean | undefined;
|
|
190
200
|
constructor(config: BaseSectionOptions<Config>);
|
|
@@ -294,6 +304,9 @@ declare const optionsSchema: z.ZodObject<{
|
|
|
294
304
|
search: z.ZodOptional<z.ZodObject<{
|
|
295
305
|
searchFields: z.ZodReadonly<z.ZodArray<z.ZodCustom<FieldConfig, FieldConfig>>>;
|
|
296
306
|
}, z.core.$strict>>;
|
|
307
|
+
browse: z.ZodOptional<z.ZodObject<{
|
|
308
|
+
fields: z.ZodReadonly<z.ZodArray<z.ZodCustom<FieldConfig, FieldConfig>>>;
|
|
309
|
+
}, z.core.$strict>>;
|
|
297
310
|
coverPhotoField: z.ZodOptional<z.ZodCustom<{
|
|
298
311
|
type: "photo";
|
|
299
312
|
build: z.core.$InferOuterFunctionType<z.core.$ZodFunctionArgs, z.ZodCustom<import("../index.js").PhotoField, import("../index.js").PhotoField>>;
|
|
@@ -509,6 +522,9 @@ declare const hasItemsSectionConfigSchema: z.ZodObject<{
|
|
|
509
522
|
search: z.ZodOptional<z.ZodObject<{
|
|
510
523
|
searchFields: z.ZodReadonly<z.ZodArray<z.ZodCustom<FieldConfig, FieldConfig>>>;
|
|
511
524
|
}, z.core.$strict>>;
|
|
525
|
+
browse: z.ZodOptional<z.ZodObject<{
|
|
526
|
+
fields: z.ZodReadonly<z.ZodArray<z.ZodCustom<FieldConfig, FieldConfig>>>;
|
|
527
|
+
}, z.core.$strict>>;
|
|
512
528
|
coverPhotoField: z.ZodOptional<z.ZodCustom<{
|
|
513
529
|
type: "photo";
|
|
514
530
|
build: z.core.$InferOuterFunctionType<z.core.$ZodFunctionArgs, z.ZodCustom<import("../index.js").PhotoField, import("../index.js").PhotoField>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hasItems.d.ts","sourceRoot":"","sources":["../../../src/core/sections/hasItems.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACtG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,EAAE,OAAO,EAA8E,MAAM,cAAc,CAAA;AAClH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAGrD,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAExB,QAAA,MAAM,YAAY
|
|
1
|
+
{"version":3,"file":"hasItems.d.ts","sourceRoot":"","sources":["../../../src/core/sections/hasItems.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACtG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,EAAE,OAAO,EAA8E,MAAM,cAAc,CAAA;AAClH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAGrD,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAExB,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAyChB,CAAA;AAEF,KAAK,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA;AAE1C,qBAAa,eAAgB,SAAQ,OAAO,CAAC,MAAM,CAAC;IAChD,gBAAyB,CAAC,UAAU,CAAC,qBAAoB;IACzD,SAAkB,IAAI,eAAc;IACpC,YAAY,EAAE,eAAe,GAAG,qBAAqB,CAAA;IAC5C,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IACrE,wBAAwB,EAAE,OAAO,CAAA;IACjC,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,YAAY,EAAE,SAAS,WAAW,EAAE,CAAA;KAAE,GAAG,SAAS,CAAA;IACtE;;;OAGG;IACH,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAA;KAAE,GAAG,SAAS,CAAA;IAChE,eAAe,CAAC,EAAE,oBAAoB,CAAA;IACtC,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;gBAGpB,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC;CAWjD;AAED,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAGjB,CAAA;AAOF,QAAA,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAQ/B,CAAA;AAEF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAA;AAElE;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAE/E;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,qBAAqB,CAmEtF"}
|
|
@@ -24,6 +24,17 @@ const configSchema = z.strictObject({
|
|
|
24
24
|
})
|
|
25
25
|
.optional()
|
|
26
26
|
.describe('Search configuration'),
|
|
27
|
+
browse: z
|
|
28
|
+
.strictObject({
|
|
29
|
+
fields: z
|
|
30
|
+
.array(z.custom())
|
|
31
|
+
.readonly()
|
|
32
|
+
.describe('Custom browse fields - only use when creating a custom browse page implementation. ' +
|
|
33
|
+
'Fields must be configs - will be resolved during instantiation. '),
|
|
34
|
+
})
|
|
35
|
+
.optional()
|
|
36
|
+
.describe('Browse configuration - for custom browse page implementations only. ' +
|
|
37
|
+
'The default CMS browse page ignores this and uses its standard fields.'),
|
|
27
38
|
coverPhotoField: z
|
|
28
39
|
.custom()
|
|
29
40
|
.optional()
|
|
@@ -37,6 +48,11 @@ export class HasItemsSection extends Section {
|
|
|
37
48
|
title;
|
|
38
49
|
requirePublishPermission;
|
|
39
50
|
search;
|
|
51
|
+
/**
|
|
52
|
+
* Browse configuration - for custom browse page implementations only.
|
|
53
|
+
* The default CMS browse page ignores this and uses its standard fields.
|
|
54
|
+
*/
|
|
55
|
+
browse;
|
|
40
56
|
coverPhotoField;
|
|
41
57
|
generateQR;
|
|
42
58
|
// override variants?: Variant[] | undefined
|
|
@@ -46,6 +62,7 @@ export class HasItemsSection extends Section {
|
|
|
46
62
|
this.title = config.title;
|
|
47
63
|
this.requirePublishPermission = config.requirePublishPermission ?? false;
|
|
48
64
|
this.search = config.search;
|
|
65
|
+
this.browse = config.browse;
|
|
49
66
|
this.coverPhotoField = config.coverPhotoField;
|
|
50
67
|
this.generateQR = config.generateQR;
|
|
51
68
|
}
|