[Back] <?php
/*
* Copyright (c) 2023 LatePoint LLC. All rights reserved.
*/
/**
*
* @var $target_date OsWpDateTime
* @var $today_date OsWpDateTime
* @var $calendar_settings array
* @var $locations OsLocationModel[]
* @var $services OsServiceModel[]
* @var $agents OsAgentModel[]
* @var $categorized_services_list array
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly
}
if(!empty($services) && !empty($agents)){ ?>
<div class="calendar-wrapper" data-view="<?php echo esc_attr($calendar_settings['view']); ?>">
<form class="os-calendar-settings-form" action="">
<div class="os-calendar-settings-main">
<div class="os-current-month-label-w calendar-mobile-controls">
<div class="os-current-month-label">
<div class="current-month">
<?php echo esc_html($top_date_label); ?>
</div>
<div class="current-year"><?php echo esc_html($target_date->format('Y')); ?></div>
</div>
<div class="cc-panel">
<div class="cc-actions">
<a href="#" class="cc-action-today os-calendar-today-btn calendar-load-target-date" data-target-date="<?php echo esc_attr($today_date->format('Y-m-d')); ?>">
<span><?php esc_html_e('Today', 'latepoint'); ?></span>
</a>
<div class="cc-navigate-arrows">
<a href="#" class="cc-action-prev os-calendar-prev-btn"><i class="latepoint-icon latepoint-icon-arrow-left"></i></a>
<a href="#" class="cc-action-next os-calendar-next-btn"><i class="latepoint-icon latepoint-icon-arrow-right"></i></a>
</div>
</div>
<div class="cc-view">
<?php
$views = ['day' => __('Day', 'latepoint'), 'week' => __('Week', 'latepoint'), 'month' => __('Month', 'latepoint'), 'list' => __('List', 'latepoint')];
echo '<div class="os-calendar-view-toggle" data-update-element-by-name="calendar_settings[view]">';
foreach($views as $view => $label){
$selected = $calendar_settings['view'] == $view ? 'os-selected' : '';
echo '<div class="os-calendar-view-option '.$selected.'" data-value="'.$view.'">'.$label.'</div>';
}
echo '</div>';
echo OsFormHelper::hidden_field('calendar_settings[view]', $calendar_settings['view']); ?>
</div>
<?php if(count($services) > 1 || count($agents) > 1 || count($locations) > 1){ ?>
<div class="os-calendar-settings-toggler-wrapper">
<a href="#" class="calendar-settings-toggler"><i class="latepoint-icon latepoint-icon-more-horizontal"></i></a>
</div>
<?php } ?>
</div>
</div>
</div>
<div class="os-calendar-settings-extra">
<?php if(count($services) > 1){ ?>
<div class="cc-availability-toggler-w">
<div class="cc-availability-toggler"><?php echo OsFormHelper::toggler_field('calendar_settings[overlay_service_availability]', __('Overlay service hours', 'latepoint'), ($calendar_settings['availability_service_id'] ? true : false), 'cc-service-availability-selector'); ?></div>
<div class="cc-service-availability-selector" id="cc-service-availability-selector">
<?php echo OsFormHelper::select_field('calendar_settings[availability_service_id]', __('For:', 'latepoint'), OsUtilHelper::models_to_select_options($services, 'id', 'name'), $calendar_settings['availability_service_id']); ?>
</div>
</div>
<?php } ?>
<div class="resource-filters-wrapper">
<?php if(count($services) > 1){ ?>
<div class="latecheckbox-w">
<a href="#" class="latecheckbox">
<div class="filter-label"><?php esc_html_e('Services:', 'latepoint'); ?></div>
<div class="filter-value"><?php esc_html_e('All', 'latepoint'); ?></div>
</a>
<div class="latecheckbox-options-w">
<?php if(count($services) >= 5){ ?>
<div class="latecheckbox-filter-input-w">
<input class="latecheckbox-all-check" type="checkbox" checked/>
<input class="latecheckbox-filter-input" type="text" placeholder="<?php esc_attr_e('Type to filter...', 'latepoint'); ?>"/>
</div>
<?php } ?>
<div class="latecheckbox-options">
<?php if(!empty($categorized_services_list)){
foreach($categorized_services_list as $category){
if(empty($category['items'])) continue;
echo '<div class="latecheckbox-group">';
echo '<div class="latecheckbox-group-heading"><label><input type="checkbox" class="latecheckbox-group-check" checked/><span>'.esc_html($category['name']).'</span></label></div>';
echo '<div class="latecheckbox-group-options">';
foreach($category['items'] as $service){
echo '<div class="latecheckbox-option">';
echo '<label>';
echo '<input name="calendar_settings[show_service_ids][]" type="checkbox" checked value="'.esc_attr($service->id).'"/>';
echo '<span>'.esc_html($service->name).'</span>';
echo '</label>';
echo '</div>';
}
echo '</div>';
echo '</div>';
}
}else{
foreach($services as $service) {
echo '<div class="latecheckbox-option">';
echo '<label>';
echo '<input name="calendar_settings[show_service_ids][]" type="checkbox" checked value="' . esc_attr($service->id) . '"/>';
echo '<span class="late-label">' . esc_html($service->name) . '</span>';
echo '</label>';
echo '</div>';
}
}
?>
</div>
</div>
</div>
<?php } ?>
<?php if(count($locations) > 1){ ?>
<div class="latecheckbox-w">
<a href="#" class="latecheckbox">
<div class="filter-label"><?php esc_html_e('Locations:', 'latepoint'); ?></div>
<div class="filter-value"><?php esc_html_e('All', 'latepoint'); ?></div>
</a>
<div class="latecheckbox-options-w">
<?php if(count($locations) >= 5){ ?>
<div class="latecheckbox-filter-input-w">
<input class="latecheckbox-all-check" type="checkbox" checked/>
<input class="latecheckbox-filter-input" type="text" placeholder="<?php esc_attr_e('Type to filter...', 'latepoint'); ?>"/>
</div>
<?php } ?>
<div class="latecheckbox-options">
<?php foreach($locations as $location){
echo '<div class="latecheckbox-option">';
echo '<label>';
echo '<input name="calendar_settings[show_location_ids][]" type="checkbox" checked value="'.esc_attr($location->id).'"/>';
echo '<span class="late-label">'.esc_html($location->name).'</span>';
echo '</label>';
echo '</div>';
}
?>
</div>
</div>
</div>
<?php } ?>
<?php if(count($agents) > 1){ ?>
<div class="latecheckbox-w">
<a href="#" class="latecheckbox">
<div class="filter-label"><?php esc_html_e('Agents:', 'latepoint'); ?></div>
<div class="filter-value"><?php esc_html_e('All', 'latepoint'); ?></div>
</a>
<div class="latecheckbox-options-w">
<?php if(count($agents) >= 5){ ?>
<div class="latecheckbox-filter-input-w">
<input class="latecheckbox-all-check" type="checkbox" checked/>
<input class="latecheckbox-filter-input" type="text" placeholder="<?php esc_attr_e('Type to filter...', 'latepoint'); ?>"/>
</div>
<?php } ?>
<div class="latecheckbox-options">
<?php foreach($agents as $agent){
echo '<div class="latecheckbox-option">';
echo '<label>';
echo '<input name="calendar_settings[show_agent_ids][]" type="checkbox" checked value="'.esc_attr($agent->id).'"/>';
echo '<span class="late-avatar" style="background-image: url('.esc_url($agent->get_avatar_url()).')"></span>';
echo '<span class="late-label">'.esc_html($agent->full_name).'</span>';
echo '</label>';
echo '</div>';
}
?>
</div>
</div>
</div>
<?php } ?>
</div>
<?php
echo OsFormHelper::hidden_field('calendar_settings[target_date_string]', $target_date->format('Y-m-d'));
echo OsFormHelper::hidden_field('calendar_settings[selected_agent_id]', $calendar_settings['selected_agent_id']);
?>
</div>
</form>
<div class="calendar-view-wrapper" data-route="<?php echo esc_attr(OsRouterHelper::build_route_name('calendars', 'view')); ?>">
<?php include_once('scopes/_'.$calendar_settings['view'].'.php'); ?>
</div>
</div>
<?php
}else{ ?>
<div class="no-results-w">
<div class="icon-w"><i class="latepoint-icon latepoint-icon-grid"></i></div>
<h2><?php esc_html_e('No Agents or Services Created', 'latepoint'); ?></h2>
<?php if(OsAuthHelper::is_admin_logged_in()){ ?>
<a href="<?php echo esc_url(OsRouterHelper::build_link(['agents', 'new_form'] )); ?>" class="latepoint-btn"><i class="latepoint-icon latepoint-icon-plus-square"></i><span><?php esc_html_e('Create Agent', 'latepoint'); ?></span></a>
<a href="<?php echo esc_url(OsRouterHelper::build_link(['services', 'new_form'] )); ?>" class="latepoint-btn"><i class="latepoint-icon latepoint-icon-plus-square"></i><span><?php esc_html_e('Create Service', 'latepoint'); ?></span></a>
<?php } ?>
</div>
<?php
}