Files
owl/doc
Samuel Degueldre 0cde4b8737 [IMP] compiler: add support for the .translate suffix
Previously, if you wanted to pass a prop and have it be translated, you
had to either to the translation manually in JS, or use a workaround
with t-set and a body so that Owl would translate it for you, and then
pass the t-set variable as a prop. This is quite inconvenient and is a
common use case.

This commit introduces the `.translate` suffix to solve this issue. When
a prop uses this suffix, it is treated as a string instead of a JS
expression, avoiding the need for quotes as well as their escaping and
allowing extraction tools such as babel to generate a clean string as
the term's translation id. This is also more ergonomic. This suffix is
available for both component props and slot props.

This change will still require some work in Odoo to correctly extract
the terms for props using this suffix.
2024-07-15 10:14:08 +02:00
..

🦉 Owl overview 🦉

Here is a list of everything exported by the Owl library:

Main entities:

  • App: represent an Owl application (mainly a root component,a set of templates, and a config)
  • Component: the main class to define a concrete Owl component
  • mount: main entry point for most application: mount a component to a target
  • xml: helper to define an inline template

Reactivity

  • useState: create a reactive object (hook, linked to a specific component)
  • reactive: create a reactive object (not linked to any component)
  • markRaw: mark an object or array so that it is ignored by the reactivity system
  • toRaw: given a reactive objet, return the raw (non reactive) underlying object

Lifecycle hooks:

  • onWillStart: hook to define asynchronous code that should be executed before component is rendered
  • onMounted: hook to define code that should be executed when component is mounted
  • onWillPatch: hook to define code that should be executed before component is patched
  • onWillUpdateProps: hook to define code that should be executed before component is updated
  • onPatched: hook to define code that should be executed when component is patched
  • onWillRender: hook to define code that should be executed before component is rendered
  • onRendered: hook to define code that should be executed after component is rendered
  • onWillUnmount: hook to define code that should be executed before component is unmounted
  • onWillDestroy: hook to define code that should be executed before component is destroyed
  • onError: hook to define a Owl error handler

Other hooks:

  • useComponent: return a reference to the current component (useful to create derived hooks)
  • useEffect: define an effect with its dependencies
  • useEnv: return a reference to the current env
  • useExternalListener: add a listener outside of a component DOM
  • useRef: get an object representing a reference (t-ref)
  • useChildSubEnv: extend the current env with additional information (for child components)
  • useSubEnv: extend the current env with additional information (for current component and child components)

Utility/helpers:

  • EventBus: a simple event bus
  • loadFile: an helper to load a file from the server
  • markup: utility function to define strings that represent html (should not be escaped)
  • status: utility function to get the status of a component (new, mounted or destroyed)
  • validate: validates if an object satisfies a specified schema
  • whenReady: utility function to execute code when DOM is ready
  • batched: utility function to batch function calls