Page MenuHomeSealhub

image.ts
No OneTemporary

image.ts

import { toCamelCase } from "js-convert-case";
import {
FieldHandler,
FieldHandlerResult,
} from "../shared-crud-form-fields.js";
export const image_handler: FieldHandler<
FieldHandlerResult,
Partial<FieldHandlerResult>
> = async (
_,
{ name, is_required },
importPath,
{ is_required_expr, fields_var }
) => {
const tempname = toCamelCase("prepared-" + name);
return {
imports: {
shared: `import { imageRouter } from "${importPath(
"src/back/image-router.js"
)}";
import { TheFileManager } from "${importPath(
"src/back/file-manager.js"
)}";`,
},
field: `${name}: new Fields.File(${is_required_expr}, TheFileManager)`,
controls: `new Controls.Photo(${fields_var}.${name}, imageRouter, {
label: "${name}",
})`,
initial_value_edit: `{old: item.get("${name}")}`,
pre_edit:
`const ${tempname} = data.${name}.new || data.${name}.old ` +
(is_required
? `; if(!${tempname}){
throw new Error("Missing field: ${name}")
}`
: " || undefined;"),
pre_create: `const ${tempname} = data.${name}.new || data.${name}.old;
if(!${tempname}){
throw new Error("Missing field: ${name}")
}`,
fallback_value_sealious: "null",
sealious_value: () => `${name}: ${tempname}`,
};
};

File Metadata

Mime Type
text/x-java
Expires
Tue, May 27, 23:46 (3 h, 33 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
635236
Default Alt Text
image.ts (1 KB)

Event Timeline