@progress/kendo-angular-schematics 13.5.0-develop.3 → 13.5.0-develop.5

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.
Files changed (134) hide show
  1. package/collection.json +9 -27
  2. package/e2e/utils.d.ts +17 -0
  3. package/e2e/utils.js +71 -0
  4. package/e2e/utils.js.map +1 -0
  5. package/package.json +5 -2
  6. package/src/chart/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.__style__.template +6 -0
  7. package/src/chart/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.html.template +1 -0
  8. package/src/chart/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.spec.ts.template +21 -0
  9. package/src/chart/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.ts.template +34 -0
  10. package/src/chart/files/chart.html.include +103 -0
  11. package/src/{charts/circular → chart}/index.d.ts +2 -2
  12. package/src/chart/index.js +238 -0
  13. package/src/chart/index.js.map +1 -0
  14. package/src/chart/schema.d.ts +230 -0
  15. package/src/chart/schema.js +72 -0
  16. package/src/chart/schema.js.map +1 -0
  17. package/src/chart/schema.json +235 -0
  18. package/src/grid/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.__style__.template +6 -0
  19. package/src/grid/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.html.template +1 -0
  20. package/src/grid/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.spec.ts.template +21 -0
  21. package/src/grid/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.ts.template +37 -0
  22. package/src/grid/files/__name@dasherize@if-flat__/__name@dasherize__.sample-data.ts.template +1233 -0
  23. package/src/grid/files/{html/__name@dasherize__/__name@dasherize__.component.html → grid.html.include} +4 -9
  24. package/src/grid/index.d.ts +2 -2
  25. package/src/grid/index.js +77 -61
  26. package/src/grid/index.js.map +1 -1
  27. package/src/grid/schema.d.ts +12 -11
  28. package/src/grid/schema.js +16 -5
  29. package/src/grid/schema.js.map +1 -1
  30. package/src/grid/schema.json +82 -37
  31. package/src/ngAdd/index.js +2 -1
  32. package/src/ngAdd/index.js.map +1 -1
  33. package/src/rules/index.js +2 -1
  34. package/src/rules/index.js.map +1 -1
  35. package/src/scheduler/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.__style__.template +6 -0
  36. package/src/scheduler/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.html.template +1 -0
  37. package/src/scheduler/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.spec.ts.template +21 -0
  38. package/src/scheduler/files/__name@dasherize@if-flat__/__name@dasherize__.__type@dasherize__.ts.template +26 -0
  39. package/src/scheduler/files/{events-utc.ts → __name@dasherize@if-flat__/__name@dasherize__.sample-data.ts.template} +0 -6
  40. package/src/scheduler/files/scheduler.html.include +7 -0
  41. package/src/scheduler/index.d.ts +2 -2
  42. package/src/scheduler/index.js +54 -32
  43. package/src/scheduler/index.js.map +1 -1
  44. package/src/scheduler/schema.d.ts +10 -2
  45. package/src/scheduler/schema.json +78 -2
  46. package/src/third_party/d3fc/d3fc-rebind/rebindAll.js +32 -0
  47. package/src/third_party/d3fc/day.js +61 -0
  48. package/src/third_party/d3fc/duration.js +34 -0
  49. package/src/third_party/d3fc/filter/skipWeekends.js +32 -0
  50. package/src/third_party/d3fc/financial.js +184 -0
  51. package/src/third_party/d3fc/fn.js +31 -0
  52. package/src/third_party/d3fc/geometricBrownianMotion.js +94 -0
  53. package/src/third_party/d3fc/interval.js +89 -0
  54. package/src/third_party/d3fc/randomNormal.js +49 -0
  55. package/src/third_party/d3fc/year.js +71 -0
  56. package/src/third_party/index.d.ts +28 -0
  57. package/src/third_party/index.js +40 -0
  58. package/src/third_party/index.js.map +1 -0
  59. package/src/third_party/index.v13.d.ts +13 -0
  60. package/src/third_party/index.v13.js +67 -0
  61. package/src/third_party/index.v13.js.map +1 -0
  62. package/src/utils/ast-utils.js +2 -1
  63. package/src/utils/ast-utils.js.map +1 -1
  64. package/src/utils/bootstrap-module.js +2 -1
  65. package/src/utils/bootstrap-module.js.map +1 -1
  66. package/src/{charts/scatter/schema.js → utils/parse-complex-options.d.ts} +1 -3
  67. package/src/utils/parse-complex-options.js +32 -0
  68. package/src/utils/parse-complex-options.js.map +1 -0
  69. package/src/charts/categorical/files/data.d.ts +0 -5
  70. package/src/charts/categorical/files/data.js +0 -29
  71. package/src/charts/categorical/files/data.js.map +0 -1
  72. package/src/charts/categorical/files/data.ts +0 -25
  73. package/src/charts/categorical/files/html/__name@dasherize__/__name@dasherize__.component.html +0 -46
  74. package/src/charts/categorical/files/html/__name@dasherize__/__name@dasherize__.component.ts +0 -25
  75. package/src/charts/categorical/files/inline/__name@dasherize__/__name@dasherize__.component.ts +0 -69
  76. package/src/charts/categorical/index.d.ts +0 -7
  77. package/src/charts/categorical/index.js +0 -124
  78. package/src/charts/categorical/index.js.map +0 -1
  79. package/src/charts/categorical/schema.d.ts +0 -92
  80. package/src/charts/categorical/schema.js +0 -54
  81. package/src/charts/categorical/schema.js.map +0 -1
  82. package/src/charts/categorical/schema.json +0 -253
  83. package/src/charts/circular/files/data.d.ts +0 -5
  84. package/src/charts/circular/files/data.js +0 -15
  85. package/src/charts/circular/files/data.js.map +0 -1
  86. package/src/charts/circular/files/data.ts +0 -11
  87. package/src/charts/circular/files/html/__name@dasherize__/__name@dasherize__.component.html +0 -27
  88. package/src/charts/circular/files/html/__name@dasherize__/__name@dasherize__.component.ts +0 -23
  89. package/src/charts/circular/files/inline/__name@dasherize__/__name@dasherize__.component.ts +0 -52
  90. package/src/charts/circular/index.js +0 -50
  91. package/src/charts/circular/index.js.map +0 -1
  92. package/src/charts/circular/schema.d.ts +0 -31
  93. package/src/charts/circular/schema.js +0 -7
  94. package/src/charts/circular/schema.js.map +0 -1
  95. package/src/charts/circular/schema.json +0 -175
  96. package/src/charts/scatter/files/data.d.ts +0 -5
  97. package/src/charts/scatter/files/data.js +0 -25
  98. package/src/charts/scatter/files/data.js.map +0 -1
  99. package/src/charts/scatter/files/data.ts +0 -21
  100. package/src/charts/scatter/files/html/__name@dasherize__/__name@dasherize__.component.html +0 -35
  101. package/src/charts/scatter/files/html/__name@dasherize__/__name@dasherize__.component.ts +0 -21
  102. package/src/charts/scatter/files/inline/__name@dasherize__/__name@dasherize__.component.ts +0 -58
  103. package/src/charts/scatter/index.d.ts +0 -7
  104. package/src/charts/scatter/index.js +0 -50
  105. package/src/charts/scatter/index.js.map +0 -1
  106. package/src/charts/scatter/schema.d.ts +0 -32
  107. package/src/charts/scatter/schema.js.map +0 -1
  108. package/src/charts/scatter/schema.json +0 -209
  109. package/src/charts/stock/files/data.d.ts +0 -5
  110. package/src/charts/stock/files/data.js +0 -418
  111. package/src/charts/stock/files/data.js.map +0 -1
  112. package/src/charts/stock/files/data.ts +0 -414
  113. package/src/charts/stock/files/html/__name@dasherize__/__name@dasherize__.component.html +0 -57
  114. package/src/charts/stock/files/html/__name@dasherize__/__name@dasherize__.component.ts +0 -23
  115. package/src/charts/stock/files/inline/__name@dasherize__/__name@dasherize__.component.ts +0 -83
  116. package/src/charts/stock/index.d.ts +0 -7
  117. package/src/charts/stock/index.js +0 -50
  118. package/src/charts/stock/index.js.map +0 -1
  119. package/src/charts/stock/schema.d.ts +0 -36
  120. package/src/charts/stock/schema.js +0 -7
  121. package/src/charts/stock/schema.js.map +0 -1
  122. package/src/charts/stock/schema.json +0 -285
  123. package/src/grid/files/data.d.ts +0 -5
  124. package/src/grid/files/data.js +0 -1241
  125. package/src/grid/files/data.js.map +0 -1
  126. package/src/grid/files/data.ts +0 -1237
  127. package/src/grid/files/html/__name@dasherize__/__name@dasherize__.component.ts +0 -29
  128. package/src/grid/files/inline/__name@dasherize__/__name@dasherize__.component.ts +0 -79
  129. package/src/scheduler/files/events-utc.d.ts +0 -5
  130. package/src/scheduler/files/events-utc.js +0 -846
  131. package/src/scheduler/files/events-utc.js.map +0 -1
  132. package/src/scheduler/files/html/__name@dasherize__/__name@dasherize__.component.html +0 -29
  133. package/src/scheduler/files/html/__name@dasherize__/__name@dasherize__.component.ts +0 -17
  134. 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";