Your IP : 216.73.216.79


Current Path : /var/www/html/project/views/tasks/
Upload File :
Current File : /var/www/html/project/views/tasks/calendar.php

<?php

use yii\helpers\Html;
use yii\grid\GridView;
use yii\helpers\Url;
use yii\widgets\ActiveForm;
use yii\helpers\ArrayHelper;
use app\models\Tasks;
use app\models\Projects;
use app\models\User;

$this->title = 'All Staff Task';
$this->registerCss('.fc-more-popover{width:auto;}');
?>
<div class="kt-subheader   kt-grid__item" id="kt_subheader">
    <div class="kt-container ">
        <div class="kt-subheader__main">
            <h3 class="kt-subheader__title"><?= $this->title ?></h3>
            <div class="kt-subheader__breadcrumbs">
                <span class="kt-subheader__breadcrumbs-separator"></span>
                <span class="kt-subheader__breadcrumbs-link"> Dashboard</span>
                <span class="kt-subheader__breadcrumbs-separator"></span>
                <span class="kt-subheader__breadcrumbs-link"> <?= $this->title ?> </span>
            </div>
        </div>
    </div>
</div>
<div class="tasks-index">
    <div class="kt-container kt-grid__item kt-grid__item--fluid">
        <div class="kt-portlet kt-portlet--mobile">
            <div class="kt-portlet__head">

                <div class="tasks-search  mt-4" style="width:100%;">
                    <?php $form = ActiveForm::begin(['action' => ['calendar'], 'method' => 'get', 'options' => ['class' => 'form-inlinex form-searchx']]); ?>
                    <div class="row">
                        <div class="col-sm-6">
                            <?=
                            Html::dropDownList('project_id', $project_id, ArrayHelper::map(Projects::find()->where(['=', 'status', '1'])->orderBy(['name' => SORT_ASC])->all(), 'id', 'name'), [
                                'class' => 'form-control kt-selectpicker',
                                'prompt' => '-- Please choose project --',
                                'data-live-search' => 'true','id'=>'project_id']);
                            ?>
                        </div>
                        <div class="col-sm-4">
                            <?=
                            Html::dropDownList('assign_to', $assign_to, ArrayHelper::map(User::find()->where(['=', 'status', '1'])->orderBy(['name' => SORT_ASC])->all(), 'id', 'name'), [
                                'class' => 'form-control kt-selectpicker',
                                'prompt' => '-- Please choose staff --',
                                'data-live-search' => 'true','id'=>'assign_to']);
                            ?>
                        </div>
                        <div class="col-sm-2">
                            <div class="form-group">
                                <?= Html::submitButton('Search', ['class' => 'btn btn-success']) ?>
                                &nbsp;&nbsp;<?= Html::a('Show All', ['calendar'], ['class' => 'btn btn-outline-success']) ?>
                            </div>
                        </div>
                    </div>
                    <?php ActiveForm::end(); ?>
                </div>
            </div>
            <div class="kt-portlet__body">
                <div id="kt_calendar"></div>
            </div>
        </div>
    </div>
</div>

<?php
$this->registerJs("
var KTCalendarBasic = function() {
    return {
        //main function to initiate the module
        init: function() {
            var todayDate = moment().startOf('day');
            var YM = todayDate.format('YYYY-MM');
            var YESTERDAY = todayDate.clone().subtract(1, 'day').format('YYYY-MM-DD');
            var TODAY = todayDate.format('YYYY-MM-DD');
            var TOMORROW = todayDate.clone().add(1, 'day').format('YYYY-MM-DD');
            var calendarEl = document.getElementById('kt_calendar');
            var calendar = new FullCalendar.Calendar(calendarEl, {
                plugins: [ 'interaction', 'dayGrid', 'timeGrid', 'list' ],
                isRTL: KTUtil.isRTL(),
                header: {
                    left: 'prev,next today',
                    center: 'title',
                    right:'',
                    //right: 'dayGridMonth,timeGridWeek,timeGridDay'
                },
                height: 680,
                contentHeight: 700,
                aspectRatio: 3,
                nowIndicator: true,
                now: TODAY + 'T09:25:00', // just for demo
                views: {
                    dayGridMonth: { buttonText: 'month' },
                    timeGridWeek: { buttonText: 'week' },
                    timeGridDay: { buttonText: 'day' }
                },
                defaultView: 'dayGridMonth',
                defaultDate: TODAY,
                editable: false,
                eventLimit: false,
                navLinks: false,
                eventClick:function(info) {
                    var element = $(info.el);
                    //$('#modalTitle').html(info.event.title);
                    $('#modalBody').html(info.event.extendedProps.description);
                    $('#calendarModal').modal();
                },datesRender:function(info) {
                    var eventSources = calendar.getEventSources(); 
                    var len = eventSources.length;
                    for (var i = 0; i < len; i++) { 
                        eventSources[i].remove(); 
                    } 
                    //calendar.addEventSource({url: 'index.php?r=tasks/gettasklist&month='+info.view.currentStart.getMonth()+'&year='+info.view.currentStart.getFullYear()});
                    calendar.addEventSource({url: 'index.php?r=tasks/gettasklist&project_id='+document.getElementById('project_id').value+'&user_id='+document.getElementById('assign_to').value});
                }
            });
            calendar.render();
        }
    };
}();
jQuery(document).ready(function() {
    KTCalendarBasic.init();
});
");
?>

<div id="calendarModal" class="modal fade">
    <div class="modal-dialog modal-dialog-centered modal-lgxx">
        <div class="modal-content">
            <div class="modal-header">
                <h4 id="modalTitle" class="modal-title">Task Details</h4>
                <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span> <span class="sr-only">close</span></button>
            </div>
            <div id="modalBody" class="modal-body" style="color:black;"> content </div>
        </div>
    </div>
</div>