views
data_display
form
Odoo 19 views — form (views)
Live preview
Interactive
Source excerpt
web/static/src/views/form/form_view.js
import { registry } from "@web/core/registry";
import { RelationalModel } from "@web/model/relational_model/relational_model";
import { FormRenderer } from "./form_renderer";
import { FormArchParser } from "./form_arch_parser";
import { FormController } from "./form_controller";
import { FormCompiler } from "./form_compiler";
export const formView = {
type: "form",
searchMenuTypes: [],
Controller: FormController,
Renderer: FormRenderer,
ArchParser: FormArchParser,
Model: RelationalModel,
Compiler: FormCompiler,
buttonTemplate: "web.FormView.Buttons",
props: (genericProps, view) => {
const { ArchParser } = view;
const { arch, relatedModels, resModel } = genericProps;
const archInfo = new ArchParser().parse(arch, relatedModels, resModel);
return {
...genericProps,
readonly:
genericProps.readonly ||
(archInfo.activeActions?.edit === false && genericProps.resId !== false),
Model: view.Model,
Renderer: view.Renderer,
buttonTemplate: genericProps.buttonTemplate || view.buttonTemplate,
Compiler: view.Compiler,
archInfo,
};
},
};
registry.category("views").add("form", formView);
Registry / API
- Registry name
form- Category
views- Module
web- Slug
form- Nav group
data_display