@progress/kendo-angular-schematics 13.5.0-develop.3 → 13.5.0-develop.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/collection.json +9 -27
- package/e2e/utils.d.ts +17 -0
- package/e2e/utils.js +71 -0
- package/e2e/utils.js.map +1 -0
- package/package.json +5 -2
- package/src/chart/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.__style__.template +6 -0
- package/src/chart/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.html.template +1 -0
- package/src/chart/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.spec.ts.template +21 -0
- package/src/chart/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.ts.template +34 -0
- package/src/chart/files/chart.html.include +103 -0
- package/src/{charts/circular → chart}/index.d.ts +2 -2
- package/src/chart/index.js +238 -0
- package/src/chart/index.js.map +1 -0
- package/src/chart/schema.d.ts +230 -0
- package/src/chart/schema.js +72 -0
- package/src/chart/schema.js.map +1 -0
- package/src/chart/schema.json +235 -0
- package/src/grid/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.__style__.template +6 -0
- package/src/grid/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.html.template +1 -0
- package/src/grid/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.spec.ts.template +21 -0
- package/src/grid/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.ts.template +37 -0
- package/src/grid/files/__name@dasherize@if-flat__/__name@dasherize__.sample-data.ts.template +1233 -0
- package/src/grid/files/{html/__name@dasherize__/__name@dasherize__.component.html → grid.html.include} +4 -9
- package/src/grid/index.d.ts +2 -2
- package/src/grid/index.js +77 -61
- package/src/grid/index.js.map +1 -1
- package/src/grid/schema.d.ts +12 -11
- package/src/grid/schema.js +16 -5
- package/src/grid/schema.js.map +1 -1
- package/src/grid/schema.json +82 -37
- package/src/ngAdd/index.js +2 -1
- package/src/ngAdd/index.js.map +1 -1
- package/src/rules/index.js +2 -1
- package/src/rules/index.js.map +1 -1
- package/src/scheduler/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.__style__.template +6 -0
- package/src/scheduler/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.html.template +1 -0
- package/src/scheduler/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.spec.ts.template +21 -0
- package/src/scheduler/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.ts.template +26 -0
- package/src/scheduler/files/{events-utc.ts → __name@dasherize@if-flat__/__name@dasherize__.sample-data.ts.template} +0 -6
- package/src/scheduler/files/scheduler.html.include +7 -0
- package/src/scheduler/index.d.ts +2 -2
- package/src/scheduler/index.js +54 -32
- package/src/scheduler/index.js.map +1 -1
- package/src/scheduler/schema.d.ts +10 -2
- package/src/scheduler/schema.json +78 -2
- package/src/third_party/d3fc/d3fc-rebind/rebindAll.js +32 -0
- package/src/third_party/d3fc/day.js +61 -0
- package/src/third_party/d3fc/duration.js +34 -0
- package/src/third_party/d3fc/filter/skipWeekends.js +32 -0
- package/src/third_party/d3fc/financial.js +184 -0
- package/src/third_party/d3fc/fn.js +31 -0
- package/src/third_party/d3fc/geometricBrownianMotion.js +94 -0
- package/src/third_party/d3fc/interval.js +89 -0
- package/src/third_party/d3fc/randomNormal.js +49 -0
- package/src/third_party/d3fc/year.js +71 -0
- package/src/third_party/index.d.ts +28 -0
- package/src/third_party/index.js +40 -0
- package/src/third_party/index.js.map +1 -0
- package/src/third_party/index.v13.d.ts +13 -0
- package/src/third_party/index.v13.js +67 -0
- package/src/third_party/index.v13.js.map +1 -0
- package/src/utils/ast-utils.js +2 -1
- package/src/utils/ast-utils.js.map +1 -1
- package/src/utils/bootstrap-module.js +2 -1
- package/src/utils/bootstrap-module.js.map +1 -1
- package/src/{charts/scatter/schema.js → utils/parse-complex-options.d.ts} +1 -3
- package/src/utils/parse-complex-options.js +32 -0
- package/src/utils/parse-complex-options.js.map +1 -0
- package/src/charts/categorical/files/data.d.ts +0 -5
- package/src/charts/categorical/files/data.js +0 -29
- package/src/charts/categorical/files/data.js.map +0 -1
- package/src/charts/categorical/files/data.ts +0 -25
- package/src/charts/categorical/files/html/__name@dasherize__/__name@dasherize__.component.html +0 -46
- package/src/charts/categorical/files/html/__name@dasherize__/__name@dasherize__.component.ts +0 -25
- package/src/charts/categorical/files/inline/__name@dasherize__/__name@dasherize__.component.ts +0 -69
- package/src/charts/categorical/index.d.ts +0 -7
- package/src/charts/categorical/index.js +0 -124
- package/src/charts/categorical/index.js.map +0 -1
- package/src/charts/categorical/schema.d.ts +0 -92
- package/src/charts/categorical/schema.js +0 -54
- package/src/charts/categorical/schema.js.map +0 -1
- package/src/charts/categorical/schema.json +0 -253
- package/src/charts/circular/files/data.d.ts +0 -5
- package/src/charts/circular/files/data.js +0 -15
- package/src/charts/circular/files/data.js.map +0 -1
- package/src/charts/circular/files/data.ts +0 -11
- package/src/charts/circular/files/html/__name@dasherize__/__name@dasherize__.component.html +0 -27
- package/src/charts/circular/files/html/__name@dasherize__/__name@dasherize__.component.ts +0 -23
- package/src/charts/circular/files/inline/__name@dasherize__/__name@dasherize__.component.ts +0 -52
- package/src/charts/circular/index.js +0 -50
- package/src/charts/circular/index.js.map +0 -1
- package/src/charts/circular/schema.d.ts +0 -31
- package/src/charts/circular/schema.js +0 -7
- package/src/charts/circular/schema.js.map +0 -1
- package/src/charts/circular/schema.json +0 -175
- package/src/charts/scatter/files/data.d.ts +0 -5
- package/src/charts/scatter/files/data.js +0 -25
- package/src/charts/scatter/files/data.js.map +0 -1
- package/src/charts/scatter/files/data.ts +0 -21
- package/src/charts/scatter/files/html/__name@dasherize__/__name@dasherize__.component.html +0 -35
- package/src/charts/scatter/files/html/__name@dasherize__/__name@dasherize__.component.ts +0 -21
- package/src/charts/scatter/files/inline/__name@dasherize__/__name@dasherize__.component.ts +0 -58
- package/src/charts/scatter/index.d.ts +0 -7
- package/src/charts/scatter/index.js +0 -50
- package/src/charts/scatter/index.js.map +0 -1
- package/src/charts/scatter/schema.d.ts +0 -32
- package/src/charts/scatter/schema.js.map +0 -1
- package/src/charts/scatter/schema.json +0 -209
- package/src/charts/stock/files/data.d.ts +0 -5
- package/src/charts/stock/files/data.js +0 -418
- package/src/charts/stock/files/data.js.map +0 -1
- package/src/charts/stock/files/data.ts +0 -414
- package/src/charts/stock/files/html/__name@dasherize__/__name@dasherize__.component.html +0 -57
- package/src/charts/stock/files/html/__name@dasherize__/__name@dasherize__.component.ts +0 -23
- package/src/charts/stock/files/inline/__name@dasherize__/__name@dasherize__.component.ts +0 -83
- package/src/charts/stock/index.d.ts +0 -7
- package/src/charts/stock/index.js +0 -50
- package/src/charts/stock/index.js.map +0 -1
- package/src/charts/stock/schema.d.ts +0 -36
- package/src/charts/stock/schema.js +0 -7
- package/src/charts/stock/schema.js.map +0 -1
- package/src/charts/stock/schema.json +0 -285
- package/src/grid/files/data.d.ts +0 -5
- package/src/grid/files/data.js +0 -1241
- package/src/grid/files/data.js.map +0 -1
- package/src/grid/files/data.ts +0 -1237
- package/src/grid/files/html/__name@dasherize__/__name@dasherize__.component.ts +0 -29
- package/src/grid/files/inline/__name@dasherize__/__name@dasherize__.component.ts +0 -79
- package/src/scheduler/files/events-utc.d.ts +0 -5
- package/src/scheduler/files/events-utc.js +0 -846
- package/src/scheduler/files/events-utc.js.map +0 -1
- package/src/scheduler/files/html/__name@dasherize__/__name@dasherize__.component.html +0 -29
- package/src/scheduler/files/html/__name@dasherize__/__name@dasherize__.component.ts +0 -17
- package/src/scheduler/files/inline/__name@dasherize__/__name@dasherize__.component.ts +0 -48
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2023 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
import { Component } from '@angular/core';<% if (dataPath) {%>
|
|
6
|
-
import { <%= dataName %> } from '<%= dataPath %>'; <% } %><% if (dataSource === "Example") {%>
|
|
7
|
-
import { products } from './data'; <% } %><% if (dataSource === "Mock Data") {%>
|
|
8
|
-
import data from './data';<% } %><% if (editing) {%>
|
|
9
|
-
import { FormBuilder, FormGroup } from '@angular/forms';
|
|
10
|
-
import { CreateFormGroupArgs } from '@progress/kendo-angular-grid';<% } %>
|
|
11
|
-
|
|
12
|
-
@Component({
|
|
13
|
-
selector: '<%= dasherize(name) %>-component',
|
|
14
|
-
templateUrl: './<%= dasherize(name) %>.component.html',
|
|
15
|
-
<% if (inlineStyle) {%> styleUrls: ['./<%= dasherize(name) %>.component.css']<% } else {%>styles: [``]<% } %>
|
|
16
|
-
})
|
|
17
|
-
export class <%= classify(name) %>Component {
|
|
18
|
-
public gridData: any[] = <% if (dataSource === "Example") { %>products<% } else if (dataSource === "Mock Data") { %>data<% } else if (dataName) { %><%=dataName%><% } else { %>products<%} %>;<% if (paging) { %>
|
|
19
|
-
public pageSize: number = <%=pageSize%>;<% } %><% if (editing) {%>
|
|
20
|
-
|
|
21
|
-
constructor(private formBuilder: FormBuilder) { }
|
|
22
|
-
|
|
23
|
-
public createFormGroup = (args: CreateFormGroupArgs): FormGroup => {
|
|
24
|
-
// TODO: Implement default item factory.
|
|
25
|
-
const item = args.isNew ? Object.keys(this.gridData[0]).reduce((acc, curr) => (acc as any)[curr] = null || acc, {}) : args.dataItem;
|
|
26
|
-
|
|
27
|
-
return this.formBuilder.group(item);
|
|
28
|
-
};<% } %>
|
|
29
|
-
}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2023 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
import { Component } from '@angular/core';<% if (dataPath) {%>
|
|
6
|
-
import { <%= dataName %> } from '<%= dataPath %>'; <% } %><% if (dataSource === "Example") {%>
|
|
7
|
-
import { products } from './data'; <% } %><% if (dataSource === "Mock Data") {%>
|
|
8
|
-
import data from './data';<% } %><% if (editing === 'inline' || editing === 'incell') {%>
|
|
9
|
-
import { FormBuilder, FormGroup } from '@angular/forms';
|
|
10
|
-
import { CreateFormGroupArgs } from '@progress/kendo-angular-grid';<% } %>
|
|
11
|
-
|
|
12
|
-
@Component({
|
|
13
|
-
selector: '<%= dasherize(name) %>-component',
|
|
14
|
-
template: `
|
|
15
|
-
<kendo-grid <% if (paging || sorting || filtering || grouping) {%>
|
|
16
|
-
[kendoGridBinding]="gridData"<% } else {%>[data]="gridData"<% } %><% if (editing === 'inline') {%>
|
|
17
|
-
[kendoGridReactiveEditing]="createFormGroup"<% }%><% if (editing === 'incell') {%>
|
|
18
|
-
[kendoGridInCellEditing]="createFormGroup"<% }%><% if (filtering){%>
|
|
19
|
-
[filterable]="true"<% }%><% if (grouping) {%>
|
|
20
|
-
[groupable]="true"<% } %><% if (paging) {%>
|
|
21
|
-
[pageable]="true"<% } %><% if (sorting) {%>
|
|
22
|
-
[sortable]="true"<% } %><% if (resizing) {%>
|
|
23
|
-
[resizable]="true"<% } %><% if (reordering) {%>
|
|
24
|
-
[reorderable]="true"<% } %><% if (columnMenu) {%>
|
|
25
|
-
[columnMenu]="true"<% } %><% if (navigable) {%>
|
|
26
|
-
[navigable]="true"<% } %><% if (height) {%>
|
|
27
|
-
[height]="<%=height%>"<% } %><% if (paging) {%>
|
|
28
|
-
[pageSize]="pageSize"><% } %>><% if (columns.length) {%><% for (let column of columns) {%>
|
|
29
|
-
<kendo-grid-column<% if (column.field) {%>
|
|
30
|
-
field="<%=column.field%>"<% } %><% if (column.title) {%>
|
|
31
|
-
title="<%=column.title%>"<% } %><% if (column.hidden) {%>
|
|
32
|
-
[hidden]="<%=column.hidden%>"<% } %><% if (column.locked) {%>
|
|
33
|
-
[locked]="<%=column.locked%>"<% } %><% if (column.sticky) {%>
|
|
34
|
-
[sticky]="<%=column.sticky%>"<% } %><% if (column.width) {%>
|
|
35
|
-
[width]="<%=column.width%>"<% } %><% if (column.columnMenu) {%>
|
|
36
|
-
[columnMenu]="<%=column.columnMenu%>"<% } %><% if (column.editable) {%>
|
|
37
|
-
[editable]="<%=column.editable%>"><% } %>></kendo-grid-column><% } %><% } %><% if (editing === 'inline') {%>
|
|
38
|
-
<kendo-grid-command-column title="Command" [width]="220">
|
|
39
|
-
<ng-template kendoGridCellTemplate let-formGroup="formGroup" let-isNew="isNew">
|
|
40
|
-
<button kendoGridEditCommand [primary]="true">Edit</button>
|
|
41
|
-
<button kendoGridRemoveCommand>Remove</button>
|
|
42
|
-
<button kendoGridSaveCommand [disabled]="formGroup?.invalid">
|
|
43
|
-
{{ isNew ? "Add" : "Update" }}
|
|
44
|
-
</button>
|
|
45
|
-
<button kendoGridCancelCommand>
|
|
46
|
-
{{ isNew ? "Discard changes" : "Cancel" }}
|
|
47
|
-
</button>
|
|
48
|
-
</ng-template>
|
|
49
|
-
</kendo-grid-command-column><% } %><% if (editing === 'incell') {%>
|
|
50
|
-
<kendo-grid-command-column title="command" [width]="220">
|
|
51
|
-
<ng-template kendoGridCellTemplate let-formGroup="formGroup" let-isNew="isNew">
|
|
52
|
-
<button kendoGridRemoveCommand>Remove</button>
|
|
53
|
-
<button kendoGridSaveCommand [disabled]="formGroup?.invalid">
|
|
54
|
-
Add
|
|
55
|
-
</button>
|
|
56
|
-
<button kendoGridCancelCommand>Discard</button>
|
|
57
|
-
</ng-template>
|
|
58
|
-
</kendo-grid-command-column><% } %><% if (editing === 'incell' || editing === 'inline') {%>
|
|
59
|
-
<ng-template kendoGridToolbarTemplate>
|
|
60
|
-
<button kendoGridAddCommand>Add new</button>
|
|
61
|
-
</ng-template><% } %>
|
|
62
|
-
</kendo-grid>
|
|
63
|
-
`,<% if (inlineStyle) {%>
|
|
64
|
-
styles: [``]<% } else {%>
|
|
65
|
-
styleUrls: ['./<%= dasherize(name) %>.component.css']<% } %>
|
|
66
|
-
})
|
|
67
|
-
export class <%= classify(name) %>Component {
|
|
68
|
-
public gridData: any[] = <% if (dataSource === "Example") { %>products<% } else if (dataSource === "Mock Data") { %>data<% } else if (dataName) { %><%=dataName%><% } else { %>products<%} %>;<% if (paging) { %>
|
|
69
|
-
public pageSize: number = <%=pageSize%>;<% if (editing === 'inline' || editing === 'incell') {%>
|
|
70
|
-
|
|
71
|
-
constructor(private formBuilder: FormBuilder) { }
|
|
72
|
-
|
|
73
|
-
public createFormGroup = (args: CreateFormGroupArgs): FormGroup => {
|
|
74
|
-
// TODO: Implement default item factory.
|
|
75
|
-
const item = args.isNew ? Object.keys(this.gridData[0]).reduce((acc, curr) => (acc as any)[curr] = null || acc, {}) : args.dataItem;
|
|
76
|
-
|
|
77
|
-
return this.formBuilder.group(item);
|
|
78
|
-
};<% } %>
|
|
79
|
-
}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright © 2023 Progress Software Corporation. All rights reserved.
|
|
3
|
-
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
|
-
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
export declare const eventsSourceCode = "\nimport { SchedulerEvent } from '@progress/kendo-angular-scheduler';\n\n/* eslint-disable */\n\nconst baseData: any[] = [\n {\n \"TaskID\": 4,\n \"OwnerID\": 2,\n \"Title\": \"Bowling tournament\",\n \"Description\": \"\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-09T21:00:00.000Z\",\n \"End\": \"2013-06-10T00:00:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": null,\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 5,\n \"OwnerID\": 2,\n \"Title\": \"Take the dog to the vet\",\n \"Description\": \"\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-10T07:00:00.000Z\",\n \"End\": \"2013-06-10T08:00:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": null,\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 6,\n \"OwnerID\": 2,\n \"Title\": \"Call Charlie about the project\",\n \"Description\": \"\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-11T11:30:00.000Z\",\n \"End\": \"2013-06-11T13:00:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": null,\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 7,\n \"OwnerID\": 3,\n \"Title\": \"Meeting with Alex\",\n \"Description\": \"\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-12T11:00:00.000Z\",\n \"End\": \"2013-06-12T12:00:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": null,\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 9,\n \"OwnerID\": 2,\n \"Title\": \"Alex's Birthday\",\n \"Description\": \"\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-14T02:00:00.000Z\",\n \"End\": \"2013-06-14T02:00:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": null,\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": true\n },\n {\n \"TaskID\": 12,\n \"OwnerID\": 2,\n \"Title\": \"Car Service\",\n \"Description\": \"Might come to work later!\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-24T08:30:00.000Z\",\n \"End\": \"2013-06-24T09:30:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": null,\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 14,\n \"OwnerID\": 3,\n \"RoomID\": 2,\n \"Title\": \"Replace the printer on the 1st floor\",\n \"Description\": \"\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-24T10:00:00.000Z\",\n \"End\": \"2013-06-24T11:00:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": null,\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 15,\n \"OwnerID\": 1,\n \"Title\": \"Attending HR Conference\",\n \"Description\": \"\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-25T00:00:00.000Z\",\n \"End\": \"2013-06-26T00:00:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": null,\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": true\n },\n {\n \"TaskID\": 16,\n \"OwnerID\": 1,\n \"Title\": \"Business Lunch with Gregory Watkins\",\n \"Description\": \"\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-25T12:00:00.000Z\",\n \"End\": \"2013-06-25T13:00:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": null,\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 17,\n \"OwnerID\": 1,\n \"Title\": \"Breakfast with CFO and COO\",\n \"Description\": \"\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-27T08:30:00.000Z\",\n \"End\": \"2013-06-27T09:30:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": null,\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 18,\n \"OwnerID\": 1,\n \"Title\": \"Job Interview - Mathew Stevens\",\n \"Description\": \"Junior Researcher\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-27T10:00:00.000Z\",\n \"End\": \"2013-06-27T11:00:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": null,\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 19,\n \"OwnerID\": 1,\n \"Title\": \"Review CVs with Tim\",\n \"Description\": \"\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-27T11:00:00.000Z\",\n \"End\": \"2013-06-27T11:30:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": null,\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 20,\n \"OwnerID\": 1,\n \"Title\": \"Lunch with Monica\",\n \"Description\": \"Discuss the Employee handbook\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-27T12:00:00.000Z\",\n \"End\": \"2013-06-27T13:30:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": null,\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 21,\n \"OwnerID\": 1,\n \"Title\": \"Job Interview - John Stewart\",\n \"Description\": \"Accountant\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-27T14:00:00.000Z\",\n \"End\": \"2013-06-27T15:00:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": null,\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 22,\n \"OwnerID\": 1,\n \"Title\": \"Job Interview - Mary Smith\",\n \"Description\": \"Accountant\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-27T15:30:00.000Z\",\n \"End\": \"2013-06-27T16:30:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": null,\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 24,\n \"OwnerID\": 3,\n \"Title\": \"Register new Access Cards\",\n \"Description\": \"\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-24T12:00:00.000Z\",\n \"End\": \"2013-06-24T12:30:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": null,\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 25,\n \"OwnerID\": 1,\n \"Title\": \"HR Lecture\",\n \"Description\": \"\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-04T19:00:00.000Z\",\n \"End\": \"2013-06-04T21:00:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": \"FREQ=WEEKLY;BYDAY=TU,TH\",\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 26,\n \"OwnerID\": 1,\n \"Title\": \"Dentist\",\n \"Description\": \"\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-28T08:00:00.000Z\",\n \"End\": \"2013-06-28T09:00:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": null,\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 27,\n \"OwnerID\": 1,\n \"Title\": \"Job Interview - Laura Bailey\",\n \"Description\": \"Helpdesk\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-28T09:30:00.000Z\",\n \"End\": \"2013-06-28T10:30:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": null,\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 28,\n \"OwnerID\": 1,\n \"Title\": \"Job Interview - Jenny Baxter\",\n \"Description\": \"Helpdesk\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-28T11:00:00.000Z\",\n \"End\": \"2013-06-28T12:00:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": null,\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 31,\n \"OwnerID\": 1,\n \"Title\": \"Team building prep tasks\",\n \"Description\": \"\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-28T14:00:00.000Z\",\n \"End\": \"2013-06-28T17:00:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": null,\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 32,\n \"OwnerID\": 1,\n \"Title\": \"Job Interview - Bernard Atkins\",\n \"Description\": \"Helpdesk\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-24T13:30:00.000Z\",\n \"End\": \"2013-06-24T14:30:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": null,\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 34,\n \"OwnerID\": 1,\n \"Title\": \"Review Job Applications\",\n \"Description\": \"\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-24T15:00:00.000Z\",\n \"End\": \"2013-06-24T17:30:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": null,\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 35,\n \"OwnerID\": 1,\n \"Title\": \"Grand Canyon tour\",\n \"Description\": \"\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-23T00:00:00.000Z\",\n \"End\": \"2013-06-23T00:00:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": null,\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": true\n },\n {\n \"TaskID\": 40,\n \"OwnerID\": 3,\n \"Title\": \"Install new laptops in conference rooms\",\n \"Description\": \"\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-24T13:30:00.000Z\",\n \"End\": \"2013-06-24T18:00:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": null,\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 66,\n \"OwnerID\": 3,\n \"Title\": \"Bob's Birthday\",\n \"Description\": \"\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-29T08:00:00.000Z\",\n \"End\": \"2013-06-29T06:00:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": null,\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": true\n },\n {\n \"TaskID\": 68,\n \"OwnerID\": 1,\n \"RoomID\": 2,\n \"Title\": \"Breakfast with Tom\",\n \"Description\": \"\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-24T08:30:00.000Z\",\n \"End\": \"2013-06-24T09:00:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": null,\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 69,\n \"OwnerID\": 2,\n \"Title\": \"Team planning meeting\",\n \"Description\": \"\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-24T10:00:00.000Z\",\n \"End\": \"2013-06-24T12:00:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": null,\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 70,\n \"OwnerID\": 2,\n \"Title\": \"Support Phone Call\",\n \"Description\": \"\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-24T16:00:00.000Z\",\n \"End\": \"2013-06-24T16:30:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": null,\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 71,\n \"OwnerID\": 2,\n \"Title\": \"Business breakfast with Caroline\",\n \"Description\": \"\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-25T09:00:00.000Z\",\n \"End\": \"2013-06-25T10:00:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": null,\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 72,\n \"OwnerID\": 2,\n \"Title\": \"Discuss preojects' deadlines\",\n \"Description\": \"\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-25T11:00:00.000Z\",\n \"End\": \"2013-06-25T11:30:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": null,\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 73,\n \"OwnerID\": 2,\n \"Title\": \"Support Meeting\",\n \"Description\": \"\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-25T15:00:00.000Z\",\n \"End\": \"2013-06-25T16:00:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": null,\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 74,\n \"OwnerID\": 2,\n \"Title\": \"Dine with Mathew\",\n \"Description\": \"\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-25T18:30:00.000Z\",\n \"End\": \"2013-06-25T20:00:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": null,\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 79,\n \"OwnerID\": 2,\n \"Title\": \"Banking\",\n \"Description\": \"\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-26T09:00:00.000Z\",\n \"End\": \"2013-06-26T10:00:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": null,\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 80,\n \"OwnerID\": 3,\n \"Title\": \"Software updates\",\n \"Description\": \"\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-25T10:00:00.000Z\",\n \"End\": \"2013-06-25T12:00:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": null,\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 81,\n \"OwnerID\": 3,\n \"Title\": \"UPS maintenance\",\n \"Description\": \"\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-25T16:30:00.000Z\",\n \"End\": \"2013-06-25T18:00:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": null,\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 82,\n \"OwnerID\": 2,\n \"Title\": \"Support Call\",\n \"Description\": \"\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-26T11:30:00.000Z\",\n \"End\": \"2013-06-26T12:00:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": null,\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 83,\n \"OwnerID\": 3,\n \"Title\": \"Phone Sync with NY office \",\n \"Description\": \"\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-26T13:30:00.000Z\",\n \"End\": \"2013-06-26T14:30:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": null,\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 84,\n \"OwnerID\": 3,\n \"Title\": \"Phone Sync with Boston Office\",\n \"Description\": \"\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-26T15:00:00.000Z\",\n \"End\": \"2013-06-26T16:00:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": null,\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 85,\n \"OwnerID\": 3,\n \"Title\": \"Server maintenance\",\n \"Description\": \"\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-26T18:30:00.000Z\",\n \"End\": \"2013-06-26T21:30:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": null,\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 86,\n \"OwnerID\": 2,\n \"Title\": \"Status meeting\",\n \"Description\": \"\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-28T13:30:00.000Z\",\n \"End\": \"2013-06-28T15:30:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": null,\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 87,\n \"OwnerID\": 3,\n \"Title\": \"Helpdesk status meeting\",\n \"Description\": \"\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-27T10:30:00.000Z\",\n \"End\": \"2013-06-27T11:30:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": null,\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 88,\n \"OwnerID\": 2,\n \"Title\": \"Business Lunch\",\n \"Description\": \"\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-27T12:00:00.000Z\",\n \"End\": \"2013-06-27T13:00:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": null,\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 89,\n \"OwnerID\": 3,\n \"Title\": \"Employee database update\",\n \"Description\": \"\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-27T14:00:00.000Z\",\n \"End\": \"2013-06-27T15:30:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": null,\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 90,\n \"OwnerID\": 3,\n \"Title\": \"Website upload\",\n \"Description\": \"\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-27T07:30:00.000Z\",\n \"End\": \"2013-06-27T08:30:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": null,\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 91,\n \"OwnerID\": 2,\n \"Title\": \"Meeting with marketing guys\",\n \"Description\": \"\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-27T17:00:00.000Z\",\n \"End\": \"2013-06-27T18:30:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": null,\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 92,\n \"OwnerID\": 3,\n \"Title\": \"Meeting with Internet provider\",\n \"Description\": \"\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-28T10:30:00.000Z\",\n \"End\": \"2013-06-28T11:30:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": null,\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 93,\n \"OwnerID\": 3,\n \"Title\": \"Bob's Birthday Party\",\n \"Description\": \"\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-29T20:00:00.000Z\",\n \"End\": \"2013-06-29T23:30:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": null,\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 95,\n \"OwnerID\": 2,\n \"Title\": \"Dance Practice\",\n \"Description\": \"\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-03T18:30:00.000Z\",\n \"End\": \"2013-06-03T20:00:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": \"FREQ=WEEKLY;BYDAY=MO,WE\",\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 114,\n \"OwnerID\": 3,\n \"Title\": \"Software updates\",\n \"Description\": \"\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-04T09:00:00.000Z\",\n \"End\": \"2013-06-04T12:00:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": \"\",\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 115,\n \"OwnerID\": 1,\n \"Title\": \"Breakfast at Starbucks\",\n \"Description\": \"\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-04T08:00:00.000Z\",\n \"End\": \"2013-06-04T09:30:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": \"\",\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 116,\n \"OwnerID\": 2,\n \"Title\": \"Performance review\",\n \"Description\": \"\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-04T14:00:00.000Z\",\n \"End\": \"2013-06-04T17:00:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": \"\",\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 118,\n \"OwnerID\": 1,\n \"Title\": \"HR seminar preparation\",\n \"Description\": \"\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-05T10:00:00.000Z\",\n \"End\": \"2013-06-05T12:00:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": \"\",\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 119,\n \"OwnerID\": 3,\n \"Title\": \"Helpdesk weekly meeting\",\n \"Description\": \"\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-05T15:00:00.000Z\",\n \"End\": \"2013-06-05T16:00:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": \"FREQ=WEEKLY;BYDAY=WE\",\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n },\n {\n \"TaskID\": 120,\n \"OwnerID\": 3,\n \"Title\": \"Website upload\",\n \"Description\": \"\",\n \"StartTimezone\": null,\n \"Start\": \"2013-06-07T07:00:00.000Z\",\n \"End\": \"2013-06-07T08:30:00.000Z\",\n \"EndTimezone\": null,\n \"RecurrenceRule\": \"\",\n \"RecurrenceID\": null,\n \"RecurrenceException\": null,\n \"IsAllDay\": false\n }\n];\n\nconst currentYear = new Date().getFullYear();\nconst parseAdjust = (eventDate: string): Date => {\n const date = new Date(eventDate);\n date.setFullYear(currentYear);\n return date;\n};\n\nconst randomInt = (min: number, max: number): number => {\n return Math.floor(Math.random() * (max - min + 1)) + min;\n}\n\nexport const displayDate = new Date(currentYear, 5, 24);\n\nexport const sampleData = baseData.map(dataItem => (\n <SchedulerEvent> {\n id: dataItem.TaskID,\n start: parseAdjust(dataItem.Start),\n startTimezone: dataItem.startTimezone,\n end: parseAdjust(dataItem.End),\n endTimezone: dataItem.endTimezone,\n isAllDay: dataItem.IsAllDay,\n title: dataItem.Title,\n description: dataItem.Description,\n recurrenceRule: dataItem.RecurrenceRule,\n recurrenceId: dataItem.RecurrenceID,\n recurrenceException: dataItem.RecurrenceException,\n\n roomId: dataItem.RoomID,\n ownerID: dataItem.OwnerID\n }\n));\n\nexport const sampleDataWithResources = baseData.map(dataItem => (\n <SchedulerEvent> {\n id: dataItem.TaskID,\n start: parseAdjust(dataItem.Start),\n startTimezone: dataItem.startTimezone,\n end: parseAdjust(dataItem.End),\n endTimezone: dataItem.endTimezone,\n isAllDay: dataItem.IsAllDay,\n title: dataItem.Title,\n description: dataItem.Description,\n recurrenceRule: dataItem.RecurrenceRule,\n recurrenceId: dataItem.RecurrenceID,\n recurrenceException: dataItem.RecurrenceException,\n roomId: randomInt(1, 2),\n attendees: [randomInt(1, 3)]\n }\n));\n\nexport const sampleDataWithCustomSchema = baseData.map(dataItem => (\n {\n ...dataItem,\n Start: parseAdjust(dataItem.Start),\n End: parseAdjust(dataItem.End)\n }\n));\n";
|