111 lines
2.4 KiB
JavaScript
111 lines
2.4 KiB
JavaScript
import { EditorProps, DateFormat, MarkdownProps, ImageProps } from "../props.js";
|
|
import {
|
|
AuthorRelation,
|
|
DescriptionText,
|
|
DraftBoolean,
|
|
Title,
|
|
} from "./widgets.js";
|
|
|
|
const BlogCollection = {
|
|
name: "blog",
|
|
label: "Aktuelles",
|
|
label_singular: "Artikel",
|
|
description:
|
|
'Diese Artikel werden im Bereich "Aktuelles" auf der Schulhomepage angezeigt. Sie können sowohl direkt veröffentlicht, als auch als Entwurf gespeichert werden.',
|
|
icon: "news",
|
|
folder: "content/blog",
|
|
...EditorProps,
|
|
filter: {
|
|
field: "type",
|
|
value: "post",
|
|
},
|
|
view_groups: {
|
|
default: "draft",
|
|
groups: [
|
|
{
|
|
name: "draft",
|
|
label: "Entwurf",
|
|
field: "draft",
|
|
},
|
|
],
|
|
},
|
|
sortable_fields: {
|
|
fields: ["date", "title"],
|
|
default: {
|
|
field: "date",
|
|
direction: "Descending",
|
|
},
|
|
},
|
|
summary_fields: ["date", "title", "draft", "author", "body"],
|
|
fields: [
|
|
Title(false),
|
|
{
|
|
name: "date",
|
|
label: "Datum",
|
|
widget: "datetime",
|
|
required: true,
|
|
...DateFormat,
|
|
},
|
|
DraftBoolean,
|
|
DescriptionText,
|
|
{
|
|
name: "image",
|
|
label: "Titelbild",
|
|
hint: "16:9 Seitenverhältnis beachten",
|
|
default: "/media/image.webp",
|
|
...ImageProps,
|
|
required: true,
|
|
},
|
|
AuthorRelation,
|
|
{
|
|
name: "categories",
|
|
label: "Kategorien",
|
|
hint: "Verwaltet in den Einstellungen",
|
|
widget: "relation",
|
|
collection: "settings",
|
|
file: "data-categories",
|
|
value_field: "blog.*",
|
|
search_fields: ["blog.*"],
|
|
display_fields: ["blog.*"],
|
|
multiple: true,
|
|
required: true,
|
|
options_length: 10000,
|
|
},
|
|
{
|
|
name: "subjects",
|
|
label: "Fächer",
|
|
hint: "Verwaltet in den Einstellungen",
|
|
widget: "relation",
|
|
collection: "settings",
|
|
file: "data-categories",
|
|
value_field: "subjects.*",
|
|
search_fields: ["subjects.*"],
|
|
display_fields: ["subjects.*"],
|
|
multiple: true,
|
|
required: false,
|
|
options_length: 10000,
|
|
},
|
|
{
|
|
name: "tags",
|
|
label: "Tags",
|
|
widget: "list",
|
|
delimiter: ",",
|
|
required: false,
|
|
},
|
|
{
|
|
name: "type",
|
|
label: "Typ",
|
|
widget: "hidden",
|
|
default: "post",
|
|
},
|
|
{
|
|
name: "body",
|
|
label: "Inhalt",
|
|
required: true,
|
|
...MarkdownProps,
|
|
},
|
|
],
|
|
};
|
|
|
|
export default BlogCollection;
|