$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'); $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();
$destroy->url('navigation.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(); $productIDField = new \Kendo\Data\DataSourceSchemaModelField('ProductID'); $productIDField->type('number')->editable(false)->nullable(true); $productNameField = new \Kendo\Data\DataSourceSchemaModelField('ProductName'); $productNameField->type('string'); $unitPriceField = new \Kendo\Data\DataSourceSchemaModelField('UnitPrice'); $unitPriceField->type('number'); $unitsInStockField = new \Kendo\Data\DataSourceSchemaModelField('UnitsInStock'); $unitsInStockField->type('number'); $discontinuedField = new \Kendo\Data\DataSourceSchemaModelField('Discontinued'); $discontinuedField->type('boolean'); $model->id('ProductID')->addField($productIDField)->addField($productNameField)->addField($unitPriceField)->addField($discontinuedField)->addField($unitsInStockField); $schema = new \Kendo\Data\DataSourceSchema(); $schema->data('data')->errors('errors')->model($model)->total('total'); $dataSource = new \Kendo\Data\DataSource(); $dataSource->transport($transport)->batch(true)->schema($schema)->pageSize(4); $listview = new \Kendo\UI\ListView('listView'); $listview->dataSource($dataSource)->templateId('template')->editTemplateId('editTemplate')->selectable(true)->navigatable(true)->pageable(true); echo $listview->render(); ?> </div> <script> $(function() { $(".k-add-button").click(function(e) { var listView = $("#listView").data("kendoListView");
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; }
require_once '../lib/Kendo/Autoload.php'; require_once '../include/header.php'; $data = array(array('meetingID' => 1, 'title' => 'Call Charlie about the project', 'start' => new DateTime('2013/6/13 10:30'), 'end' => new DateTime('2013/6/13 11:30'), 'roomId' => 1, 'attendee' => 1), array('meetingID' => 2, 'title' => 'Performance review', 'start' => new DateTime('2013/6/13 9:00'), 'end' => new DateTime('2013/6/13 12:30'), 'roomId' => 2, 'attendee' => 2), array('meetingID' => 3, 'title' => 'HR Lecture', 'start' => new DateTime('2013/6/13 13:00'), 'end' => new DateTime('2013/6/13 14:30'), 'roomId' => 1, 'attendee' => 2)); $model = new \Kendo\Data\DataSourceSchemaModel(); $startField = new \Kendo\Data\DataSourceSchemaModelField('start'); $startField->type('date'); $endField = new \Kendo\Data\DataSourceSchemaModelField('end'); $endField->type('date'); $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) {
$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')->defaultValue([]); $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)->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(); require_once '../include/footer.php';
$destroy->url('foreignkeycolumn.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(); $productIDField = new \Kendo\Data\DataSourceSchemaModelField('ProductID'); $productIDField->type('number')->editable(false)->nullable(true); $productNameField = new \Kendo\Data\DataSourceSchemaModelField('ProductName'); $productNameField->type('string')->validation(array('required' => true)); $unitPriceValidation = new \Kendo\Data\DataSourceSchemaModelFieldValidation(); $unitPriceValidation->required(true)->min(1); $unitPriceField = new \Kendo\Data\DataSourceSchemaModelField('UnitPrice'); $unitPriceField->type('number')->validation($unitPriceValidation); $categoryIDField = new \Kendo\Data\DataSourceSchemaModelField('CategoryID'); $categoryIDField->type('number'); $model->id('ProductID')->addField($productIDField)->addField($productNameField)->addField($unitPriceField)->addField($categoryIDField); $schema = new \Kendo\Data\DataSourceSchema(); $schema->data('data')->errors('errors')->model($model)->total('total'); $dataSource = new \Kendo\Data\DataSource(); $dataSource->transport($transport)->batch(true)->pageSize(30)->schema($schema); $grid = new \Kendo\UI\Grid('grid'); $productName = new \Kendo\UI\GridColumn(); $productName->field('ProductName')->title('Product Name'); $unitPrice = new \Kendo\UI\GridColumn(); $unitPrice->field('UnitPrice')->format('{0:c}')->width(150)->title('Unit Price'); $categoryID = new \Kendo\UI\GridColumn(); $categoryID->field('CategoryID')->title('Category')->values($categories['data'])->width(180); $command = new \Kendo\UI\GridColumn(); $command->addCommandItem('destroy')->title(' ')->width(110); $grid->addColumn($productName, $categoryID, $unitPrice, $command)->dataSource($dataSource)->addToolbarItem(new \Kendo\UI\GridToolbarItem('create'), new \Kendo\UI\GridToolbarItem('save'), new \Kendo\UI\GridToolbarItem('cancel'))->height(400)->navigatable(true)->editable(true)->groupable(true)->pageable(true); echo $grid->render();
$destroy->url('/api/products/destroy.php')->contentType('application/json')->type('POST'); $transport = new \Kendo\Data\DataSourceTransport(); $transport->create($create)->read($read)->update($update)->destroy($destroy)->parameterMap('function(data) { return kendo.stringify(data); }'); // --------- Kendo UI DataSource Schema ------- $model = new \Kendo\Data\DataSourceSchemaModel(); $productNameField = new \Kendo\Data\DataSourceSchemaModelField('ProductName'); $productNameField->type('string'); $unitPriceField = new \Kendo\Data\DataSourceSchemaModelField('UnitPrice'); $unitPriceField->type('number'); $unitsInStockField = new \Kendo\Data\DataSourceSchemaModelField('UnitsInStock'); $unitsInStockField->type('number'); $supplierField = new \Kendo\Data\DataSourceSchemaModelField("Supplier"); $supplierField->defaultValue(new stdClass()); $categoryField = new \Kendo\Data\DataSourceSchemaModelField("Category"); $categoryField->defaultValue(new stdClass()); $model->id("ProductID")->addField($productNameField)->addField($unitPriceField)->addField($unitsInStockField)->addField($supplierField)->addField($categoryField); $schema = new \Kendo\Data\DataSourceSchema(); $schema->data('data')->model($model)->total('total'); // --------- Kendo UI DataSource ------- $dataSource = new \Kendo\Data\DataSource(); $dataSource->transport($transport)->pageSize(5)->schema($schema)->serverPaging(true); // --------- Kendo UI Grid ------- $grid = new \Kendo\UI\Grid('grid'); $productName = new \Kendo\UI\GridColumn(); $productName->field('ProductName')->title('Product Name'); $supplier = new \Kendo\UI\GridColumn(); $supplier->field('Supplier')->title("Supplier")->editor('supplierEditor')->template("#: Supplier.SupplierName #"); $category = new \Kendo\UI\GridColumn(); $category->field('Category')->title("Category")->editor('categoryEditor')->template("#: Category.CategoryName #"); $unitPrice = new \Kendo\UI\GridColumn(); $unitPrice->field('UnitPrice')->format('{0:c}')->title('Price');