I seem to be having trouble displaying events in the calendar. I know that I am able to get the JSON results without an issue as I created a test page which simply echo's the JSON results. I must be missing something in the code I modified and likely it is very, very simple. On a side note, the scheduler page is loaded up within a tab strip item, but I don't think that makes a difference as I don't see the results when I connect to the page directly.
Help is much appreciated...
Help is much appreciated...
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Appointment Schedular</title> <link href="css/Autovation.css" rel="stylesheet" /> <link href="css/kendo.common.min.css" rel="stylesheet" /> <link href="css/kendo.default.min.css" rel="stylesheet" /> <script src="js/jquery.min.js"></script> <script src="js/kendo.all.min.js"></script></head><script id="editor" type="text/x-kendo-template"> <h3>Edit meeting</h3> <p> <label>Title: <input name="title" /></label> </p> <p> <label>Start: <input data-role="datetimepicker" name="start" /></label> </p> <p> <label>Start: <input data-role="datetimepicker" name="end" /></label> </p></script><?phprequire_once 'dbModules/DataSourceResult.php';require_once 'dbModules/SchedulerDataSourceResult.php';require_once 'Kendo/Autoload.php';if ($_SERVER['REQUEST_METHOD'] == 'POST') { header('Content-Type: application/json'); $request = json_decode(file_get_contents('php://input')); $result = new SchedulerDataSourceResult('mysql:host=localhost;dbname=appdata', 'root', '...'); $type = $_GET['type']; $columns = array('ID', 'EstimateID', 'CustomerID', 'Subject', 'Location', 'Description', 'StartTime', 'EndTime', 'VehicleType','IsAllDay', 'Synchronized'); switch($type) { case 'create': $result = $result->create('Appointments', $columns, $request->models, 'ID'); break; case 'update': $result = $result->update('Appointments', $columns, $request->models, 'ID'); break; case 'destroy': $result = $result->destroy('Appointments', $request->models, 'ID'); break; default: $result = $result->read('Appointments', array('ID'), $request); break; } echo json_encode($result, JSON_NUMERIC_CHECK); exit;}$transport = new \Kendo\Data\DataSourceTransport();$create = new \Kendo\Data\DataSourceTransportCreate();$create->url('scheduler.php?type=create') ->contentType('application/json') ->type('POST');$read = new \Kendo\Data\DataSourceTransportRead();$read->url('scheduler.php?type=read') ->contentType('application/json') ->type('POST');$update = new \Kendo\Data\DataSourceTransportUpdate();$update->url('scheduler.php?type=update') ->contentType('application/json') ->type('POST');$destroy = new \Kendo\Data\DataSourceTransportDestroy();$destroy->url('scheduler.php?type=destroy') ->contentType('application/json') ->type('POST');$transport->create($create) ->read($read) ->update($update) ->destroy($destroy) ->parameterMap('function(data) { return kendo.stringify(data); }');$model = new \Kendo\Data\DataSourceSchemaModel();$IDField = new \Kendo\Data\DataSourceSchemaModelField('ID');$IDField->type('number') ->from('ID') ->nullable(false);$estimateID = new \Kendo\Data\DataSourceSchemaModelField('EstimateID');$estimateID->type('number') ->from('EstimateID') ->defaultValue('No title') ->validation(array('required' => true));$customerID = new \Kendo\Data\DataSourceSchemaModelField('CustomerID');$customerID->type('number') ->from('CustomerID') ->defaultValue('No title') ->validation(array('required' => true));$subjectField = new \Kendo\Data\DataSourceSchemaModelField('Subject');$subjectField->type('string') ->from('Subject');$locationField = new \Kendo\Data\DataSourceSchemaModelField('Location');$locationField->type('string') ->from('Location'); $descriptionField = new \Kendo\Data\DataSourceSchemaModelField('Description');$descriptionField->type('string') ->from('Description');$startField = new \Kendo\Data\DataSourceSchemaModelField('StartTime');$startField->type('datetime') ->from('StartTime');$endField = new \Kendo\Data\DataSourceSchemaModelField('EndTime');$endField->type('datetime') ->from('EndTime');$vehicleTypeField = new \Kendo\Data\DataSourceSchemaModelField('VehicleType');$vehicleTypeField->type('string') ->from('VehicleType');$isAllDayField = new \Kendo\Data\DataSourceSchemaModelField('IsAllDay');$isAllDayField->type('boolean') ->from('IsAllDay');$SynchronizedField = new \Kendo\Data\DataSourceSchemaModelField('Synchronized');$SynchronizedField->type('boolean') ->from('Synchronized');$model->id('ID');$model->addField($IDField);$model->addField($estimateID);$model->addField($customerID);$model->addField($subjectField);$model->addField($locationField);$model->addField($descriptionField);$model->addField($startField);$model->addField($endField);$model->addField($vehicleTypeField);$model->addField($isAllDayField);$model->addField($SynchronizedField);$schema = new \Kendo\Data\DataSourceSchema();$schema->data('data') ->errors('errors') ->model($model);$dataSource = new \Kendo\Data\DataSource();$dataSource->transport($transport) ->schema($schema) ->batch(true);//$editable = new \Kendo\UI\SchedulerEditable();//$confirmation = true;//$editable->confirmation($confirmation);//$editable->template('$editor')//;$scheduler = new \Kendo\UI\Scheduler('scheduler');$scheduler->timezone('America/Toronto') ->date(new DateTime()) ->height('850') ->addView(array('type' => 'day', 'startTime' => new DateTime('7:00',new DateTimeZone('America/Toronto'))), array('type' => 'week', 'selected' => true, 'startTime' => new DateTime('7:00',new DateTimeZone('America/Toronto'))), 'month', 'agenda') ->dataSource($dataSource);?><?phpecho $scheduler->render();?>