[Back] <?php
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
class Latepoint_Bricks_Widget_Calendar extends \Bricks\Element {
public $category = 'latepoint';
public $name = 'latepoint_calendar';
public $icon = 'ti-calendar';
public function get_label(): string {
return esc_html__( 'Latepoint Calendar', 'latepoint' );
}
public function set_controls() {
$this->controls['_width']['default'] = '100%';
$this->controls['date'] = [
'tab' => 'content',
'label' => esc_html__( 'Date', 'latepoint' ),
'type' => 'datepicker',
'inline' => true,
'options' => [
'enableTime' => false,
'time_24hr' => true
]
];
$this->controls['show_agents'] = [
'tab' => 'content',
'label' => esc_html__( 'Show Agents', 'latepoint' ),
'type' => 'select',
'options' => OsBricksHelper::get_data('agents'),
'placeholder' => esc_html__( 'Select Agents', 'latepoint' ),
'multiple' => true,
'searchable' => true,
'clearable' => true,
];
$this->controls['show_services'] = [
'tab' => 'content',
'label' => esc_html__( 'Show Services', 'latepoint' ),
'type' => 'select',
'options' => OsBricksHelper::get_data('services'),
'placeholder' => esc_html__( 'Select Services', 'latepoint' ),
'multiple' => true,
'searchable' => true,
'clearable' => true,
];
$this->controls['show_locations'] = [
'tab' => 'content',
'label' => esc_html__( 'Show Locations', 'latepoint' ),
'type' => 'select',
'options' => OsBricksHelper::get_data('locations'),
'placeholder' => esc_html__( 'Select Locations', 'latepoint' ),
'multiple' => true,
'searchable' => true,
'clearable' => true,
];
$this->controls['view'] = [
'tab' => 'content',
'label' => esc_html__( 'View', 'latepoint' ),
'type' => 'select',
'options' => [
'month' => esc_html__( 'Month', 'latepoint' ),
'week' => esc_html__( 'Week', 'latepoint' ),
],
'placeholder' => esc_html__( 'Month', 'latepoint' ),
'default' => 'month',
];
}
// Render element HTML
public function render() {
$allowed_params = [
'date',
'show_services',
'show_agents',
'show_locations',
'view'
];
$params = OsBlockHelper::attributes_to_data_params($this->settings, $allowed_params);
echo do_shortcode('[latepoint_calendar ' . $params . ']');
}
}