File: /var/www/html/wp-content/plugins/jet-engine/includes/components/meta-boxes/templates/field.php
<div>
<cx-vui-input
label="<?php _e( 'Label', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Meta field label. It will be displayed on Post edit page', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
size="fullwidth"
:value="field.title"
@input="setFieldProp( 'title', $event )"
@on-input-change="preSetFieldName()"
></cx-vui-input>
<cx-vui-input
label="<?php _e( 'Name/ID', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Meta field name/key/ID. Under this name field will be stored in the database. Should contain only Latin letters, numbers, `-` or `_` chars', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
size="fullwidth"
:value="field.name"
:error="fieldError"
@on-keyup="fieldError = false"
@input="setFieldProp( 'name', $event )"
@on-input-change="sanitizeFieldName()"
></cx-vui-input>
<cx-vui-select
label="<?php _e( 'Object type', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Current meta box object type: field or layout element. To close the action of previously selected Tab or Accordion group, use the `Endpoint` option', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
size="fullwidth"
:options-list="getFilteredObjectTypes( [
{
value: 'field',
label: '<?php _e( 'Field', 'jet-engine' ); // phpcs:ignore ?>'
},
{
value: 'tab',
label: '<?php _e( 'Tab', 'jet-engine' ); // phpcs:ignore ?>'
},
{
value: 'accordion',
label: '<?php _e( 'Accordion', 'jet-engine' ); // phpcs:ignore ?>'
},
{
value: 'endpoint',
label: '<?php _e( 'Endpoint', 'jet-engine' ); // phpcs:ignore ?>'
},
] )"
:value="field.object_type"
@input="setFieldProp( 'object_type', $event )"
:conditions="getFilteredFieldConditions( [
{
'input': 'object_type',
'compare': 'not_in',
'value': hideOptions,
},
{
'input': 'object_type',
'compare': 'not_in',
'value': disabledFields,
},
], 'object_type' )"
></cx-vui-select>
<cx-vui-select
label="<?php _e( 'Field type', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Meta field type. Defines the way field to be displayed on Post edit page', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
size="fullwidth"
:options-list="getFilteredFieldTypes( fieldTypes )"
:value="field.type"
:conditions="getFilteredFieldConditions( [
{
'input': field.object_type,
'compare': 'equal',
'value': 'field',
}
], 'type' )"
@input="setFieldProp( 'type', $event )"
></cx-vui-select>
<cx-vui-select
label="<?php _e( 'Layout', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Select tab layout. Note, layout selected on first tab in set will be automatically applied to all other tabs', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
size="fullwidth"
:options-list="[
{
value: 'horizontal',
label: '<?php _e( 'Horizontal', 'jet-engine' ); // phpcs:ignore ?>'
},
{
value: 'vertical',
label: '<?php _e( 'Vertical', 'jet-engine' ); // phpcs:ignore ?>'
},
]"
:value="field.tab_layout"
:conditions="getFilteredFieldConditions( [
{
'input': field.object_type,
'compare': 'equal',
'value': 'tab',
}
], 'tab_layout' )"
@input="setFieldProp( 'tab_layout', $event )"
></cx-vui-select>
<cx-vui-switcher
label="<?php _e( 'Allow Custom', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Allow \'custom\' values to be added', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
:value="field.allow_custom"
:conditions="getFilteredFieldConditions( [
{
'input': field.type,
'compare': 'in',
'value': [ 'checkbox', 'radio' ],
},
{
'input': 'allow_custom',
'compare': 'not_in',
'value': disabledFields,
},
{
'input': field.object_type,
'compare': 'equal',
'value': 'field',
},
{
'input': 'allow_custom',
'compare': 'not_in',
'value': hideOptions,
}
], 'allow_custom' )"
@input="setFieldProp( 'allow_custom', $event )"
></cx-vui-switcher>
<cx-vui-switcher
label="<?php _e( 'Save Custom', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Save \'custom\' values to the field\'s options', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
:value="field.save_custom"
:conditions="getFilteredFieldConditions( [
{
'input': field.type,
'compare': 'in',
'value': [ 'checkbox', 'radio' ],
},
{
'input': 'save_custom',
'compare': 'not_in',
'value': disabledFields,
},
{
'input': field.object_type,
'compare': 'equal',
'value': 'field',
},
{
'input': field.allow_custom,
'compare': 'equal',
'value': true,
},
{
'input': 'save_custom',
'compare': 'not_in',
'value': hideOptions,
}
], 'save_custom' )"
@input="setFieldProp( 'save_custom', $event )"
></cx-vui-switcher>
<cx-vui-select
label="<?php _e( 'Source', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Select source to get field options from', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
size="fullwidth"
:options-list="allowedSources"
:value="field.options_source"
:conditions="getFilteredFieldConditions( [
{
'input': field.type,
'compare': 'in',
'value': [ 'checkbox', 'radio', 'select' ],
},
{
'input': field.object_type,
'compare': 'equal',
'value': 'field',
},
], 'options_source' )"
@input="setFieldProp( 'options_source', $event )"
></cx-vui-select>
<cx-vui-select
label="<?php _e( 'Glossary', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Select exact glossary to get options from', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
size="fullwidth"
:options-list="glossariesList"
:value="field.glossary_id"
:conditions="getFilteredFieldConditions( [
{
'input': field.type,
'compare': 'in',
'value': [ 'checkbox', 'radio', 'select' ],
},
{
'input': field.object_type,
'compare': 'equal',
'value': 'field',
},
{
'input': field.options_source,
'compare': 'equal',
'value': 'glossary',
},
], 'glossary_id' )"
@input="setFieldProp( 'glossary_id', $event )"
></cx-vui-select>
<cx-vui-select
label="<?php _e( 'Query', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Select exact query to get options from', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
size="fullwidth"
:options-list="queriesList"
:value="field.query_id"
:conditions="getFilteredFieldConditions( [
{
'input': field.type,
'compare': 'in',
'value': [ 'checkbox', 'radio', 'select' ],
},
{
'input': field.object_type,
'compare': 'equal',
'value': 'field',
},
{
'input': field.options_source,
'compare': 'equal',
'value': 'query',
},
], 'query_id' )"
@input="setFieldProp( 'query_id', $event )"
></cx-vui-select>
<cx-vui-input
label="<?php _e( 'Value Field', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Query result field to use as option value. If empty, we`ll try to use most obvious value. For example ID for posts.', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
size="fullwidth"
:value="field.query_value_field"
@input="setFieldProp( 'query_value_field', $event )"
:conditions="getFilteredFieldConditions( [
{
'input': field.type,
'compare': 'in',
'value': [ 'checkbox', 'radio', 'select' ],
},
{
'input': field.object_type,
'compare': 'equal',
'value': 'field',
},
{
'input': field.options_source,
'compare': 'equal',
'value': 'query',
},
], 'query_value_field' )"
></cx-vui-input>
<cx-vui-input
label="<?php _e( 'Label Field', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Query result field to use as option label. If empty, we`ll try to use most obvious value. For example post_title for posts.', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
size="fullwidth"
:value="field.query_label_field"
@input="setFieldProp( 'query_label_field', $event )"
:conditions="getFilteredFieldConditions( [
{
'input': field.type,
'compare': 'in',
'value': [ 'checkbox', 'radio', 'select' ],
},
{
'input': field.object_type,
'compare': 'equal',
'value': 'field',
},
{
'input': field.options_source,
'compare': 'equal',
'value': 'query',
},
], 'query_label_field' )"
></cx-vui-input>
<cx-vui-textarea
label="<?php _e( 'Bulk Options', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'One option per line. Allowed formats:<br><i>value</i> - value and label will be the same<br><i>value::label</i> - separate value and label<br><i>value::label::checked</i> - separate value and label, checked by default', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
size="fullwidth"
:rows="Number(8)"
:value="field.bulk_options"
@input="setFieldProp( 'bulk_options', $event )"
:conditions="getFilteredFieldConditions( [
{
'input': field.type,
'compare': 'in',
'value': [ 'checkbox', 'radio', 'select' ],
},
{
'input': field.object_type,
'compare': 'equal',
'value': 'field',
},
{
'input': field.options_source,
'compare': 'equal',
'value': 'manual_bulk',
},
], 'bulk_options' )"
></cx-vui-textarea>
<cx-vui-component-wrapper
:wrapper-css="[ 'fullwidth-control' ]"
:conditions="getFilteredFieldConditions( [
{
'input': field.type,
'compare': 'in',
'value': [ 'checkbox', 'select', 'radio' ],
},
{
'input': field.options_source,
'compare': 'equal',
'value': 'manual',
},
{
'input': field.object_type,
'compare': 'equal',
'value': 'field',
}
], 'options_wrapper' )"
>
<div class="cx-vui-inner-panel">
<jet-meta-field-options
:value="field.options"
@input="setFieldProp( 'options', $event )"
:field="field"
/>
</div>
</cx-vui-component-wrapper>
<cx-vui-select
label="<?php _e( 'Layout', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Select layout orientation of inputs', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
size="fullwidth"
:options-list="[
{
value: 'vertical',
label: '<?php _e( 'Vertical', 'jet-engine' ); // phpcs:ignore ?>'
},
{
value: 'horizontal',
label: '<?php _e( 'Horizontal', 'jet-engine' ); // phpcs:ignore ?>'
},
]"
:value="field.check_radio_layout"
@input="setFieldProp( 'check_radio_layout', $event )"
:conditions="getFilteredFieldConditions( [
{
'input': field.type,
'compare': 'in',
'value': [ 'checkbox', 'radio' ],
},
{
'input': field.object_type,
'compare': 'equal',
'value': 'field',
},
], 'check_radio_layout' )"
></cx-vui-select>
<cx-vui-switcher
label="<?php _e( 'Save as timestamp', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'If this option is enabled date will be saved in database Unix timestamp. Toggle it if you need to sort or query posts by date', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
:value="field.is_timestamp"
@input="setFieldProp( 'is_timestamp', $event )"
:conditions="getFilteredFieldConditions( [
{
'input': field.type,
'compare': 'in',
'value': [ 'date', 'datetime-local' ],
},
{
'input': field.object_type,
'compare': 'equal',
'value': 'field',
}
], 'is_timestamp' )"
></cx-vui-switcher>
<cx-vui-input
label="<?php _e( 'Placeholder', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Placeholder text', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
size="fullwidth"
:value="field.placeholder"
@input="setFieldProp( 'placeholder', $event )"
:conditions="getFilteredFieldConditions( [
{
'input': field.type,
'compare': 'equal',
'value': 'select',
},
{
'input': field.object_type,
'compare': 'equal',
'value': 'field',
},
{
'input': field.is_multiple,
'compare': 'not_equal',
'value': true,
},
], 'placeholder' )"
></cx-vui-input>
<cx-vui-switcher
label="<?php _e( 'Save as array', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'If this option is enabled checked values will be stored as plain PHP array. Use this option if this meta value will be edited from front-end form', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
:value="field.is_array"
@input="setFieldProp( 'is_array', $event )"
:conditions="getFilteredFieldConditions( [
{
'input': 'is_array',
'compare': 'not_in',
'value': disabledFields,
},
{
'input': field.type,
'compare': 'equal',
'value': 'checkbox',
},
{
'input': field.object_type,
'compare': 'equal',
'value': 'field',
}
], 'is_array' )"
></cx-vui-switcher>
<cx-vui-f-select
label="<?php _e( 'Search in post types', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Select post types available to search in', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
:options-list="postTypes"
size="fullwidth"
:multiple="true"
:conditions="getFilteredFieldConditions( [
{
'input': field.type,
'compare': 'equal',
'value': 'posts',
},
{
'input': field.object_type,
'compare': 'equal',
'value': 'field',
}
], 'search_post_type' )"
:value="field.search_post_type"
@input="setFieldProp( 'search_post_type', $event )"
></cx-vui-f-select>
<cx-vui-input
label="<?php _e( 'Min characters to search', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Set a minimum number of characters that will trigger post search', 'jet-engine' ); // phpcs:ignore ?>"
type="number"
:wrapper-css="[ 'equalwidth' ]"
size="fullwidth"
min="1"
:value="field.min_input ?? 3"
@input="setFieldProp( 'min_input', $event )"
:conditions="getFilteredFieldConditions( [
{
'input': field.type,
'compare': 'in',
'value': [ 'select', 'posts' ],
},
{
'input': field.object_type,
'compare': 'equal',
'value': 'field',
}
], 'min_input' )"
></cx-vui-input>
<cx-vui-switcher
label="<?php _e( 'Multiple', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Allow to select multiple values', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
:value="field.is_multiple"
@input="setFieldProp( 'is_multiple', $event )"
:conditions="getFilteredFieldConditions( [
{
'input': field.type,
'compare': 'in',
'value': [ 'select', 'posts' ],
},
{
'input': field.object_type,
'compare': 'equal',
'value': 'field',
}
], 'is_multiple' )"
></cx-vui-switcher>
<cx-vui-input
label="<?php _e( 'Min value', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Set a minimum value for a number field', 'jet-engine' ); // phpcs:ignore ?>"
type="number"
:wrapper-css="[ 'equalwidth' ]"
size="fullwidth"
:value="field.min_value"
@input="setFieldProp( 'min_value', $event )"
:conditions="getFilteredFieldConditions( [
{
'input': field.type,
'compare': 'equal',
'value': 'number',
},
{
'input': field.object_type,
'compare': 'equal',
'value': 'field',
}
], 'min_value' )"
></cx-vui-input>
<cx-vui-input
label="<?php _e( 'Max value', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Set a maximum value for a number field', 'jet-engine' ); // phpcs:ignore ?>"
type="number"
:wrapper-css="[ 'equalwidth' ]"
size="fullwidth"
:value="field.max_value"
@input="setFieldProp( 'max_value', $event )"
:conditions="getFilteredFieldConditions( [
{
'input': field.type,
'compare': 'equal',
'value': 'number',
},
{
'input': field.object_type,
'compare': 'equal',
'value': 'field',
}
], 'max_value' )"
></cx-vui-input>
<cx-vui-input
label="<?php _e( 'Step value', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Set a stepping interval for a number field', 'jet-engine' ); // phpcs:ignore ?>"
type="number"
:wrapper-css="[ 'equalwidth' ]"
size="fullwidth"
:value="field.step_value"
@input="setFieldProp( 'step_value', $event )"
:conditions="getFilteredFieldConditions( [
{
'input': field.type,
'compare': 'equal',
'value': 'number',
},
{
'input': field.object_type,
'compare': 'equal',
'value': 'field',
}
], 'step_value' )"
></cx-vui-input>
<cx-vui-select
label="<?php _e( 'Value format', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Set the format of the value will be stored in the database', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
size="fullwidth"
:options-list="[
{
value: 'id',
label: '<?php _e( 'Media ID', 'jet-engine' ); // phpcs:ignore ?>'
},
{
value: 'url',
label: '<?php _e( 'Media URL', 'jet-engine' ); // phpcs:ignore ?>'
},
{
value: 'both',
label: '<?php _e( 'Array with media ID and URL', 'jet-engine' ); // phpcs:ignore ?>'
},
]"
:value="field.value_format"
@input="setFieldProp( 'value_format', $event )"
:conditions="getFilteredFieldConditions( [
{
'input': field.type,
'compare': 'in',
'value': [ 'media', 'gallery' ],
},
{
'input': field.object_type,
'compare': 'equal',
'value': 'field',
}
], 'value_format' )"
></cx-vui-select>
<cx-vui-component-wrapper
:wrapper-css="[ 'fullwidth-control' ]"
:conditions="getFilteredFieldConditions( [
{
'input': field.type,
'compare': 'equal',
'value': 'repeater',
},
{
'input': field.object_type,
'compare': 'equal',
'value': 'field',
}
], 'repeater_wrapper' )"
>
<div class="cx-vui-inner-panel">
<cx-vui-repeater
button-label="<?php _e( 'New Repeater Field', 'jet-engine' ); // phpcs:ignore ?>"
button-style="accent"
button-size="mini"
:value="field['repeater-fields']"
@input="setFieldProp( 'repeater-fields', $event )"
@add-new-item="addNewRepeaterField( $event )"
>
<cx-vui-repeater-item
v-for="( rField, rFieldIndex ) in field['repeater-fields']"
:title="field['repeater-fields'][ rFieldIndex ].title"
:subtitle="field['repeater-fields'][ rFieldIndex ].name + ' (' + field['repeater-fields'][ rFieldIndex ].type + ')'"
:collapsed="isCollapsed( rField )"
:index="rFieldIndex"
@clone-item="cloneRepeaterField( $event )"
@delete-item="deleteRepeaterField( $event )"
:key="rField.id ? rField.id : rField.id = getRandomID()"
>
<div
slot="before-actions"
v-if="showCondition( rField )"
@click="showRepeaterConditionPopup( rFieldIndex )"
:class="{
'jet-engine-conditional-field': true,
'cx-vui-repeater-item__copy': true,
'jet-engine-conditional-field--active': hasConditions( rField ),
'jet-engine-conditional-field--invalid': repeaterFieldConditionsInvalid( rField, field ),
}"
>
<svg viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="1.414">
<path d="M11.375 20.844c-1.125 0-1.875.75-1.875 1.875s.75 1.875 1.875 1.875c3.75 0 7.5 1.5 10.125 4.125.75.75 1.875.75 2.625 0s.75-1.875 0-2.625c-3.375-3.375-8.063-5.25-12.75-5.25z" fill-rule="nonzero"/>
<path d="M53.938 21.219l-5.25-5.25c-.376-.375-.938-.563-1.313-.563-.563 0-.938.188-1.312.563-.75.75-.75 1.875 0 2.625l2.062 2.062h-4.313c-4.875 0-9.375 1.875-12.75 5.25l-9.375 9.375c-2.625 2.625-6.375 4.125-10.125 4.125-1.125 0-1.875.75-1.875 1.875s.75 1.875 1.875 1.875c4.688 0 9.375-1.875 12.75-5.25l9.375-9.375c2.813-2.625 6.375-4.125 10.125-4.125h4.313l-2.062 2.063c-.75.75-.75 1.875 0 2.625s1.875.75 2.625 0l5.25-5.25c.75-.563.75-1.875 0-2.625z" fill-rule="nonzero"/>
<path d="M53.938 40.156l-5.25-5.25c-.376-.375-.938-.562-1.313-.562-.563 0-.938.187-1.312.562-.75.75-.75 1.875 0 2.625l2.062 2.063h-4.313c-3.75 0-7.5-1.5-10.125-4.125-.374-.375-.937-.563-1.312-.563-.563 0-.938.188-1.312.563-.75.75-.75 1.875 0 2.625 3.374 3.375 7.874 5.25 12.75 5.25h4.312l-2.063 2.062c-.75.75-.75 1.875 0 2.625s1.876.75 2.625 0l5.25-5.25c.75-.562.75-1.875 0-2.625z" fill-rule="nonzero"/>
</svg>
<div class="cx-vui-tooltip"><?php _e( 'Conditional Logic', 'jet-engine' ); // phpcs:ignore ?></div>
</div>
<cx-vui-input
label="<?php _e( 'Label', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Repeater field label. Will be displayed on Post edit page', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
size="fullwidth"
:value="field['repeater-fields'][ rFieldIndex ].title"
@input="setRepeaterFieldProp( rFieldIndex, 'title', $event )"
@on-input-change="preSetRepeaterFieldName( rFieldIndex )"
></cx-vui-input>
<cx-vui-input
label="<?php _e( 'Name', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Repeater field name/ID. Should contain only latin letters, numbers, `-` or `_` chars', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
size="fullwidth"
:value="field['repeater-fields'][ rFieldIndex ].name"
@input="setRepeaterFieldProp( rFieldIndex, 'name', $event )"
@on-input-change="sanitizeRepeaterFieldName( rFieldIndex )"
></cx-vui-input>
<cx-vui-select
label="<?php _e( 'Type', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Repeater field type. Defines the way field be displayed on Post edit page', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
size="fullwidth"
:options-list="repeaterFieldTypes"
:value="field['repeater-fields'][ rFieldIndex ].type"
@input="setRepeaterFieldProp( rFieldIndex, 'type', $event )"
></cx-vui-select>
<cx-vui-select
label="<?php _e( 'Source', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Select source to get field options from', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
size="fullwidth"
:options-list="allowedSources"
:value="field['repeater-fields'][ rFieldIndex ].options_source"
@input="setRepeaterFieldProp( rFieldIndex, 'options_source', $event )"
:conditions="[
{
'input': field['repeater-fields'][ rFieldIndex ].type,
'compare': 'in',
'value': [ 'checkbox', 'select', 'radio' ],
}
]"
></cx-vui-select>
<cx-vui-select
label="<?php _e( 'Glossary', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Select exact glossary to get options from', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
size="fullwidth"
:options-list="glossariesList"
v-model="field['repeater-fields'][ rFieldIndex ].glossary_id"
:conditions="[
{
'input': field['repeater-fields'][ rFieldIndex ].type,
'compare': 'in',
'value': [ 'checkbox', 'select', 'radio' ],
},
{
'input': field['repeater-fields'][ rFieldIndex ].options_source,
'compare': 'equal',
'value': 'glossary',
}
]"
></cx-vui-select>
<cx-vui-select
label="<?php _e( 'Query', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Select exact query to get options from', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
size="fullwidth"
:options-list="queriesList"
v-model="field['repeater-fields'][ rFieldIndex ].query_id"
:conditions="[
{
'input': field['repeater-fields'][ rFieldIndex ].type,
'compare': 'in',
'value': [ 'checkbox', 'radio', 'select' ],
},
{
'input': field['repeater-fields'][ rFieldIndex ].options_source,
'compare': 'equal',
'value': 'query',
},
]"
></cx-vui-select>
<cx-vui-input
label="<?php _e( 'Value Field', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Query result field to use as option value. If empty, we`ll try to use most obvious value. For example ID for posts.', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
size="fullwidth"
v-model="field['repeater-fields'][ rFieldIndex ].query_value_field"
:conditions="getFilteredFieldConditions( [
{
'input': field['repeater-fields'][ rFieldIndex ].type,
'compare': 'in',
'value': [ 'checkbox', 'radio', 'select' ],
},
{
'input': field['repeater-fields'][ rFieldIndex ].options_source,
'compare': 'equal',
'value': 'query',
},
], 'query_value_field' )"
></cx-vui-input>
<cx-vui-input
label="<?php _e( 'Label Field', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Query result field to use as option label. If empty, we`ll try to use most obvious value. For example post_title for posts.', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
size="fullwidth"
v-model="field['repeater-fields'][ rFieldIndex ].query_label_field"
:conditions="getFilteredFieldConditions( [
{
'input': field['repeater-fields'][ rFieldIndex ].type,
'compare': 'in',
'value': [ 'checkbox', 'radio', 'select' ],
},
{
'input': field['repeater-fields'][ rFieldIndex ].options_source,
'compare': 'equal',
'value': 'query',
},
], 'query_label_field' )"
></cx-vui-input>
<cx-vui-textarea
label="<?php _e( 'Bulk Options', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'One option per line. Allowed formats:<br><i>value</i> - value and label will be the same<br><i>value::label</i> - separate value and label<br><i>value::label::checked</i> - separate value and label, checked by default', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
size="fullwidth"
:rows="Number(8)"
v-model="field['repeater-fields'][ rFieldIndex ].bulk_options"
:conditions="getFilteredFieldConditions( [
{
'input': field['repeater-fields'][ rFieldIndex ].type,
'compare': 'in',
'value': [ 'checkbox', 'radio', 'select' ],
},
{
'input': field['repeater-fields'][ rFieldIndex ].options_source,
'compare': 'equal',
'value': 'manual_bulk',
},
], 'bulk_options' )"
></cx-vui-textarea>
<cx-vui-component-wrapper
:wrapper-css="[ 'fullwidth-control' ]"
:conditions="[
{
'input': field['repeater-fields'][ rFieldIndex ].type,
'compare': 'in',
'value': [ 'checkbox', 'select', 'radio' ],
},
{
'input': field['repeater-fields'][ rFieldIndex ].options_source,
'compare': 'equal',
'value': 'manual',
},
]"
>
<div class="cx-vui-inner-panel">
<jet-meta-field-options
v-model="field['repeater-fields'][ rFieldIndex ].options"
:field="field['repeater-fields'][ rFieldIndex ]"
/>
</div>
</cx-vui-component-wrapper>
<cx-vui-select
label="<?php _e( 'Layout', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Select layout orientation of inputs', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
size="fullwidth"
:options-list="[
{
value: 'vertical',
label: '<?php _e( 'Vertical', 'jet-engine' ); // phpcs:ignore ?>'
},
{
value: 'horizontal',
label: '<?php _e( 'Horizontal', 'jet-engine' ); // phpcs:ignore ?>'
},
]"
:value="field['repeater-fields'][ rFieldIndex ].check_radio_layout"
@input="setRepeaterFieldProp( rFieldIndex, 'check_radio_layout', $event )"
:conditions="[
{
'input': field['repeater-fields'][ rFieldIndex ].type,
'compare': 'in',
'value': [ 'checkbox', 'radio' ],
},
]"
></cx-vui-select>
<cx-vui-switcher
label="<?php _e( 'Save as timestamp', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'If this option is enabled date will be saved in database Unix timestamp. Toggle it if you need to sort or query posts by date', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
:value="field['repeater-fields'][ rFieldIndex ].is_timestamp"
@input="setRepeaterFieldProp( rFieldIndex, 'is_timestamp', $event )"
:conditions="[
{
'input': field['repeater-fields'][ rFieldIndex ].type,
'compare': 'in',
'value': [ 'date', 'datetime-local' ],
}
]"
></cx-vui-switcher>
<cx-vui-input
label="<?php _e( 'Min value', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Set a minimum value for a number field', 'jet-engine' ); // phpcs:ignore ?>"
type="number"
:wrapper-css="[ 'equalwidth' ]"
size="fullwidth"
:value="field['repeater-fields'][ rFieldIndex ].min_value"
@input="setRepeaterFieldProp( rFieldIndex, 'min_value', $event )"
:conditions="[
{
'input': field['repeater-fields'][ rFieldIndex ].type,
'compare': 'equal',
'value': 'number',
}
]"
></cx-vui-input>
<cx-vui-input
label="<?php _e( 'Max value', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Set a maximum value for a number field', 'jet-engine' ); // phpcs:ignore ?>"
type="number"
:wrapper-css="[ 'equalwidth' ]"
size="fullwidth"
:value="field['repeater-fields'][ rFieldIndex ].max_value"
@input="setRepeaterFieldProp( rFieldIndex, 'max_value', $event )"
:conditions="[
{
'input': field['repeater-fields'][ rFieldIndex ].type,
'compare': 'equal',
'value': 'number',
}
]"
></cx-vui-input>
<cx-vui-input
label="<?php _e( 'Step value', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Set a stepping interval for a number field', 'jet-engine' ); // phpcs:ignore ?>"
type="number"
:wrapper-css="[ 'equalwidth' ]"
size="fullwidth"
:value="field['repeater-fields'][ rFieldIndex ].step_value"
@input="setRepeaterFieldProp( rFieldIndex, 'step_value', $event )"
:conditions="[
{
'input': field['repeater-fields'][ rFieldIndex ].type,
'compare': 'equal',
'value': 'number',
}
]"
></cx-vui-input>
<cx-vui-f-select
label="<?php _e( 'Search in post types', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Select post types available to search in', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
:options-list="postTypes"
size="fullwidth"
:multiple="true"
:value="field['repeater-fields'][ rFieldIndex ].search_post_type"
@input="setRepeaterFieldProp( rFieldIndex, 'search_post_type', $event )"
:conditions="[
{
'input': field['repeater-fields'][ rFieldIndex ].type,
'compare': 'equal',
'value': 'posts',
},
]"
v-model="field['repeater-fields'][ rFieldIndex ].search_post_type"
></cx-vui-f-select>
<cx-vui-input
label="<?php _e( 'Placeholder', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Placeholder text', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
size="fullwidth"
v-model="field['repeater-fields'][ rFieldIndex ].placeholder"
:conditions="[
{
'input': field['repeater-fields'][ rFieldIndex ].type,
'compare': 'equal',
'value': 'select',
}
]"
></cx-vui-input>
<cx-vui-switcher
label="<?php _e( 'Multiple', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Allow to select multiple values', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
:value="field['repeater-fields'][ rFieldIndex ].is_multiple"
@input="setRepeaterFieldProp( rFieldIndex, 'is_multiple', $event )"
:conditions="[
{
'input': field['repeater-fields'][ rFieldIndex ].type,
'compare': 'in',
'value': [ 'select', 'posts' ],
},
]"
></cx-vui-switcher>
<cx-vui-switcher
label="<?php _e( 'Save as array', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'If this option is enabled checked values will be stored as plain PHP array. Use this option if this meta value will be edited from front-end form', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
:value="field['repeater-fields'][ rFieldIndex ].is_array"
@input="setRepeaterFieldProp( rFieldIndex, 'is_array', $event )"
:conditions="[
{
'input': field['repeater-fields'][ rFieldIndex ].type,
'compare': 'equal',
'value': 'checkbox',
},
]"
></cx-vui-switcher>
<cx-vui-select
label="<?php _e( 'Value format', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Set the format of the value will be stored in the database', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
size="fullwidth"
:options-list="[
{
value: 'id',
label: '<?php _e( 'Media ID', 'jet-engine' ); // phpcs:ignore ?>'
},
{
value: 'url',
label: '<?php _e( 'Media URL', 'jet-engine' ); // phpcs:ignore ?>'
},
{
value: 'both',
label: '<?php _e( 'Array with media ID and URL', 'jet-engine' ); // phpcs:ignore ?>'
},
]"
:value="field['repeater-fields'][ rFieldIndex ].value_format"
@input="setRepeaterFieldProp( rFieldIndex, 'value_format', $event )"
:conditions="[
{
'input': field['repeater-fields'][ rFieldIndex ].type,
'compare': 'in',
'value': [ 'media', 'gallery' ],
}
]"
></cx-vui-select>
<cx-vui-switcher
label="<?php _e( 'Alpha mode', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Toggle this option to enabled Alpha channel in Colorpicker', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
:value="field['repeater-fields'][ rFieldIndex ].alpha_mode"
@input="setRepeaterFieldProp( rFieldIndex, 'alpha_mode', $event )"
:conditions="[
{
'input': field['repeater-fields'][ rFieldIndex ].type,
'compare': 'equal',
'value': 'colorpicker',
}
]"
></cx-vui-switcher>
<cx-vui-select
label="<?php _e( 'Icon Library', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Select an icon library for iconpicker field', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
size="fullwidth"
:options-list="iconsLibraries"
:value="field['repeater-fields'][ rFieldIndex ].iconpicker_library"
@input="setRepeaterFieldProp( rFieldIndex, 'iconpicker_library', $event )"
:conditions="[
{
'input': field['repeater-fields'][ rFieldIndex ].type,
'compare': 'equal',
'value': 'iconpicker',
}
]"
></cx-vui-select>
<?php do_action( 'jet-engine/meta-boxes/templates/fields/repeater/controls' ); ?>
</cx-vui-repeater-item>
</cx-vui-repeater>
</div>
</cx-vui-component-wrapper>
<cx-vui-switcher
label="<?php _e( 'Save as separate fields', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Toggle this option to store the value of each repeater field as a separate field', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
:value="field.repeater_save_separate"
@input="setFieldProp( 'repeater_save_separate', $event )"
:conditions="getFilteredFieldConditions( [
{
'input': field.type,
'compare': 'equal',
'value': 'repeater',
},
{
'input': field.object_type,
'compare': 'equal',
'value': 'field',
},
{
'input': 'repeater_save_separate',
'compare': 'not_in',
'value': disabledFields,
},
{
'input': 'repeater_save_separate',
'compare': 'not_in',
'value': hideOptions,
}
], 'repeater_save_separate' )"
></cx-vui-switcher>
<cx-vui-switcher
label="<?php _e( 'Collapsed', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Toggle this option to collapse repeater items on page load', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
:value="field.repeater_collapsed"
@input="setFieldProp( 'repeater_collapsed', $event )"
:conditions="getFilteredFieldConditions( [
{
'input': field.type,
'compare': 'equal',
'value': 'repeater',
},
{
'input': field.object_type,
'compare': 'equal',
'value': 'field',
}
], 'repeater_collapsed' )"
></cx-vui-switcher>
<cx-vui-select
label="<?php _e( 'Title Field', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Select a repeater field to show as a repeater item title', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
size="fullwidth"
:options-list="getRepeaterTitleFields( index )"
:value="field.repeater_title_field"
@input="setFieldProp( 'repeater_title_field', $event )"
:conditions="getFilteredFieldConditions( [
{
'input': field.type,
'compare': 'equal',
'value': 'repeater',
},
{
'input': field.object_type,
'compare': 'equal',
'value': 'field',
}
], 'repeater_title_field' )"
></cx-vui-select>
<cx-vui-switcher
label="<?php _e( 'Alpha mode', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Toggle this option to enabled Alpha channel in Colorpicker', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
:value="field.alpha_mode"
@input="setFieldProp( 'alpha_mode', $event )"
:conditions="getFilteredFieldConditions( [
{
'input': field.object_type,
'compare': 'equal',
'value': 'field',
},
{
'input': field.type,
'compare': 'equal',
'value': 'colorpicker',
}
], 'alpha_mode' )"
></cx-vui-switcher>
<cx-vui-select
label="<?php _e( 'Icon Library', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Select an icon library for iconpicker field', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
size="fullwidth"
:options-list="iconsLibraries"
:value="field.iconpicker_library"
@input="setFieldProp( 'iconpicker_library', $event )"
:conditions="getFilteredFieldConditions( [
{
'input': field.type,
'compare': 'equal',
'value': 'iconpicker',
},
{
'input': field.object_type,
'compare': 'equal',
'value': 'field',
}
], 'iconpicker_library' )"
></cx-vui-select>
<cx-vui-textarea
label="<?php _e( 'Description', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Meta field description to be shown on Post edit page', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
size="fullwidth"
:value="field.description"
@input="setFieldProp( 'description', $event )"
:conditions="getFilteredFieldConditions( [
{
'input': field.object_type,
'compare': 'equal',
'value': 'field',
},
{
'input': field.type,
'compare': 'not_equal',
'value': 'html',
},
], 'description' )"
></cx-vui-textarea>
<cx-vui-textarea
label="<?php _e( 'HTML Code', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
size="fullwidth"
:value="field.html"
@input="setFieldProp( 'html', $event )"
:conditions="getFilteredFieldConditions( [
{
'input': field.object_type,
'compare': 'equal',
'value': 'field',
},
{
'input': field.type,
'compare': 'equal',
'value': 'html',
},
], 'html' )"
></cx-vui-textarea>
<cx-vui-input
label="<?php _e( 'CSS Classes', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
size="fullwidth"
:value="field.html_css_class"
@input="setFieldProp( 'html_css_class', $event )"
@on-input-change="preSetFieldName()"
:conditions="getFilteredFieldConditions( [
{
'input': field.object_type,
'compare': 'equal',
'value': 'field',
},
{
'input': field.type,
'compare': 'equal',
'value': 'html',
},
], 'html_css_class' )"
></cx-vui-input>
<cx-vui-select
label="<?php _e( 'Field width', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Select meta field width from the dropdown list for Post edit page', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
size="fullwidth"
:options-list="[
{
value: '100%',
label: '100%',
},
{
value: '75%',
label: '75%',
},
{
value: '66.66666%',
label: '66.6%',
},
{
value: '50%',
label: '50%',
},
{
value: '33.33333%',
label: '33.3%',
},
{
value: '25%',
label: '25%',
},
]"
:value="field.width"
:conditions="getFilteredFieldConditions( [
{
'input': 'width',
'compare': 'not_in',
'value': disabledFields,
},
{
'input': field.object_type,
'compare': 'equal',
'value': 'field',
}
], 'width' )"
@input="setFieldProp( 'width', $event )"
></cx-vui-select>
<cx-vui-input
label="<?php _e( 'Character limit', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Max field value length. Leave empty for no limit', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
size="fullwidth"
:value="field.max_length"
@input="setFieldProp( 'max_length', $event )"
@on-input-change="preSetFieldName( index )"
:conditions="getFilteredFieldConditions( [
{
'input': field.type,
'compare': 'in',
'value': [ 'text', 'textarea' ],
},
{
'input': 'max_length',
'compare': 'not_in',
'value': disabledFields,
},
{
'input': field.object_type,
'compare': 'equal',
'value': 'field',
}
], 'max_length' )"
></cx-vui-input>
<cx-vui-input
label="<?php _e( 'Default value', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Set default value for current field. <b>Note</b> For date field you can set any value could be processed by strtotime() function.', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
size="fullwidth"
:value="field.default_val"
:conditions="getFilteredFieldConditions( [
{
'input': field.type,
'compare': 'in',
'value': [ 'text', 'date', 'textarea', 'iconpicker', 'wysiwyg', 'number', 'colorpicker' ],
},
{
'input': 'default_val',
'compare': 'not_in',
'value': disabledFields,
},
{
'input': field.object_type,
'compare': 'equal',
'value': 'field',
}
], 'default_val' )"
@input="setFieldProp( 'default_val', $event )"
></cx-vui-input>
<cx-vui-switcher
label="<?php _e( 'On by default', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Make switcher On by default', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
:value="field.on_by_default"
@input="setFieldProp( 'on_by_default', $event )"
:conditions="getFilteredFieldConditions( [
{
'input': field.type,
'compare': 'equal',
'value': 'switcher',
},
{
'input': field.object_type,
'compare': 'equal',
'value': 'field',
}
], 'on_by_default' )"
></cx-vui-switcher>
<cx-vui-switcher
label="<?php _e( 'Is required', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Toggle this option to make this field as required one', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
:value="field.is_required"
@input="setFieldProp( 'is_required', $event )"
:conditions="getFilteredFieldConditions( [
{
'input': field.type,
'compare': 'not_in',
'value': [ 'switcher', 'html' ],
},
{
'input': field.object_type,
'compare': 'equal',
'value': 'field',
}
], 'is_required' )"
></cx-vui-switcher>
<template
v-if="( 'checkbox' !== field.type ) || ( 'checkbox' === field.type && field.is_array )"
>
<cx-vui-switcher
label="<?php _e( 'Quick edit support', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Toggle this option to make this field available in the Quick Edit section', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
:value="field.quick_editable"
@input="setFieldProp( 'quick_editable', $event )"
:conditions="getFilteredFieldConditions( [
{
'input': field.type,
'compare': 'in',
'value': quickEditSupports,
},
{
'input': 'quick_editable',
'compare': 'not_in',
'value': disabledFields,
},
{
'input': field.object_type,
'compare': 'equal',
'value': 'field',
},
{
'input': 'quick_editable',
'compare': 'not_in',
'value': hideOptions,
}
], 'quick_editable' )"
></cx-vui-switcher>
</template>
<cx-vui-switcher
label="<?php _e( 'Revision support', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Toggle this option to make this field available in the Revisions', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
:value="field.revision_support"
@input="setFieldProp( 'revision_support', $event )"
:conditions="getFilteredFieldConditions( [
{
'input': 'revision_support',
'compare': 'not_in',
'value': disabledFields,
},
{
'input': 'revision_support',
'compare': 'not_in',
'value': hideOptions,
},
{
'input': field.object_type,
'compare': 'equal',
'value': 'field',
},
{
'input': field.type,
'compare': 'not_equal',
'value': 'html',
},
], 'revision_support' )"
></cx-vui-switcher>
<cx-vui-switcher
label="<?php _e( 'Restrict MIME Types', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Toggle this option to set a list of MIME types allowed in this field', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
:value="field.restrict_mime_types"
@input="setFieldProp( 'restrict_mime_types', $event )"
:conditions="getFilteredFieldConditions( [
{
'input': field.type,
'compare': 'in',
'value': [ 'media', 'gallery' ],
},
{
'input': field.object_type,
'compare': 'equal',
'value': 'field',
},
], 'restrict_mime_types' )"
></cx-vui-switcher>
<cx-vui-f-select
label="<?php _e( 'Allowed MIME Types', 'jet-engine' ); // phpcs:ignore ?>"
name="allowed_mime_types"
description="<?php _e( 'Leave empty to allow all MIME types.', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
:options-list="window.JetEngineMediaConfig.mime_types"
size="fullwidth"
:multiple="true"
:value="field.allowed_mime_types"
:conditions="getFilteredFieldConditions( [
{
'input': field.type,
'compare': 'in',
'value': [ 'media', 'gallery' ],
},
{
'input': field.restrict_mime_types,
'compare': 'equal',
'value': true,
},
{
'input': field.object_type,
'compare': 'equal',
'value': 'field',
},
], 'value_format' )"
@input="setFieldProp( 'allowed_mime_types', $event )"
></cx-vui-f-select>
<?php do_action( 'jet-engine/meta-boxes/templates/fields/controls' ); ?>
<cx-vui-switcher
label="<?php _e( 'Show in Rest API', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Allow to get/update this field with WordPress Rest API', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
:value="field.show_in_rest"
@input="setFieldProp( 'show_in_rest', $event )"
:conditions="getFilteredFieldConditions( [
{
'input': 'show_in_rest',
'compare': 'not_in',
'value': disabledFields,
},
{
'input': 'show_in_rest',
'compare': 'not_in',
'value': hideOptions,
},
{
'input': field.object_type,
'compare': 'equal',
'value': 'field',
},
{
'input': field.type,
'compare': 'not_equal',
'value': 'html',
},
], 'show_in_rest' )"
></cx-vui-switcher>
<cx-vui-component-wrapper
label="<?php _e( 'Conditional Logic', 'jet-engine' ); // phpcs:ignore ?>"
description="<?php _e( 'Click on button to set meta field display rules.', 'jet-engine' ); // phpcs:ignore ?>"
:wrapper-css="[ 'equalwidth' ]"
v-if="showCondition( field )"
>
<cx-vui-button
size="mini"
button-style="accent-border"
@click="showConditionPopup()"
>
<span
slot="label"
v-html="hasConditions( field ) ? '<?php _e( 'Edit conditional rules', 'jet-engine' ); // phpcs:ignore ?>' : '<?php _e( 'Set up conditional rules', 'jet-engine' ); // phpcs:ignore ?>'"
></span>
</cx-vui-button>
</cx-vui-component-wrapper>
</div>