Hooks.js
Hooks provide a powerful way to extend your components by manipulating properties before they are applied within templates.
The typical flow of a component follows this sequence: properties → hooks → template. Hooks process and refine properties, allowing you to perform complex logic before passing them into the template for rendering.
Each component has its own unique hooks.js
file. To share code across multiple components, refer to shared hooks.
To use a transform hook, create a hooks.js
file in the root of your component with this code.
Next, add this to the template.html
file in the component templates directory.
Global Properties
rw:mode
string
edit
or preview
Available Context methods
getValues
getClassNames
getResponsiveValues
getBreakpoints
getBreakpointNames
Setting Values
in hooks.js
in template.html
The rendered output would look something like this:
Mario - Plumber
Transform Hook
The transform hook allows you to get and set property values before they're used in templates. Let's assume you have the following slider defined in your properties and you're using the value in a template.
When the slider is set to 5, the output would be
Now lets add a transform hook that multiplies the padding value by 2
With the slider still set to 5, when the template is processed the output will be
This becomes incredibly powerful and convenient when you need to perform logic based on multiple properties. The following example show how you might generate a list of css classes based on standard or custom settings.
The template simply uses the classes property instead of attempting to handle all options from 7 different properties. For example
Last updated