Icons and clearer OperatorSchema

This commit is contained in:
Felix Kaspar
2024-08-20 20:46:15 +02:00
parent c2bcda925a
commit 227f46456b
13 changed files with 257 additions and 195 deletions

View File

@@ -1,20 +1,24 @@
import { OperatorSchema } from ".";
import { OperatorAvailability, OperatorSchema } from ".";
import Joi from "@stirling-tools/joi";
import { JoiPDFFileSchema } from "../wrappers/PdfFileJoi";
import i18next from "i18next";
export default new OperatorSchema(
i18next.t("friendlyName", { ns: "scalePage" }),
i18next.t("description", { ns: "scalePage" }),
JoiPDFFileSchema.label(i18next.t("inputs.pdffile.name")).description(i18next.t("inputs.pdffile.description")),
Joi.object({
height: Joi.number().min(0)
.label(i18next.t("values.height.friendlyName", { ns: "scalePage" })).description(i18next.t("values.height.description", { ns: "scalePage" }))
.example("842").example("595").example("1190"),
width: Joi.number().min(0)
.label(i18next.t("values.width.friendlyName", { ns: "scalePage" })).description(i18next.t("values.width.description", { ns: "scalePage" }))
.example("595").example("420").example("842"),
}).or("height", "width"),
JoiPDFFileSchema.label(i18next.t("outputs.pdffile.name")).description(i18next.t("outputs.pdffile.description"))
);
export default new OperatorSchema({
joi: {
label: i18next.t("friendlyName", { ns: "scalePage" }),
description: i18next.t("description", { ns: "scalePage" }),
inputSchema: JoiPDFFileSchema.label(i18next.t("inputs.pdffile.name")).description(i18next.t("inputs.pdffile.description")),
valueSchema: Joi.object({
height: Joi.number().min(0)
.label(i18next.t("values.height.friendlyName", { ns: "scalePage" })).description(i18next.t("values.height.description", { ns: "scalePage" }))
.example("842").example("595").example("1190"),
width: Joi.number().min(0)
.label(i18next.t("values.width.friendlyName", { ns: "scalePage" })).description(i18next.t("values.width.description", { ns: "scalePage" }))
.example("595").example("420").example("842"),
}).or("height", "width"),
outputSchema: JoiPDFFileSchema.label(i18next.t("outputs.pdffile.name")).description(i18next.t("outputs.pdffile.description")),
},
materialSymbolName: "zoom_out_map",
availability: OperatorAvailability.Both
});