Styled operator pages

This commit is contained in:
Felix Kaspar
2024-08-12 21:05:52 +02:00
parent 51e35ee0ee
commit e806ee8015
14 changed files with 148 additions and 57 deletions

View File

@@ -22,5 +22,6 @@ export default new OperatorSchema(
.label(i18next.t("values.arrangementConfig.friendlyName", { ns: "arrangePages" })).description(i18next.t("values.arrangementConfig.description", { ns: "arrangePages" }))
.example("REVERSE_ORDER").example("DUPLEX_SORT").example("BOOKLET_SORT").required()
}),
JoiPDFFileSchema.label(i18next.t("outputs.pdffile.name")).description(i18next.t("outputs.pdffile.description"))
JoiPDFFileSchema.label(i18next.t("outputs.pdffile.name")).description(i18next.t("outputs.pdffile.description")),
"list"
);

View File

@@ -1,6 +1,8 @@
import { PdfFile } from "../wrappers/PdfFile";
import { Action } from "../../declarations/Action";
import Joi from "@stirling-tools/joi";
import Joi, { StringRegexOptions } from "@stirling-tools/joi";
import { MaterialSymbolProps } from "react-material-symbols";
export interface ValidationResult {
valid: boolean,
@@ -32,13 +34,15 @@ export class Operator {
export class OperatorSchema {
schema: Joi.ObjectSchema<any>;
materialSymbolName: MaterialSymbolProps["icon"] | undefined;
constructor(label: string, description: string, inputSchema: Joi.Schema, valueSchema: Joi.Schema, outputSchema: Joi.Schema) {
constructor(label: string, description: string, inputSchema: Joi.Schema, valueSchema: Joi.Schema, outputSchema: Joi.Schema, materialSymbolName?: MaterialSymbolProps["icon"] | undefined) {
this.schema = Joi.object({
input: inputSchema,
values: valueSchema.required(),
output: outputSchema
}).label(label).description(description);
this.materialSymbolName = materialSymbolName;
}
}