File "RepeaterControl.php"
Full Path: /home/pumpbmko/public_html/themes/momota/lib/colibriwp/src/Customizer/Controls/RepeaterControl.php
File size: 1.51 KB
MIME-type: text/x-php
Charset: utf-8
<?php
namespace ColibriWP\Theme\Customizer\Controls;
use ColibriWP\Theme\Core\Utils;
use ColibriWP\Theme\Translations;
class RepeaterControl extends VueControl {
public $type = 'colibri-repeater';
private $fields = array();
public static function sanitize( $value, $control_data, $default = '' ) {
return Utils::sanitizeEscapedJSON( $value );
}
protected function printVueContent() {
?>
<div class="colibri-fullwidth">
<div class="colibri-fullwidth">
<el-collapse v-sortable-el-accordion="onSortEnd">
<el-collapse-item v-for="(item,index) in items" :name="index" :key="item.index">
<template slot="title">
<?php $this->vueEcho( 'itemsLabels[index]' ); ?>
</template>
<ul class="field-data">
<li v-for="(field,name) in fields" :key="name">
<label class="field-label"><?php $this->vueEcho( 'field.label' ); ?></label>
<div class="component-holder"
:is="getComponentType(field.type)"
:value="item[name]"
v-bind="field.props"
@change="propChanged($event,item,name)"></div>
</li>
</ul>
<el-button class="el-button--danger" type="text" v-show="canRemoveItem"
@click="removeItem(index)"><?php Translations::escHtmlE( 'remove' ); ?></el-button>
</el-collapse-item>
</el-collapse>
</div>
<div class="colibri-fullwidth">
<el-button size="medium" v-show="canAdd"
@click="addItem()"><?php $this->vueEcho( 'item_add_label' ); ?></el-button>
</div>
</div>
<?php
}
}