Divi Builder JavaScript API
The builder’s JavaScript API definition.
window : Window
Global window object.
Kind: global typedef
Emits: event:et_builder_api_ready
ETBuilderModule : React.Component
| object
Custom module for the Divi Builder.
Kind: global typedef
Static Properties (Required)
Name | Type | Description |
---|---|---|
slug | string |
The module’s slug as defined in it’s PHP class |
Methods (Required)
Name | Type | Description |
---|---|---|
render | function |
API
Divi Builder API object passed to registered callbacks of the event:et_builder_api_ready event.
Kind: global constant
- API
- .Modules
- .Utils
- ._()
- .classnames() ⇒
string
- .decodeOptionListValue(encoded_value) ⇒
object
- .fontnameToClass(font_name) ⇒
string
- .linkRel(saved_value) ⇒
string
- .maybeLoadFont(font_name)
- .processFontIcon(icon, is_down_icon) ⇒
string
- .setElementFont(font_data, use_important, default_values) ⇒
string
- .hasValue(value) ⇒
boolean
- .generateStyles(moduleArgs) ⇒
array
- .isRegistered(slug) ⇒
boolean
- .registerModules(modules)
API.Modules
Manage custom modules.
Kind: static property of API
Since: 3.1
Modules.register(modules)
Register one or more custom modules.
Kind: static method of Modules
Since: 3.1
Param | Type | Description |
---|---|---|
modules | Array.<ETBuilderModule> |
Modules to register. |
API.Utils
Useful functions
Kind: static property of API
Since: 3.1
- .Utils
- ._()
- .classnames() ⇒
string
- .decodeOptionListValue(encoded_value) ⇒
object
- .fontnameToClass(font_name) ⇒
string
- .linkRel(saved_value) ⇒
string
- .maybeLoadFont(font_name)
- .processFontIcon(icon, is_down_icon) ⇒
string
- .setElementFont(font_data, use_important, default_values) ⇒
string
- .hasValue(value) ⇒
boolean
- .generateStyles(moduleArgs) ⇒
array
Utils._()
Lodash – A modern JavaScript utility library delivering modularity, performance & extras.
Kind: static method of Utils
Link: https://github.com/lodash/lodash
License: MIT
Copyright: JS Foundation and other contributors https://js.foundation/
Utils.classnames() ⇒ string
Generates className value based on the args provided. Takes any number of args which can be a string or an object. The argument foo
is short for { foo: true }
. If the value associated with a given key is falsy, the key won’t be included in the output.
Kind: static method of Utils
Link: https://github.com/JedWatson/classnames
License: MIT
Copyright: 2017 Jed Watson
Type |
---|
string | Object.<string, boolean> |
Examples:
classNames('foo', 'bar'); // => 'foo bar' classNames('foo', { bar: true }); // => 'foo bar' classNames({ 'foo-bar': true }); // => 'foo-bar' classNames({ 'foo-bar': false }); // => '' classNames({ foo: true }, { bar: true }); // => 'foo bar' classNames({ foo: true, bar: true }); // => 'foo bar'
Utils.decodeOptionListValue(encoded_value) ⇒ object
Decode string value of option_list
module setting field type.
Kind: static method of Utils
Since: 3.1
Param | Type | Description |
---|---|---|
encoded_value | string |
Value to be decoded |
Utils.fontnameToClass(font_name) ⇒ string
Returns CSS class for a google font.
Kind: static method of Utils
Since??:
Param | Type | Description |
---|---|---|
font_name | string |
Font name for which to return a CSS class |
Utils.linkRel(saved_value) ⇒ string
Generate link rel HTML attribute value based on a value saved in a module’s settings.
Kind: static method of Utils
Since: 3.1
Param | Type | Description |
---|---|---|
saved_value | string |
Value saved in module settings |
Utils.maybeLoadFont(font_name)
Loads a Google Font if it hasn’t already been loaded.
Kind: static method of Utils
Since: 3.1
Param | Type | Description |
---|---|---|
font_name | string |
The name of the font to load |
Utils.processFontIcon(icon, is_down_icon) ⇒ string
Generates HTML for a saved font-based icon value.
Kind: static method of Utils
Since: 3.1
Param | Type | Description |
---|---|---|
icon | string |
The saved icon value |
is_down_icon | boolean |
Whether or not the icon is one of the down arrow icons |
Utils.setElementFont(font_data, use_important, default_values) ⇒ string
Generates font related CSS style properties from font data saved in a module’s settings.
Kind: static method of Utils
Since: 3.1
Param | Type | Description |
---|---|---|
font_data | string |
Font data saved in module settings |
use_important | boolean |
Whether or not to use !important |
default_values | object |
Mapping of default values for the font settings |
Utils.hasValue(value) ⇒ boolean
Check whether given value can be printed or not (string). Originally a simpler way to check against empty string, but later several checks were added as well to avoid unnecessary repetition. A value considered empty if:
- – is an empty string
- – is undefined
- – is false
- – is NaN
Kind: static method of Utils
Since: 4.14.9
Param | Type | Description |
---|---|---|
value | mixed |
Value to check. |
Utils.generateStyles(moduleArgs) ⇒ array
Use the `Responsive.generateResponsiveCSS` with addition to generate sticky state styles if module enable it.
Kind: static method of Utils
Since: 4.17.5
Param | Type | Description |
---|---|---|
moduleArgs | object |
Module arguments. |
Examples:
/** * Module arguments. * * @typedef moduleArgs * @type {Object} * @property {string} address: '' * @property {Object} attrs: {} * @property {string} name: '' * @property {string} defaultValue: '' * @property {string} type: '' * @property {boolean} forceReturn: false * @property {string} selector: '%%order_class%%' * @property {string} cssProperty: '' * @property {boolean} important: false * @property {boolean} hover: true * @property {boolean} sticky: true * @property {boolean} responsive: true * @property {null|boolean} isStickyModule: null * @property {string} stickyPseudoSelectorLocation: 'order_class' */ /** * Hello World module inline styling. * * @param {Object} props Module attribute names and values. * @param {Object} moduleInfo Module info. * * @return array */ static css(props, moduleInfo) { const additionalCSS = []; const { generateStyles, } = window.ET_Builder.API.Utils; /** * Box colors arguments. * * @var {moduleArgs} */ const boxColorsArgs = { attrs: props, name: 'box_color', selector: '%%order_class%% .smpl-hello-world-box-area', cssProperty: 'background-color', }; const boxColors = generateStyles(boxColorsArgs); /** * boxColors output: * * [ * { * selector: '%%order_class%% .smpl-hello-world-box-area', * declaration: 'background-color: red;', * device: 'desktop', // desktop, tablet, phone * } * ] */ additionalCSS.push(boxColors); return additionalCSS; }
API.isRegistered(slug) ⇒ boolean
Whether or not a component is registered.
Kind: static method of API
Since: 3.1
Param | Type | Description |
---|---|---|
slug | string |
The component’s slug |
API.registerModules(modules)
Convenience wrapper for register
Kind: static method of API
Since: 3.1
Param | Type | Description |
---|---|---|
modules | Array.<ETBuilderModule> |
Modules to register. |