<?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; }
$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(); }