@progress/kendo-angular-schematics 11.0.0-develop.79

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 (141) hide show
  1. package/LICENSE.md +11 -0
  2. package/NOTICE.txt +654 -0
  3. package/collection.json +53 -0
  4. package/package.json +33 -0
  5. package/src/charts/categorical/files/data.d.ts +5 -0
  6. package/src/charts/categorical/files/data.js +29 -0
  7. package/src/charts/categorical/files/data.js.map +1 -0
  8. package/src/charts/categorical/files/data.ts +25 -0
  9. package/src/charts/categorical/files/html/__name@dasherize__/__name@dasherize__.component.html +46 -0
  10. package/src/charts/categorical/files/html/__name@dasherize__/__name@dasherize__.component.ts +25 -0
  11. package/src/charts/categorical/files/inline/__name@dasherize__/__name@dasherize__.component.ts +69 -0
  12. package/src/charts/categorical/index.d.ts +7 -0
  13. package/src/charts/categorical/index.js +124 -0
  14. package/src/charts/categorical/index.js.map +1 -0
  15. package/src/charts/categorical/schema.d.ts +92 -0
  16. package/src/charts/categorical/schema.js +54 -0
  17. package/src/charts/categorical/schema.js.map +1 -0
  18. package/src/charts/categorical/schema.json +253 -0
  19. package/src/charts/circular/files/data.d.ts +5 -0
  20. package/src/charts/circular/files/data.js +15 -0
  21. package/src/charts/circular/files/data.js.map +1 -0
  22. package/src/charts/circular/files/data.ts +11 -0
  23. package/src/charts/circular/files/html/__name@dasherize__/__name@dasherize__.component.html +27 -0
  24. package/src/charts/circular/files/html/__name@dasherize__/__name@dasherize__.component.ts +23 -0
  25. package/src/charts/circular/files/inline/__name@dasherize__/__name@dasherize__.component.ts +52 -0
  26. package/src/charts/circular/index.d.ts +7 -0
  27. package/src/charts/circular/index.js +50 -0
  28. package/src/charts/circular/index.js.map +1 -0
  29. package/src/charts/circular/schema.d.ts +31 -0
  30. package/src/charts/circular/schema.js +7 -0
  31. package/src/charts/circular/schema.js.map +1 -0
  32. package/src/charts/circular/schema.json +175 -0
  33. package/src/charts/scatter/files/data.d.ts +5 -0
  34. package/src/charts/scatter/files/data.js +25 -0
  35. package/src/charts/scatter/files/data.js.map +1 -0
  36. package/src/charts/scatter/files/data.ts +21 -0
  37. package/src/charts/scatter/files/html/__name@dasherize__/__name@dasherize__.component.html +35 -0
  38. package/src/charts/scatter/files/html/__name@dasherize__/__name@dasherize__.component.ts +21 -0
  39. package/src/charts/scatter/files/inline/__name@dasherize__/__name@dasherize__.component.ts +58 -0
  40. package/src/charts/scatter/index.d.ts +7 -0
  41. package/src/charts/scatter/index.js +50 -0
  42. package/src/charts/scatter/index.js.map +1 -0
  43. package/src/charts/scatter/schema.d.ts +32 -0
  44. package/src/charts/scatter/schema.js +7 -0
  45. package/src/charts/scatter/schema.js.map +1 -0
  46. package/src/charts/scatter/schema.json +209 -0
  47. package/src/charts/stock/files/data.d.ts +5 -0
  48. package/src/charts/stock/files/data.js +418 -0
  49. package/src/charts/stock/files/data.js.map +1 -0
  50. package/src/charts/stock/files/data.ts +414 -0
  51. package/src/charts/stock/files/html/__name@dasherize__/__name@dasherize__.component.html +57 -0
  52. package/src/charts/stock/files/html/__name@dasherize__/__name@dasherize__.component.ts +23 -0
  53. package/src/charts/stock/files/inline/__name@dasherize__/__name@dasherize__.component.ts +83 -0
  54. package/src/charts/stock/index.d.ts +7 -0
  55. package/src/charts/stock/index.js +50 -0
  56. package/src/charts/stock/index.js.map +1 -0
  57. package/src/charts/stock/schema.d.ts +36 -0
  58. package/src/charts/stock/schema.js +7 -0
  59. package/src/charts/stock/schema.js.map +1 -0
  60. package/src/charts/stock/schema.json +285 -0
  61. package/src/component/files/__full-path__/__name@folder-name__/__name@dasherize__.component.__styleext__ +0 -0
  62. package/src/component/files/__full-path__/__name@folder-name__/__name@dasherize__.component.html +1 -0
  63. package/src/component/files/__full-path__/__name@folder-name__/__name@dasherize__.component.ts +23 -0
  64. package/src/component/index.d.ts +6 -0
  65. package/src/component/index.js +18 -0
  66. package/src/component/index.js.map +1 -0
  67. package/src/component/schema.d.ts +66 -0
  68. package/src/component/schema.js +7 -0
  69. package/src/component/schema.js.map +1 -0
  70. package/src/component/schema.json +96 -0
  71. package/src/grid/files/data.d.ts +5 -0
  72. package/src/grid/files/data.js +1241 -0
  73. package/src/grid/files/data.js.map +1 -0
  74. package/src/grid/files/data.ts +1237 -0
  75. package/src/grid/files/html/__name@dasherize__/__name@dasherize__.component.html +48 -0
  76. package/src/grid/files/html/__name@dasherize__/__name@dasherize__.component.ts +29 -0
  77. package/src/grid/files/inline/__name@dasherize__/__name@dasherize__.component.ts +79 -0
  78. package/src/grid/index.d.ts +7 -0
  79. package/src/grid/index.js +84 -0
  80. package/src/grid/index.js.map +1 -0
  81. package/src/grid/schema.d.ts +44 -0
  82. package/src/grid/schema.js +28 -0
  83. package/src/grid/schema.js.map +1 -0
  84. package/src/grid/schema.json +168 -0
  85. package/src/ngAdd/index.d.ts +7 -0
  86. package/src/ngAdd/index.js +143 -0
  87. package/src/ngAdd/index.js.map +1 -0
  88. package/src/ngAdd/schema.d.ts +61 -0
  89. package/src/ngAdd/schema.js +7 -0
  90. package/src/ngAdd/schema.js.map +1 -0
  91. package/src/ngAdd/schema.json +70 -0
  92. package/src/ngAdd/theming.d.ts +8 -0
  93. package/src/ngAdd/theming.js +79 -0
  94. package/src/ngAdd/theming.js.map +1 -0
  95. package/src/rules/index.d.ts +11 -0
  96. package/src/rules/index.js +80 -0
  97. package/src/rules/index.js.map +1 -0
  98. package/src/scheduler/files/events-utc.d.ts +5 -0
  99. package/src/scheduler/files/events-utc.js +846 -0
  100. package/src/scheduler/files/events-utc.js.map +1 -0
  101. package/src/scheduler/files/events-utc.ts +842 -0
  102. package/src/scheduler/files/html/__name@dasherize__/__name@dasherize__.component.html +29 -0
  103. package/src/scheduler/files/html/__name@dasherize__/__name@dasherize__.component.ts +17 -0
  104. package/src/scheduler/files/inline/__name@dasherize__/__name@dasherize__.component.ts +48 -0
  105. package/src/scheduler/index.d.ts +7 -0
  106. package/src/scheduler/index.js +47 -0
  107. package/src/scheduler/index.js.map +1 -0
  108. package/src/scheduler/schema.d.ts +16 -0
  109. package/src/scheduler/schema.js +7 -0
  110. package/src/scheduler/schema.js.map +1 -0
  111. package/src/scheduler/schema.json +78 -0
  112. package/src/utils/ast-utils.d.ts +34 -0
  113. package/src/utils/ast-utils.js +206 -0
  114. package/src/utils/ast-utils.js.map +1 -0
  115. package/src/utils/bootstrap-module.d.ts +9 -0
  116. package/src/utils/bootstrap-module.js +54 -0
  117. package/src/utils/bootstrap-module.js.map +1 -0
  118. package/src/utils/find-module.d.ts +25 -0
  119. package/src/utils/find-module.js +91 -0
  120. package/src/utils/find-module.js.map +1 -0
  121. package/src/utils/index.d.ts +16 -0
  122. package/src/utils/index.js +74 -0
  123. package/src/utils/index.js.map +1 -0
  124. package/src/utils/test/create-app-module.d.ts +6 -0
  125. package/src/utils/test/create-app-module.js +24 -0
  126. package/src/utils/test/create-app-module.js.map +1 -0
  127. package/src/utils/test/create-cli-config.d.ts +6 -0
  128. package/src/utils/test/create-cli-config.js +121 -0
  129. package/src/utils/test/create-cli-config.js.map +1 -0
  130. package/src/utils/test/create-main-bootstrap.d.ts +6 -0
  131. package/src/utils/test/create-main-bootstrap.js +26 -0
  132. package/src/utils/test/create-main-bootstrap.js.map +1 -0
  133. package/src/utils/test/create-package-json.d.ts +6 -0
  134. package/src/utils/test/create-package-json.js +20 -0
  135. package/src/utils/test/create-package-json.js.map +1 -0
  136. package/src/utils/test/index.d.ts +8 -0
  137. package/src/utils/test/index.js +12 -0
  138. package/src/utils/test/index.js.map +1 -0
  139. package/src/utils/workspace.d.ts +16 -0
  140. package/src/utils/workspace.js +58 -0
  141. package/src/utils/workspace.js.map +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/schematics/src/ngAdd/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2022 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ export interface Schema {
6
+ /**
7
+ * The path to create the component.
8
+ */
9
+ path?: string;
10
+ /**
11
+ * The name of the project.
12
+ */
13
+ project?: string;
14
+ /**
15
+ * Package name to register.
16
+ */
17
+ package: string;
18
+ /**
19
+ * The main NgModule for the package.
20
+ */
21
+ mainNgModule: string;
22
+ /**
23
+ * Allows specification of the declaring module.
24
+ */
25
+ module?: string;
26
+ /**
27
+ * Specifies if declaring module exports the component.
28
+ */
29
+ export?: boolean;
30
+ /**
31
+ * Skip installing Kendo dependency packages.
32
+ */
33
+ skipInstall?: boolean;
34
+ /**
35
+ * Import Hammer.js in the main module.
36
+ */
37
+ importHammerjs?: boolean;
38
+ /**
39
+ * Register Kendo theme.
40
+ */
41
+ theme?: ('default' | 'bootstrap' | 'material');
42
+ /**
43
+ * Additional dependencies to import, e.g. @angular/localize.
44
+ */
45
+ dependencies?: Dependency[];
46
+ /**
47
+ * Additional peer dependencies to install.
48
+ *
49
+ * List peer dependencies of peers here.
50
+ * Direct peer dependencies are installed automatically.
51
+ */
52
+ peerDependencies: {
53
+ [name: string]: string;
54
+ };
55
+ }
56
+ export interface Dependency {
57
+ import?: string;
58
+ export?: boolean;
59
+ from: string;
60
+ condition?: boolean;
61
+ }
@@ -0,0 +1,7 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2022 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ "use strict";
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../../libs/schematics/src/ngAdd/schema.ts"],"names":[],"mappings":""}
@@ -0,0 +1,70 @@
1
+ {
2
+ "$schema": "http://json-schema.org/schema",
3
+ "$id": "component",
4
+ "title": "Register a Kendo Angular component",
5
+ "type": "object",
6
+ "properties": {
7
+ "path": {
8
+ "type": "string",
9
+ "format": "path",
10
+ "$default": {
11
+ "$source": "workingDirectory"
12
+ },
13
+ "description": "The path to create the component.",
14
+ "visible": false
15
+ },
16
+ "project": {
17
+ "type": "string",
18
+ "description": "The name of the project.",
19
+ "$default": {
20
+ "$source": "projectName"
21
+ }
22
+ },
23
+ "package": {
24
+ "description": "Package name to register.",
25
+ "type": "string"
26
+ },
27
+ "mainNgModule": {
28
+ "description": "The main NgModule for the package.",
29
+ "type": "string"
30
+ },
31
+ "module": {
32
+ "type": "string",
33
+ "description": "Allows specification of the declaring module.",
34
+ "alias": "m"
35
+ },
36
+ "export": {
37
+ "type": "boolean",
38
+ "default": false,
39
+ "description": "Specifies if declaring module exports the component."
40
+ },
41
+ "skipInstall": {
42
+ "description": "Skip installing Kendo dependency packages.",
43
+ "type": "boolean",
44
+ "default": false
45
+ },
46
+ "theme": {
47
+ "description": "Register Kendo theme.",
48
+ "enum": ["default", "bootstrap", "material"],
49
+ "type": "string"
50
+ },
51
+ "importHammerjs": {
52
+ "description": "Import Hammer.js in the main module.",
53
+ "type": "boolean"
54
+ },
55
+ "dependencies": {
56
+ "description": "Additional dependencies to import.",
57
+ "default": [],
58
+ "type": "array"
59
+ },
60
+ "peerDependencies": {
61
+ "description": "Additional packages to install as dependencies.",
62
+ "default": {},
63
+ "type": "object"
64
+ }
65
+ },
66
+ "required": [
67
+ "package",
68
+ "mainNgModule"
69
+ ]
70
+ }
@@ -0,0 +1,8 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2022 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { Rule } from '@angular-devkit/schematics';
6
+ import { Schema as RegisterSchema } from './schema';
7
+ export declare const themeVersion = "^5.0.0";
8
+ export declare function importTheme(options: RegisterSchema): Rule;
@@ -0,0 +1,79 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2022 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ "use strict";
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.importTheme = exports.themeVersion = void 0;
8
+ const schematics_1 = require("@angular-devkit/schematics");
9
+ const rules_1 = require("../rules");
10
+ const utils_1 = require("../utils");
11
+ const themePackageName = (options) => {
12
+ if (!options.theme)
13
+ return '';
14
+ return `@progress/kendo-theme-${options.theme}`;
15
+ };
16
+ const themePath = (name) => `node_modules/${name}/dist/all.css`;
17
+ exports.themeVersion = '^5.0.0';
18
+ function importTheme(options) {
19
+ const theme = themePackageName(options);
20
+ if (!theme)
21
+ return (0, schematics_1.noop)();
22
+ const dependencies = {
23
+ [theme]: exports.themeVersion
24
+ };
25
+ return (host, context) => {
26
+ const packageFile = host.get('package.json');
27
+ if (packageFile) {
28
+ const text = packageFile.content.toString();
29
+ const json = JSON.parse(text);
30
+ const dependencies = Object.keys(json.dependencies);
31
+ const skipImport = dependencies.some(dep => dep.startsWith('@progress/kendo-theme-'));
32
+ if (skipImport) {
33
+ context.logger.info(`${theme} already installed, skipping styles registration.`);
34
+ return host;
35
+ }
36
+ }
37
+ return (0, schematics_1.chain)([
38
+ (0, rules_1.addToPackageJson)({ dependencies }),
39
+ addStyles(theme, options)
40
+ ]);
41
+ };
42
+ }
43
+ exports.importTheme = importTheme;
44
+ function addStyles(theme, options) {
45
+ return (host) => {
46
+ const supportedTargets = new Set(['build', 'test']);
47
+ const workspace = (0, utils_1.getWorkspace)(host);
48
+ const project = (0, utils_1.getProjectFromWorkspace)(workspace, options.project);
49
+ const targets = project.architect || project.targets;
50
+ if (!targets) {
51
+ throw new schematics_1.SchematicsException(`${project.theme} does not have defined targets.`);
52
+ }
53
+ Object.keys(targets).filter(key => supportedTargets.has(key)).forEach(key => {
54
+ addStyleToTarget(targets[key], host, themePath(theme), workspace);
55
+ });
56
+ return host;
57
+ };
58
+ }
59
+ function addStyleToTarget(target, host, asset, workspace) {
60
+ const styleEntry = { input: asset };
61
+ // We can't assume that any of these properties are defined, so safely add them as we go
62
+ // if necessary.
63
+ if (!target.options) {
64
+ target.options = { styles: [styleEntry] };
65
+ }
66
+ else if (!target.options.styles) {
67
+ target.options.styles = [styleEntry];
68
+ }
69
+ else {
70
+ const existingStyles = target.options.styles.map(s => typeof s === 'string' ? s : s.input);
71
+ const hasGivenTheme = existingStyles.find(s => s.includes(asset));
72
+ const hasOtherTheme = existingStyles.find(s => s.includes('@progress/kendo-theme'));
73
+ if (!hasGivenTheme && !hasOtherTheme) {
74
+ target.options.styles.splice(0, 0, styleEntry);
75
+ }
76
+ }
77
+ host.overwrite('angular.json', JSON.stringify(workspace, null, 2));
78
+ }
79
+ //# sourceMappingURL=theming.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theming.js","sourceRoot":"","sources":["../../../../../libs/schematics/src/ngAdd/theming.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2022 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { Rule, Tree, SchematicContext } from '@angular-devkit/schematics';
6
+ import { Observable } from 'rxjs';
7
+ export declare function applyChanges(host: Tree, path: string, changes: any[]): void;
8
+ export declare function addDeclarationToNgModule(options: any): Rule;
9
+ export declare function addToPackageJson(options: any): Rule;
10
+ export declare type ComponentTemplate = (context: SchematicContext) => Observable<{}>;
11
+ export declare function withBase(componentTemplate: ComponentTemplate, rules: Rule): any;
@@ -0,0 +1,80 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2022 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ "use strict";
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.withBase = exports.addToPackageJson = exports.addDeclarationToNgModule = exports.applyChanges = void 0;
8
+ const schematics_1 = require("@angular-devkit/schematics");
9
+ const core_1 = require("@angular-devkit/core");
10
+ const ts = require("typescript");
11
+ const operators_1 = require("rxjs/operators");
12
+ const utils_1 = require("../utils");
13
+ function applyChanges(host, path, changes) {
14
+ const recorder = host.beginUpdate(path);
15
+ for (const change of changes) {
16
+ recorder.insertLeft(change.position, change.toAdd);
17
+ }
18
+ host.commitUpdate(recorder);
19
+ }
20
+ exports.applyChanges = applyChanges;
21
+ function addDeclarationToNgModule(options) {
22
+ return (host) => {
23
+ const modulePath = options.module;
24
+ if (!modulePath) {
25
+ return host;
26
+ }
27
+ const sourceText = host.read(modulePath).toString('utf-8');
28
+ const source = ts.createSourceFile(modulePath, sourceText, ts.ScriptTarget.Latest, true);
29
+ const changes = (0, utils_1.addDeclarationToModule)({
30
+ source,
31
+ symbolName: options.symbolName,
32
+ modulePath: options.symbolImport
33
+ });
34
+ applyChanges(host, modulePath, changes);
35
+ return host;
36
+ };
37
+ }
38
+ exports.addDeclarationToNgModule = addDeclarationToNgModule;
39
+ function addToPackageJson(options) {
40
+ return (host) => {
41
+ if (!host.exists('package.json'))
42
+ return host;
43
+ const dependencies = options.dependencies;
44
+ const text = host.read('package.json').toString('utf-8');
45
+ const json = JSON.parse(text);
46
+ json['dependencies'] = Object.assign({}, json['dependencies'], dependencies);
47
+ host.overwrite('package.json', (0, utils_1.stringify)(json));
48
+ return host;
49
+ };
50
+ }
51
+ exports.addToPackageJson = addToPackageJson;
52
+ const inlineTemplate = ({ inlineTemplate }) => inlineTemplate ? (0, schematics_1.filter)((path) => !path.endsWith('html')) : (0, schematics_1.noop)();
53
+ const inlineStyle = ({ inlineStyle }) => inlineStyle ? (0, schematics_1.filter)((path) => !path.endsWith('__styleext__')) : (0, schematics_1.noop)();
54
+ function withBase(componentTemplate, rules) {
55
+ return (options) => (host, context) => {
56
+ const extendTemplateContext = (additional = {}) => (0, schematics_1.template)({
57
+ ...core_1.strings,
58
+ ...options,
59
+ 'folder-name': (0, utils_1.folderName)(options),
60
+ 'full-path': `${options.sourceDir}/${options.path}`,
61
+ selector: (0, utils_1.buildSelector)(options),
62
+ ...additional
63
+ });
64
+ const baseComponent = (templateContext) => {
65
+ const templateSource = (0, schematics_1.apply)((0, schematics_1.url)('../component/files'), [
66
+ inlineTemplate(options),
67
+ inlineStyle(options),
68
+ extendTemplateContext(templateContext)
69
+ ]);
70
+ const allRules = (0, schematics_1.chain)([
71
+ (0, schematics_1.branchAndMerge)((0, schematics_1.mergeWith)(templateSource)),
72
+ rules
73
+ ]);
74
+ return (0, utils_1.asObservable)(allRules(host, context));
75
+ };
76
+ return componentTemplate(context).pipe((0, operators_1.switchMap)(baseComponent));
77
+ };
78
+ }
79
+ exports.withBase = withBase;
80
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/schematics/src/rules/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2022 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";