Example #1
0
$descriptionField = new \Kendo\Data\DataSourceSchemaModelField('description');
$descriptionField->type('string')->from('Description');
$recurrenceIdField = new \Kendo\Data\DataSourceSchemaModelField('recurrenceId');
$recurrenceIdField->from('RecurrenceID');
$recurrenceRuleField = new \Kendo\Data\DataSourceSchemaModelField('recurrenceRule');
$recurrenceRuleField->from('RecurrenceRule');
$recurrenceExceptionField = new \Kendo\Data\DataSourceSchemaModelField('recurrenceException');
$recurrenceExceptionField->from('RecurrenceException');
$ownerIdField = new \Kendo\Data\DataSourceSchemaModelField('ownerId');
$ownerIdField->from('OwnerID')->defaultValue(1);
$model->id('taskID')->addField($taskIDField)->addField($titleField)->addField($startField)->addField($endField)->addField($startTimezoneField)->addField($endTimezoneField)->addField($descriptionField)->addField($recurrenceIdField)->addField($recurrenceRuleField)->addField($recurrenceExceptionField)->addField($ownerIdField)->addField($isAllDayField);
$schema = new \Kendo\Data\DataSourceSchema();
$schema->data('data')->errors('errors')->model($model);
$dataSource = new \Kendo\Data\DataSource();
$dataSource->transport($transport)->schema($schema)->batch(true);
$scheduler = new \Kendo\UI\Scheduler('scheduler');
$scheduler->timezone("Etc/UTC")->date(new DateTime('2013/6/13'))->startTime(new DateTime('2013/6/13 6:00'))->height(600)->addView('day', array('type' => 'week', 'selected' => true))->dataSource($dataSource);
?>
<div class="configuration-horizontal">
    <div class="config-section">
        <label><input type="checkbox" checked />Snap events to slot boundaries</label>
    </div>
</div>

<?php 
echo $scheduler->render();
?>

<script>
    $(function () {
        $(":checkbox").change(function (e) {
Example #2
0
<?php

require_once '../lib/Kendo/Autoload.php';
require_once '../include/header.php';
$data = array(array('title' => 'Fast and furious 6', 'image' => '../content/web/scheduler/fast-and-furious.jpg', 'imdb' => 'http://www.imdb.com/title/tt1905041/', 'start' => new DateTime('2013/6/13 17:00'), 'end' => new DateTime('2013/6/13 18:30')), array('title' => 'The Internship', 'image' => '../content/web/scheduler/the-internship.jpg', 'imdb' => 'http://www.imdb.com/title/tt2234155/', 'start' => new DateTime('2013/6/13 14:00'), 'end' => new DateTime('2013/6/13 15:30')), array('title' => 'The Perks of Being a Wallflower', 'image' => '../content/web/scheduler/wallflower.jpg', 'imdb' => 'http://www.imdb.com/title/tt1659337/', 'start' => new DateTime('2013/6/13 16:00'), 'end' => new DateTime('2013/6/13 17:30')), array('title' => 'The Help', 'image' => '../content/web/scheduler/the-help.jpg', 'imdb' => 'http://www.imdb.com/title/tt1454029/', 'start' => new DateTime('2013/6/13 12:00'), 'end' => new DateTime('2013/6/13 13:30')), array('title' => 'Now You See Me', 'image' => '../content/web/scheduler/now-you-see-me.jpg', 'imdb' => 'http://www.imdb.com/title/tt1670345/', 'start' => new DateTime('2013/6/13 10:00'), 'end' => new DateTime('2013/6/13 11:30')), array('title' => 'Fast and furious 6', 'image' => '../content/web/scheduler/fast-and-furious.jpg', 'imdb' => 'http://www.imdb.com/title/tt1905041/', 'start' => new DateTime('2013/6/13 19:00'), 'end' => new DateTime('2013/6/13 20:30')), array('title' => 'The Internship', 'image' => '../content/web/scheduler/the-internship.jpg', 'imdb' => 'http://www.imdb.com/title/tt2234155/', 'start' => new DateTime('2013/6/13 17:30'), 'end' => new DateTime('2013/6/13 19:00')), array('title' => 'The Perks of Being a Wallflower', 'image' => '../content/web/scheduler/wallflower.jpg', 'imdb' => 'http://www.imdb.com/title/tt1659337/', 'start' => new DateTime('2013/6/13 17:30'), 'end' => new DateTime('2013/6/13 19:00')), array('title' => 'The Help', 'image' => '../content/web/scheduler/the-help.jpg', 'imdb' => 'http://www.imdb.com/title/tt1454029/', 'start' => new DateTime('2013/6/13 13:30'), 'end' => new DateTime('2013/6/13 15:00')), array('title' => 'Now You See Me', 'image' => '../content/web/scheduler/now-you-see-me.jpg', 'imdb' => 'http://www.imdb.com/title/tt1670345/', 'start' => new DateTime('2013/6/13 12:30'), 'end' => new DateTime('2013/6/13 14:00')));
$dataSource = new \Kendo\Data\DataSource();
$dataSource->data($data);
$scheduler = new \Kendo\UI\Scheduler('scheduler');
$scheduler->date(new DateTime('2013/6/13'))->height(600)->addView(array('type' => 'day', 'startTime' => new DateTime('2013/6/13 10:00'), 'endTime' => new DateTime('2013/6/13 23:00')), array('type' => 'agenda', 'startTime' => new DateTime('2013/6/13 10:00'), 'endTime' => new DateTime('2013/6/13 23:00')))->editable(false)->eventTemplateId('event-template')->dataSource($dataSource);
echo $scheduler->render();
?>

<script id="event-template" type="text/x-kendo-template">
    <div class='movie-template'>
        <img src="#= image #">
        <p>
            #: kendo.toString(start, "hh:mm") # - #: kendo.toString(end, "hh:mm") #
        </p>
        <h3>#: title #</h3>
        <a href="#= imdb #">Movie in IMDB</a>
    </div>
</script>

<style scoped>
    .movie-template img {
        float: left;
        margin: 0 8px;
    }
    .movie-template p {
        margin: 5px 0 0;
    }
function create_makerfaire_scheduler($faire_id)
{
    $transport = new \Kendo\Data\DataSourceTransport();
    $create = new \Kendo\Data\DataSourceTransportCreate();
    $create->url('makerfaire-scheduling-tasks.php?type=create')->contentType('application/json')->type('POST')->dataType('json');
    $read = new \Kendo\Data\DataSourceTransportRead();
    $read->url('makerfaire-scheduling-tasks.php?type=read')->contentType('application/json')->type('GET')->dataType('json');
    $update = new \Kendo\Data\DataSourceTransportUpdate();
    $update->url('makerfaire-scheduling-tasks.php?type=update')->contentType('application/json')->type('POST')->dataType('json');
    $destroy = new \Kendo\Data\DataSourceTransportDestroy();
    $destroy->url('makerfaire-scheduling-tasks.php?type=destroy')->contentType('application/json')->type('POST')->dataType('json');
    $transport->create($create)->read($read)->update($update)->destroy($destroy)->parameterMap('function(data) {
              return kendo.stringify(data);
          }');
    $model = new \Kendo\Data\DataSourceSchemaModel();
    $locationIdField = new \Kendo\Data\DataSourceSchemaModelField('locationID');
    $locationIdField->type('number')->from('locationID')->nullable(true);
    $titleField = new \Kendo\Data\DataSourceSchemaModelField('title');
    $titleField->from('Title')->defaultValue('No title')->validation(array('required' => false));
    $startField = new \Kendo\Data\DataSourceSchemaModelField('start');
    $startField->type('date')->from('Start');
    $endField = new \Kendo\Data\DataSourceSchemaModelField('end');
    $endField->type('date')->from('End');
    $isAllDayField = new \Kendo\Data\DataSourceSchemaModelField('isAllDay');
    $isAllDayField->type('boolean')->from('IsAllDay');
    $subareaIdField = new \Kendo\Data\DataSourceSchemaModelField('subareaId');
    $subareaIdField->from('SubareaID')->nullable(true);
    $entriesField = new \Kendo\Data\DataSourceSchemaModelField('entries');
    $entriesField->from('Entries')->nullable(true);
    $model->id('locationID')->addField($locationIdField)->addField($titleField)->addField($startField)->addField($endField)->addField($isAllDayField)->addField($subareaIdField)->addField($entriesField);
    $schema = new \Kendo\Data\DataSourceSchema();
    $schema->model($model);
    $dataSource = new \Kendo\Data\DataSource();
    $dataSource->transport($transport)->schema($schema)->batch(false);
    $subareasResource = new \Kendo\UI\SchedulerResource();
    $locations_array = get_entry_locations($faire_id);
    $subareasResource->field('subareaId')->title('Stage')->name('Stages')->dataSource($locations_array);
    $entries = get_entries($faire_id);
    $entriesResource = new \Kendo\UI\SchedulerResource();
    $entriesResource->field('entries')->title('Presenter')->multiple(true)->name('Presenters')->dataSource($entries);
    $pdf = new \Kendo\UI\SchedulerPdf();
    $pdf->fileName('Kendo UI Scheduler Export.pdf')->proxyURL('makerfaire-scheduling.php?type=save');
    $scheduler = new \Kendo\UI\Scheduler('scheduler');
    $scheduler->eventTemplateId('presentation-template')->timezone('UTC')->currentTimeMarker(false)->date(new DateTime('2015/9/26 00:00', new DateTimeZone('UTC')))->height(900)->pdf($pdf)->addToolbarItem(new \Kendo\UI\SchedulerToolbarItem('pdf'))->addResource($subareasResource, $entriesResource)->group(array('resources' => array('Stages')))->addView(array('type' => 'day', 'majorTick' => 30, 'showWorkHours' => true, 'workWeekEnd' => 7, 'workDayStart' => new DateTime('2015/1/1 15:00', new DateTimeZone('UTC')), 'workDayEnd' => new DateTime('2015/1/1 24:00', new DateTimeZone('UTC'))), array('type' => 'workWeek', 'majorTick' => 30, 'selected' => true, 'workWeekStart' => 5, 'workWeekEnd' => 7, 'showWorkHours' => true, 'workDayStart' => new DateTime('2015/1/1 15:00', new DateTimeZone('UTC')), 'workDayEnd' => new DateTime('2015/1/1 24:00', new DateTimeZone('UTC'))), 'agenda')->dataSource($dataSource);
    return $scheduler;
}
Example #4
0
$startTimezoneField = new \Kendo\Data\DataSourceSchemaModelField('startTimezone');
$startTimezoneField->from('StartTimezone');
$endField = new \Kendo\Data\DataSourceSchemaModelField('end');
$endField->type('date')->from('End');
$endTimezoneField = new \Kendo\Data\DataSourceSchemaModelField('endTimezone');
$endTimezoneField->from('EndTimezone');
$isAllDayField = new \Kendo\Data\DataSourceSchemaModelField('isAllDay');
$isAllDayField->type('boolean')->from('IsAllDay');
$descriptionField = new \Kendo\Data\DataSourceSchemaModelField('description');
$descriptionField->type('string')->from('Description');
$recurrenceIdField = new \Kendo\Data\DataSourceSchemaModelField('recurrenceId');
$recurrenceIdField->from('RecurrenceID');
$recurrenceRuleField = new \Kendo\Data\DataSourceSchemaModelField('recurrenceRule');
$recurrenceRuleField->from('RecurrenceRule');
$recurrenceExceptionField = new \Kendo\Data\DataSourceSchemaModelField('recurrenceException');
$recurrenceExceptionField->from('RecurrenceException');
$model->id('taskID')->addField($taskIDField)->addField($titleField)->addField($startField)->addField($endField)->addField($startTimezoneField)->addField($endTimezoneField)->addField($descriptionField)->addField($recurrenceIdField)->addField($recurrenceRuleField)->addField($recurrenceExceptionField)->addField($isAllDayField);
$schema = new \Kendo\Data\DataSourceSchema();
$schema->data('data')->errors('errors')->model($model);
$dataSource = new \Kendo\Data\DataSource();
$dataSource->transport($transport)->schema($schema)->batch(true);
$scheduler = new \Kendo\UI\Scheduler('scheduler');
$scheduler->timezone("Etc/UTC")->date(new DateTime('2013/6/13', new DateTimeZone('UTC')))->height(400)->addView(array('type' => 'day', 'startTime' => new DateTime('2013/6/13 7:00', new DateTimeZone('UTC'))), array('type' => 'week', 'selected' => true, 'startTime' => new DateTime('2013/6/13 7:00', new DateTimeZone('UTC'))), 'month', 'agenda')->dataSource($dataSource);
?>
<div class="k-rtl">
<?php 
echo $scheduler->render();
?>
</div>
<?php 
require_once '../include/footer.php';
Example #5
0
$titleField = new \Kendo\Data\DataSourceSchemaModelField('title');
$titleField->defaultValue('No title')->validation(array('required' => true));
$roomIdField = new \Kendo\Data\DataSourceSchemaModelField('roomId');
$roomIdField->nullable(true);
$attendeeField = new \Kendo\Data\DataSourceSchemaModelField('attendee');
$attendeeField->defaultValue(1);
$model->id('meetingID')->addField($roomIdField)->addField($startField)->addField($endField)->addField($attendeeField)->addField($titleField);
$schema = new \Kendo\Data\DataSourceSchema();
$schema->model($model);
$dataSource = new \Kendo\Data\DataSource();
$dataSource->data($data)->schema($schema);
$roomResource = new \Kendo\UI\SchedulerResource();
$roomResource->field('roomId')->title('Room')->name('Rooms')->dataSource(array(array('text' => 'Meeting Room 101', 'value' => 1, 'color' => '#6eb3fa'), array('text' => 'Meeting Room 201', 'value' => 2, 'color' => '#f58a8a')));
$attendeesResource = new \Kendo\UI\SchedulerResource();
$attendeesResource->field('attendee')->title('Attendee')->name('Attendee')->dataSource(array(array('text' => 'Alex', 'value' => 1, 'color' => '#f8a398'), array('text' => 'Bob', 'value' => 2, 'color' => '#51a0ed')));
$scheduler = new \Kendo\UI\Scheduler('scheduler');
$scheduler->date(new DateTime('2013/6/13'))->height(600)->addResource($attendeesResource, $roomResource)->group(array('resources' => array('Rooms')))->addView(array('type' => 'day', 'startTime' => new DateTime('2013/6/13 7:00')))->resize('scheduler_resize')->resizeEnd('scheduler_resizeEnd')->move('scheduler_move')->moveEnd('scheduler_moveEnd')->addEvent('scheduler_add')->save('scheduler_save')->dataSource($dataSource);
echo $scheduler->render();
?>

<script>
    function scheduler_resize(e) {
        if (roomIsOccupied(e.start, e.end, e.event, e.resources) || attendeeIsOccupied(e.start, e.end, e.event, e.resources)) {
            this.wrapper.find(".k-marquee-color").addClass("invalid-slot");
            e.preventDefault();
        }
    }

    function scheduler_resizeEnd(e) {
        if (!checkAvailability(e.start, e.end, e.events)) {
            e.preventDefault();
Example #6
0
$isAllDayField = new \Kendo\Data\DataSourceSchemaModelField('isAllDay');
$isAllDayField->type('boolean')->from('IsAllDay');
$descriptionField = new \Kendo\Data\DataSourceSchemaModelField('description');
$descriptionField->type('string')->from('Description');
$recurrenceIdField = new \Kendo\Data\DataSourceSchemaModelField('recurrenceId');
$recurrenceIdField->from('RecurrenceID');
$recurrenceRuleField = new \Kendo\Data\DataSourceSchemaModelField('recurrenceRule');
$recurrenceRuleField->from('RecurrenceRule');
$recurrenceExceptionField = new \Kendo\Data\DataSourceSchemaModelField('recurrenceException');
$recurrenceExceptionField->from('RecurrenceException');
$model->id('taskID')->addField($taskIDField)->addField($titleField)->addField($startField)->addField($endField)->addField($startTimezoneField)->addField($endTimezoneField)->addField($descriptionField)->addField($recurrenceIdField)->addField($recurrenceRuleField)->addField($recurrenceExceptionField)->addField($isAllDayField);
$schema = new \Kendo\Data\DataSourceSchema();
$schema->data('data')->errors('errors')->model($model);
$dataSource = new \Kendo\Data\DataSource();
$dataSource->transport($transport)->schema($schema)->batch(true);
$scheduler = new \Kendo\UI\Scheduler('scheduler');
$scheduler->timezone("Etc/UTC")->selectable(true)->date(new DateTime('2013/6/13', new DateTimeZone('UTC')))->height(600)->addView(array('type' => 'day', 'startTime' => new DateTime('2013/6/13 7:00', new DateTimeZone('UTC'))), array('type' => 'week', 'selected' => true, 'startTime' => new DateTime('2013/6/13 7:00', new DateTimeZone('UTC'))), 'month', 'agenda')->dataSource($dataSource)->dataBinding('scheduler_dataBinding')->dataBound('scheduler_dataBound')->change('scheduler_change')->save('scheduler_save')->remove('scheduler_remove')->cancel('scheduler_cancel')->addEvent('scheduler_add')->edit('scheduler_edit')->resizeStart('scheduler_resizeStart')->resize('scheduler_resize')->resizeEnd('scheduler_resizeEnd')->moveStart('scheduler_moveStart')->move('scheduler_move')->navigate('scheduler_navigate')->moveEnd('scheduler_moveEnd');
echo $scheduler->render();
?>
<div class="console"></div>

<script>
    function scheduler_dataBinding(e) {
        kendoConsole.log("dataBinding");
    }

    function scheduler_dataBound(e) {
        kendoConsole.log("dataBound");
    }

    function scheduler_change(e) {
Example #7
0
$recurrenceExceptionField = new \Kendo\Data\DataSourceSchemaModelField('recurrenceException');
$recurrenceExceptionField->from('RecurrenceException');
$roomIdField = new \Kendo\Data\DataSourceSchemaModelField('roomId');
$roomIdField->from('RoomID')->nullable(true);
$attendeesField = new \Kendo\Data\DataSourceSchemaModelField('attendees');
$attendeesField->from('Attendees')->nullable(true);
$model->id('meetingID')->addField($meetingIdField)->addField($titleField)->addField($startField)->addField($endField)->addField($startTimezoneField)->addField($endTimezoneField)->addField($descriptionField)->addField($recurrenceIdField)->addField($recurrenceRuleField)->addField($recurrenceExceptionField)->addField($roomIdField)->addField($attendeesField)->addField($isAllDayField);
$schema = new \Kendo\Data\DataSourceSchema();
$schema->data('data')->errors('errors')->model($model);
$dataSource = new \Kendo\Data\DataSource();
$dataSource->transport($transport)->schema($schema)->batch(true);
$roomResource = new \Kendo\UI\SchedulerResource();
$roomResource->field('roomId')->title('Room')->dataSource(array(array('text' => 'Meeting Room 101', 'value' => 1, 'color' => '#6eb3fa'), array('text' => 'Meeting Room 201', 'value' => 2, 'color' => '#f58a8a')));
$attendeesResource = new \Kendo\UI\SchedulerResource();
$attendeesResource->field('attendees')->title('Attendees')->multiple(true)->dataSource(array(array('text' => 'Alex', 'value' => 1, 'color' => '#f8a398'), array('text' => 'Bob', 'value' => 2, 'color' => '#51a0ed'), array('text' => 'Charlie', 'value' => 3, 'color' => '#56ca85')));
$scheduler = new \Kendo\UI\Scheduler('scheduler');
$scheduler->timezone("Etc/UTC")->date(new DateTime('2013/6/13'))->height(600)->selectable(true)->addResource($roomResource, $attendeesResource)->addView(array('type' => 'day', 'startTime' => new DateTime('2013/6/13 7:00')), array('type' => 'week', 'selected' => true, 'startTime' => new DateTime('2013/6/13 7:00')), 'month', 'agenda')->dataSource($dataSource);
echo $scheduler->render();
?>
    <script type="text/javascript">
	    $(document.body).keydown(function (e) {
	        if (e.altKey && e.keyCode == 87) {
	            $("#scheduler").data("kendoScheduler").wrapper.focus();
	        }
	    });
	</script>
	
	<ul class="keyboard-legend" style="padding-top: 25px">
	    <li>
	        <span class="button-preview">
	            <span class="key-button leftAlign">Alt</span>
$endField = new \Kendo\Data\DataSourceSchemaModelField('end');
$endField->type('date')->from('End');
$endTimezoneField = new \Kendo\Data\DataSourceSchemaModelField('endTimezone');
$endTimezoneField->from('EndTimezone');
$isAllDayField = new \Kendo\Data\DataSourceSchemaModelField('isAllDay');
$isAllDayField->type('boolean')->from('IsAllDay');
$descriptionField = new \Kendo\Data\DataSourceSchemaModelField('description');
$descriptionField->type('string')->from('Description');
$recurrenceIdField = new \Kendo\Data\DataSourceSchemaModelField('recurrenceId');
$recurrenceIdField->from('RecurrenceID');
$recurrenceRuleField = new \Kendo\Data\DataSourceSchemaModelField('recurrenceRule');
$recurrenceRuleField->from('RecurrenceRule');
$recurrenceExceptionField = new \Kendo\Data\DataSourceSchemaModelField('recurrenceException');
$recurrenceExceptionField->from('RecurrenceException');
$roomIdField = new \Kendo\Data\DataSourceSchemaModelField('roomId');
$roomIdField->from('RoomID')->nullable(true);
$attendeesField = new \Kendo\Data\DataSourceSchemaModelField('attendees');
$attendeesField->from('Attendees')->nullable(true);
$model->id('meetingID')->addField($meetingIdField)->addField($titleField)->addField($startField)->addField($endField)->addField($startTimezoneField)->addField($endTimezoneField)->addField($descriptionField)->addField($recurrenceIdField)->addField($recurrenceRuleField)->addField($recurrenceExceptionField)->addField($roomIdField)->addField($attendeesField)->addField($isAllDayField);
$schema = new \Kendo\Data\DataSourceSchema();
$schema->data('data')->errors('errors')->model($model);
$dataSource = new \Kendo\Data\DataSource();
$dataSource->transport($transport)->schema($schema)->batch(true);
$roomResource = new \Kendo\UI\SchedulerResource();
$roomResource->field('roomId')->title('Room')->name('Rooms')->dataSource(array(array('text' => 'Meeting Room 101', 'value' => 1, 'color' => '#6eb3fa'), array('text' => 'Meeting Room 201', 'value' => 2, 'color' => '#f58a8a')));
$attendeesResource = new \Kendo\UI\SchedulerResource();
$attendeesResource->field('attendees')->title('Attendees')->multiple(true)->name('Attendees')->dataSource(array(array('text' => 'Alex', 'value' => 1, 'color' => '#f8a398'), array('text' => 'Bob', 'value' => 2, 'color' => '#51a0ed'), array('text' => 'Charlie', 'value' => 3, 'color' => '#56ca85')));
$scheduler = new \Kendo\UI\Scheduler('scheduler');
$scheduler->timezone("Etc/UTC")->date(new DateTime('2013/6/13'))->height(600)->addResource($roomResource, $attendeesResource)->group(array('resources' => array('Rooms', 'Attendees'), 'orientation' => 'vertical'))->addView(array('type' => 'day', 'startTime' => new DateTime('2013/6/13 7:00')), array('type' => 'week', 'selected' => true, 'startTime' => new DateTime('2013/6/13 7:00')), 'month', 'agenda')->dataSource($dataSource);
echo $scheduler->render();
require_once '../include/footer.php';