Files
.gitea
assets
content
data
i18n
layouts
static
admin
links
previews
shortcodes
components
audio.js
card.js
download.js
gallery.js
image.js
index.js
slider.js
youtube.js
config.yml
icons.js
index.html
data
js
schulchronik
favicon.ico
.gitignore
LICENSE
config.yml
gcg-website/static/admin/shortcodes/download.js
Denys Konovalov 13dde42eb0 Static CMS v2.0 ()
- [x] Update auf Static CMS v2.0
- [x] aktualisierte Shortcodes (schließt )
- [x] aktualisierte Previews (schließt )
- Ordnerunterstützung
- [x] vervollständigte Seiten
- [x] Aufräumarbeiten

Reviewed-on: 
2023-04-19 22:44:06 +02:00

77 lines
1.8 KiB
JavaScript

import { Card, TextField } from "./components/index.js";
const DownloadShortcode = {
label: "Download-Karte",
openTag: "{{< ",
closeTag: " >}}",
separator: " ",
toProps: (args) => {
if (args.length > 0) {
var title = "";
var link = "";
const linkIndex = args.findIndex((arg) => arg.startsWith('link="'));
const titleIndex = args.findIndex((arg) => arg.startsWith('title="'));
for (let arg of args.slice(titleIndex, linkIndex)) {
title += " " + arg.replaceAll("title=", "").replaceAll('"', "");
}
for (let arg of args.slice(linkIndex)) {
link += " " + arg.replaceAll("link=", "").replaceAll('"', "");
}
return { title: title.trim(), link: link.trim() };
}
return { title: "", link: "" };
},
toArgs: ({ title, link }) => {
return [`title=\"${title}\"`, `link=\"${link}\"`];
},
control: ({ title, link, onChange }) => {
return Card([
TextField({
label: "Titel",
value: title,
onChange: (event) => {
onChange({ title: event.target.value, link });
},
}),
TextField({
label: "Download-Link",
value: link,
onChange: (event) => {
onChange({ title, link: event.target.value });
},
}),
]);
},
preview: ({ title, link }) => {
return h(
"div",
{ className: "container mb-0" },
h(
"div",
{ className: "card border-primary rounded-0 hover-shadow mb-5" },
h(
"div",
{ className: "card-body mb-0" },
h(
"h4",
{ className: "card-title" },
h("a", { className: "text-decoration-none", href: link }, title)
),
h(
"a",
{
className: "mb-0 btn btn-primary btn-sm text-decoration-none",
href: link,
},
h("i", { className: "mdi mdi-tray-arrow-down mb-0 me-2" }),
"Download"
)
)
)
);
},
};
export default DownloadShortcode;