jetformbuilder
/
modules
/
framework
/
blocks-style-manager
/
assets
/
src
/
css-engine
/
fields
/
choose.js
jetformbuilder
/
modules
/
framework
/
blocks-style-manager
/
assets
/
src
/
css-engine
/
fields
Last commit date
base-field.js
3 months ago
border.js
3 months ago
choose.js
3 months ago
color.js
3 months ago
dimensions.js
3 months ago
index.js
3 months ago
range.js
3 months ago
toggle.js
3 months ago
typography.js
3 months ago
choose.js
39 lines
| 1 | import BaseField from "./base-field"; |
| 2 | |
| 3 | export default class Choose extends BaseField { |
| 4 | |
| 5 | static getType() { |
| 6 | return 'choose'; |
| 7 | } |
| 8 | |
| 9 | getSelectorMacros() { |
| 10 | return { |
| 11 | wrapper: 'body .is-root-container .' + this.uniqueClassName |
| 12 | }; |
| 13 | } |
| 14 | |
| 15 | /** |
| 16 | * Replace in the give string macros with an actual values from the data. |
| 17 | * |
| 18 | * Expected formats: |
| 19 | * - string: {{ WRAPPER }} .my-class |
| 20 | * - data: { 'wrapper': '.csm-block-unique-class' } |
| 21 | */ |
| 22 | replaceData( string, data ) { |
| 23 | |
| 24 | return string.replace( /{{\s*([\w-]+)\s*}}/g, ( match, p1 ) => { |
| 25 | p1 = p1.toLowerCase(); |
| 26 | if ( undefined !== data[ p1 ] ) { |
| 27 | return data[ p1 ]; |
| 28 | } else { |
| 29 | return match; |
| 30 | } |
| 31 | } ); |
| 32 | } |
| 33 | |
| 34 | getParsedValue() { |
| 35 | return { |
| 36 | 'value': this.rawValue, |
| 37 | }; |
| 38 | } |
| 39 | } |