gantt-source_management 3.37.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 (166) hide show
  1. package/.editorconfig +9 -0
  2. package/.eslintrc.json +39 -0
  3. package/.prettierrc.cjs +5 -0
  4. package/README.md +129 -0
  5. package/cypress/e2e/add-rows-items.test.ts +26 -0
  6. package/cypress/e2e/basic.test.ts +173 -0
  7. package/cypress/e2e/calculated-zoom-mode.test.ts +163 -0
  8. package/cypress/e2e/calendar-dates.test.ts +285 -0
  9. package/cypress/e2e/dst.test.ts +691 -0
  10. package/cypress/e2e/grid-cells.test.ts +72 -0
  11. package/cypress/e2e/items-vertical.test.ts +305 -0
  12. package/cypress/e2e/items.test.ts +501 -0
  13. package/cypress/e2e/list-columns-toggle.test.ts +124 -0
  14. package/cypress/e2e/list-header-resize.test.ts +30 -0
  15. package/cypress/e2e/locale.test.ts +102 -0
  16. package/cypress/e2e/move-items-outside.test.ts +437 -0
  17. package/cypress/e2e/rows.test.ts +50 -0
  18. package/cypress/e2e/scroll-bar.test.ts +357 -0
  19. package/cypress/e2e/time-bookmarks.test.ts +92 -0
  20. package/cypress/e2e/utc-mode.test.ts +51 -0
  21. package/cypress/fixtures/example.json +5 -0
  22. package/cypress/helpers.ts +12 -0
  23. package/cypress/plugins/index.js +22 -0
  24. package/cypress/support/commands.ts +175 -0
  25. package/cypress/support/e2e.ts +31 -0
  26. package/cypress.config.js +24 -0
  27. package/dist/api/api.d.ts +182 -0
  28. package/dist/api/helpers.d.ts +9 -0
  29. package/dist/api/id.d.ts +14 -0
  30. package/dist/api/locale.d.ts +3 -0
  31. package/dist/api/main.d.ts +47 -0
  32. package/dist/api/public.d.ts +32 -0
  33. package/dist/api/slots.d.ts +22 -0
  34. package/dist/api/time.d.ts +104 -0
  35. package/dist/assets/2f1f893a.wasm +0 -0
  36. package/dist/gstc.d.ts +708 -0
  37. package/dist/gstc.esm.min.d.ts +708 -0
  38. package/dist/gstc.esm.min.js +574 -0
  39. package/dist/gstc.umd.min.d.ts +708 -0
  40. package/dist/gstc.umd.min.js +701 -0
  41. package/dist/gstc.wasm.esm.min.d.ts +708 -0
  42. package/dist/gstc.wasm.esm.min.js +574 -0
  43. package/dist/gstc.wasm.umd.min.d.ts +708 -0
  44. package/dist/gstc.wasm.umd.min.js +701 -0
  45. package/dist/plugins/calendar-scroll.d.ts +15 -0
  46. package/dist/plugins/calendar-scroll.esm.min.d.ts +15 -0
  47. package/dist/plugins/calendar-scroll.esm.min.js +13 -0
  48. package/dist/plugins/calendar-scroll.umd.min.d.ts +15 -0
  49. package/dist/plugins/calendar-scroll.umd.min.js +13 -0
  50. package/dist/plugins/dependency-lines.d.ts +47 -0
  51. package/dist/plugins/dependency-lines.esm.min.d.ts +47 -0
  52. package/dist/plugins/dependency-lines.esm.min.js +38 -0
  53. package/dist/plugins/dependency-lines.umd.min.d.ts +47 -0
  54. package/dist/plugins/dependency-lines.umd.min.js +38 -0
  55. package/dist/plugins/export-image.d.ts +12 -0
  56. package/dist/plugins/export-image.esm.min.d.ts +12 -0
  57. package/dist/plugins/export-image.esm.min.js +28 -0
  58. package/dist/plugins/export-image.umd.min.d.ts +12 -0
  59. package/dist/plugins/export-image.umd.min.js +34 -0
  60. package/dist/plugins/export-pdf.d.ts +12 -0
  61. package/dist/plugins/export-pdf.esm.min.d.ts +12 -0
  62. package/dist/plugins/export-pdf.esm.min.js +389 -0
  63. package/dist/plugins/export-pdf.umd.min.d.ts +12 -0
  64. package/dist/plugins/export-pdf.umd.min.js +511 -0
  65. package/dist/plugins/grab-scroll.d.ts +14 -0
  66. package/dist/plugins/grab-scroll.esm.min.d.ts +14 -0
  67. package/dist/plugins/grab-scroll.umd.min.d.ts +14 -0
  68. package/dist/plugins/highlight-weekends.d.ts +12 -0
  69. package/dist/plugins/highlight-weekends.esm.min.d.ts +12 -0
  70. package/dist/plugins/highlight-weekends.esm.min.js +14 -0
  71. package/dist/plugins/highlight-weekends.umd.min.d.ts +12 -0
  72. package/dist/plugins/highlight-weekends.umd.min.js +14 -0
  73. package/dist/plugins/item-movement.d.ts +97 -0
  74. package/dist/plugins/item-movement.esm.min.d.ts +97 -0
  75. package/dist/plugins/item-movement.esm.min.js +25 -0
  76. package/dist/plugins/item-movement.umd.min.d.ts +97 -0
  77. package/dist/plugins/item-movement.umd.min.js +25 -0
  78. package/dist/plugins/item-resizing.d.ts +102 -0
  79. package/dist/plugins/item-resizing.esm.min.d.ts +102 -0
  80. package/dist/plugins/item-resizing.esm.min.js +37 -0
  81. package/dist/plugins/item-resizing.umd.min.d.ts +102 -0
  82. package/dist/plugins/item-resizing.umd.min.js +37 -0
  83. package/dist/plugins/item-types.d.ts +13 -0
  84. package/dist/plugins/item-types.esm.min.d.ts +13 -0
  85. package/dist/plugins/item-types.esm.min.js +127 -0
  86. package/dist/plugins/item-types.umd.min.d.ts +13 -0
  87. package/dist/plugins/item-types.umd.min.js +127 -0
  88. package/dist/plugins/progress-bar.d.ts +13 -0
  89. package/dist/plugins/progress-bar.esm.min.d.ts +13 -0
  90. package/dist/plugins/progress-bar.esm.min.js +27 -0
  91. package/dist/plugins/progress-bar.umd.min.d.ts +13 -0
  92. package/dist/plugins/progress-bar.umd.min.js +27 -0
  93. package/dist/plugins/selection.d.ts +94 -0
  94. package/dist/plugins/selection.esm.min.d.ts +94 -0
  95. package/dist/plugins/selection.esm.min.js +26 -0
  96. package/dist/plugins/selection.umd.min.d.ts +94 -0
  97. package/dist/plugins/selection.umd.min.js +26 -0
  98. package/dist/plugins/time-bookmarks.d.ts +38 -0
  99. package/dist/plugins/time-bookmarks.esm.min.d.ts +38 -0
  100. package/dist/plugins/time-bookmarks.esm.min.js +50 -0
  101. package/dist/plugins/time-bookmarks.umd.min.d.ts +38 -0
  102. package/dist/plugins/time-bookmarks.umd.min.js +50 -0
  103. package/dist/plugins/timeline-pointer.d.ts +83 -0
  104. package/dist/plugins/timeline-pointer.esm.min.d.ts +83 -0
  105. package/dist/plugins/timeline-pointer.esm.min.js +13 -0
  106. package/dist/plugins/timeline-pointer.umd.min.d.ts +83 -0
  107. package/dist/plugins/timeline-pointer.umd.min.js +13 -0
  108. package/dist/style.css +811 -0
  109. package/dist/vendor.esm.min.js +128 -0
  110. package/examples/complex-1/faces/face-1.jpg +0 -0
  111. package/examples/complex-1/faces/face-10.jpg +0 -0
  112. package/examples/complex-1/faces/face-11.jpg +0 -0
  113. package/examples/complex-1/faces/face-12.jpg +0 -0
  114. package/examples/complex-1/faces/face-13.jpg +0 -0
  115. package/examples/complex-1/faces/face-14.jpg +0 -0
  116. package/examples/complex-1/faces/face-15.jpg +0 -0
  117. package/examples/complex-1/faces/face-16.jpg +0 -0
  118. package/examples/complex-1/faces/face-17.jpg +0 -0
  119. package/examples/complex-1/faces/face-18.jpg +0 -0
  120. package/examples/complex-1/faces/face-19.jpg +0 -0
  121. package/examples/complex-1/faces/face-2.jpg +0 -0
  122. package/examples/complex-1/faces/face-20.jpg +0 -0
  123. package/examples/complex-1/faces/face-21.jpg +0 -0
  124. package/examples/complex-1/faces/face-22.jpg +0 -0
  125. package/examples/complex-1/faces/face-23.jpg +0 -0
  126. package/examples/complex-1/faces/face-24.jpg +0 -0
  127. package/examples/complex-1/faces/face-25.jpg +0 -0
  128. package/examples/complex-1/faces/face-26.jpg +0 -0
  129. package/examples/complex-1/faces/face-27.jpg +0 -0
  130. package/examples/complex-1/faces/face-28.jpg +0 -0
  131. package/examples/complex-1/faces/face-29.jpg +0 -0
  132. package/examples/complex-1/faces/face-3.jpg +0 -0
  133. package/examples/complex-1/faces/face-30.jpg +0 -0
  134. package/examples/complex-1/faces/face-31.jpg +0 -0
  135. package/examples/complex-1/faces/face-32.jpg +0 -0
  136. package/examples/complex-1/faces/face-33.jpg +0 -0
  137. package/examples/complex-1/faces/face-34.jpg +0 -0
  138. package/examples/complex-1/faces/face-35.jpg +0 -0
  139. package/examples/complex-1/faces/face-36.jpg +0 -0
  140. package/examples/complex-1/faces/face-37.jpg +0 -0
  141. package/examples/complex-1/faces/face-38.jpg +0 -0
  142. package/examples/complex-1/faces/face-39.jpg +0 -0
  143. package/examples/complex-1/faces/face-4.jpg +0 -0
  144. package/examples/complex-1/faces/face-40.jpg +0 -0
  145. package/examples/complex-1/faces/face-41.jpg +0 -0
  146. package/examples/complex-1/faces/face-42.jpg +0 -0
  147. package/examples/complex-1/faces/face-43.jpg +0 -0
  148. package/examples/complex-1/faces/face-44.jpg +0 -0
  149. package/examples/complex-1/faces/face-45.jpg +0 -0
  150. package/examples/complex-1/faces/face-46.jpg +0 -0
  151. package/examples/complex-1/faces/face-47.jpg +0 -0
  152. package/examples/complex-1/faces/face-48.jpg +0 -0
  153. package/examples/complex-1/faces/face-49.jpg +0 -0
  154. package/examples/complex-1/faces/face-5.jpg +0 -0
  155. package/examples/complex-1/faces/face-50.jpg +0 -0
  156. package/examples/complex-1/faces/face-6.jpg +0 -0
  157. package/examples/complex-1/faces/face-7.jpg +0 -0
  158. package/examples/complex-1/faces/face-8.jpg +0 -0
  159. package/examples/complex-1/faces/face-9.jpg +0 -0
  160. package/examples/complex-1/index.html +61 -0
  161. package/examples/complex-1/index.js +923 -0
  162. package/examples/index.html +22 -0
  163. package/examples/reset.css +455 -0
  164. package/examples/server.js +18 -0
  165. package/package.json +150 -0
  166. package/tsconfig.json +17 -0
@@ -0,0 +1,691 @@
1
+ import { DataItems, ItemData } from '../../dist/gstc';
2
+
3
+ describe('Daylight saving time (DST)', () => {
4
+ it('should move item and dependant items over dst properly in days view', () => {
5
+ let state, gstc;
6
+ const cellWidth = 83;
7
+ const itemId = 'gstcid-3';
8
+ cy.load('/examples/complex-1')
9
+ .window()
10
+ .then((win) => {
11
+ // @ts-ignore
12
+ state = win.state;
13
+ // @ts-ignore
14
+ gstc = win.gstc;
15
+ state.update(`config.chart.items`, (items) => {
16
+ const item3 = items['gstcid-3'];
17
+ const item5 = items['gstcid-5'];
18
+ const item7 = items['gstcid-7'];
19
+ const item9 = items['gstcid-9'];
20
+ item3.time.start = gstc.api.time.date('2020-03-16').valueOf();
21
+ item3.time.end = gstc.api.time.date('2020-03-18').endOf('day').valueOf();
22
+ item5.time.start = gstc.api.time.date('2020-03-20').valueOf();
23
+ item5.time.end = gstc.api.time.date('2020-03-22').endOf('day').valueOf();
24
+ item7.time.start = gstc.api.time.date('2020-03-25').valueOf();
25
+ item7.time.end = gstc.api.time.date('2020-03-27').endOf('day').valueOf();
26
+ item9.time.start = gstc.api.time.date('2020-03-24').valueOf();
27
+ item9.time.end = gstc.api.time.date('2020-03-26').endOf('day').valueOf();
28
+ return items;
29
+ });
30
+ gstc.api.scrollToTime(gstc.api.time.date('2020-03-16').valueOf(), false);
31
+ })
32
+ .wait(Cypress.env('wait'))
33
+ .get('#expand-time')
34
+ .click()
35
+ .wait(Cypress.env('wait'))
36
+ .then(() => {
37
+ const items: DataItems = state.get('$data.chart.items');
38
+ const item3 = items['gstcid-3'];
39
+ const item5 = items['gstcid-5'];
40
+ const item7 = items['gstcid-7'];
41
+ const item9 = items['gstcid-9'];
42
+ expect(item3.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-16 00:00:00');
43
+ expect(item3.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-18 23:59:59');
44
+ expect(item5.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-20 00:00:00');
45
+ expect(item5.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-22 23:59:59');
46
+ expect(item7.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-25 00:00:00');
47
+ expect(item7.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-27 23:59:59');
48
+ expect(item9.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-24 00:00:00');
49
+ expect(item9.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-26 23:59:59');
50
+ })
51
+ .move(`.gstc__chart-timeline-items-row-item[data-gstcid="${itemId}"]`, cellWidth, 0)
52
+ .then(() => {
53
+ const items: DataItems = state.get('$data.chart.items');
54
+ const item3 = items['gstcid-3'];
55
+ const item5 = items['gstcid-5'];
56
+ const item7 = items['gstcid-7'];
57
+ const item9 = items['gstcid-9'];
58
+ expect(item3.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-17 00:00:00');
59
+ expect(item3.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-19 23:59:59');
60
+ expect(item5.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-21 00:00:00');
61
+ expect(item5.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-23 23:59:59');
62
+ expect(item7.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-26 00:00:00');
63
+ expect(item7.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-28 23:59:59');
64
+ expect(item9.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-25 00:00:00');
65
+ expect(item9.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-27 23:59:59');
66
+ })
67
+ .move(`.gstc__chart-timeline-items-row-item[data-gstcid="${itemId}"]`, cellWidth, 0)
68
+ .then(() => {
69
+ const items: DataItems = state.get('$data.chart.items');
70
+ const item3 = items['gstcid-3'];
71
+ const item5 = items['gstcid-5'];
72
+ const item7 = items['gstcid-7'];
73
+ const item9 = items['gstcid-9'];
74
+ expect(item3.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-18 00:00:00');
75
+ expect(item3.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-20 23:59:59');
76
+ expect(item5.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-22 00:00:00');
77
+ expect(item5.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-24 23:59:59');
78
+ expect(item7.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-27 00:00:00');
79
+ expect(item7.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-29 23:59:59');
80
+ expect(item9.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-26 00:00:00');
81
+ expect(item9.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-28 23:59:59');
82
+ gstc.api.scrollToTime(gstc.api.time.date('2020-03-18').valueOf(), false);
83
+ })
84
+ .wait(Cypress.env('wait'))
85
+ .move(`.gstc__chart-timeline-items-row-item[data-gstcid="${itemId}"]`, cellWidth, 0)
86
+ .then(() => {
87
+ const items: DataItems = state.get('$data.chart.items');
88
+ const item3 = items['gstcid-3'];
89
+ const item5 = items['gstcid-5'];
90
+ const item7 = items['gstcid-7'];
91
+ const item9 = items['gstcid-9'];
92
+ expect(item3.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-19 00:00:00');
93
+ expect(item3.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-21 23:59:59');
94
+ expect(item5.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-23 00:00:00');
95
+ expect(item5.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-25 23:59:59');
96
+ expect(item7.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-28 00:00:00');
97
+ expect(item7.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-30 23:59:59');
98
+ expect(item9.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-27 00:00:00');
99
+ expect(item9.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-29 23:59:59');
100
+ gstc.api.scrollToTime(gstc.api.time.date('2020-03-19').valueOf(), false);
101
+ })
102
+ .wait(Cypress.env('wait'))
103
+ .move(`.gstc__chart-timeline-items-row-item[data-gstcid="${itemId}"]`, cellWidth, 0)
104
+ .then(() => {
105
+ const items: DataItems = state.get('$data.chart.items');
106
+ const item3 = items['gstcid-3'];
107
+ const item5 = items['gstcid-5'];
108
+ const item7 = items['gstcid-7'];
109
+ const item9 = items['gstcid-9'];
110
+ expect(item3.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-20 00:00:00');
111
+ expect(item3.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-22 23:59:59');
112
+ expect(item5.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-24 00:00:00');
113
+ expect(item5.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-26 23:59:59');
114
+ expect(item7.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-29 00:00:00');
115
+ expect(item7.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-31 23:59:59');
116
+ expect(item9.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-28 00:00:00');
117
+ expect(item9.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-30 23:59:59');
118
+ gstc.api.scrollToTime(gstc.api.time.date('2020-03-20').valueOf(), false);
119
+ })
120
+ .wait(Cypress.env('wait'))
121
+ .move(`.gstc__chart-timeline-items-row-item[data-gstcid="${itemId}"]`, cellWidth, 0)
122
+ .then(() => {
123
+ const items: DataItems = state.get('$data.chart.items');
124
+ const item3 = items['gstcid-3'];
125
+ const item5 = items['gstcid-5'];
126
+ const item7 = items['gstcid-7'];
127
+ const item9 = items['gstcid-9'];
128
+ expect(item3.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-21 00:00:00');
129
+ expect(item3.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-23 23:59:59');
130
+ expect(item5.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-25 00:00:00');
131
+ expect(item5.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-27 23:59:59');
132
+ expect(item7.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-30 00:00:00');
133
+ expect(item7.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-01 23:59:59');
134
+ expect(item9.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-29 00:00:00');
135
+ expect(item9.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-31 23:59:59');
136
+ gstc.api.scrollToTime(gstc.api.time.date('2020-03-21').valueOf(), false);
137
+ })
138
+ .wait(Cypress.env('wait'))
139
+ .move(`.gstc__chart-timeline-items-row-item[data-gstcid="${itemId}"]`, cellWidth, 0)
140
+ .then(() => {
141
+ const items: DataItems = state.get('$data.chart.items');
142
+ const item3 = items['gstcid-3'];
143
+ const item5 = items['gstcid-5'];
144
+ const item7 = items['gstcid-7'];
145
+ const item9 = items['gstcid-9'];
146
+ expect(item3.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-22 00:00:00');
147
+ expect(item3.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-24 23:59:59');
148
+ expect(item5.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-26 00:00:00');
149
+ expect(item5.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-28 23:59:59');
150
+ expect(item7.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-31 00:00:00');
151
+ expect(item7.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-02 23:59:59');
152
+ expect(item9.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-30 00:00:00');
153
+ expect(item9.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-01 23:59:59');
154
+ gstc.api.scrollToTime(gstc.api.time.date('2020-03-22').valueOf(), false);
155
+ })
156
+ .wait(Cypress.env('wait'))
157
+ .move(`.gstc__chart-timeline-items-row-item[data-gstcid="${itemId}"]`, cellWidth, 0)
158
+ .then(() => {
159
+ const items: DataItems = state.get('$data.chart.items');
160
+ const item3 = items['gstcid-3'];
161
+ const item5 = items['gstcid-5'];
162
+ const item7 = items['gstcid-7'];
163
+ const item9 = items['gstcid-9'];
164
+ expect(item3.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-23 00:00:00');
165
+ expect(item3.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-25 23:59:59');
166
+ expect(item5.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-27 00:00:00');
167
+ expect(item5.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-29 23:59:59');
168
+ expect(item7.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-01 00:00:00');
169
+ expect(item7.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-03 23:59:59');
170
+ expect(item9.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-31 00:00:00');
171
+ expect(item9.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-02 23:59:59');
172
+ gstc.api.scrollToTime(gstc.api.time.date('2020-03-23').valueOf(), false);
173
+ })
174
+ .wait(Cypress.env('wait'))
175
+ .move(`.gstc__chart-timeline-items-row-item[data-gstcid="${itemId}"]`, cellWidth, 0)
176
+ .then(() => {
177
+ const items: DataItems = state.get('$data.chart.items');
178
+ const item3 = items['gstcid-3'];
179
+ const item5 = items['gstcid-5'];
180
+ const item7 = items['gstcid-7'];
181
+ const item9 = items['gstcid-9'];
182
+ expect(item3.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-24 00:00:00');
183
+ expect(item3.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-26 23:59:59');
184
+ expect(item5.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-28 00:00:00');
185
+ expect(item5.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-30 23:59:59');
186
+ expect(item7.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-02 00:00:00');
187
+ expect(item7.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-04 23:59:59');
188
+ expect(item9.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-01 00:00:00');
189
+ expect(item9.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-03 23:59:59');
190
+ gstc.api.scrollToTime(gstc.api.time.date('2020-03-24').valueOf(), false);
191
+ })
192
+ .wait(Cypress.env('wait'))
193
+ .move(`.gstc__chart-timeline-items-row-item[data-gstcid="${itemId}"]`, cellWidth, 0)
194
+ .then(() => {
195
+ const items: DataItems = state.get('$data.chart.items');
196
+ const item3 = items['gstcid-3'];
197
+ const item5 = items['gstcid-5'];
198
+ const item7 = items['gstcid-7'];
199
+ const item9 = items['gstcid-9'];
200
+ expect(item3.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-25 00:00:00');
201
+ expect(item3.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-27 23:59:59');
202
+ expect(item5.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-29 00:00:00');
203
+ expect(item5.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-31 23:59:59');
204
+ expect(item7.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-03 00:00:00');
205
+ expect(item7.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-05 23:59:59');
206
+ expect(item9.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-02 00:00:00');
207
+ expect(item9.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-04 23:59:59');
208
+ gstc.api.scrollToTime(gstc.api.time.date('2020-03-25').valueOf(), false);
209
+ })
210
+ .wait(Cypress.env('wait'))
211
+ .move(`.gstc__chart-timeline-items-row-item[data-gstcid="${itemId}"]`, cellWidth, 0)
212
+ .then(() => {
213
+ const items: DataItems = state.get('$data.chart.items');
214
+ const item3 = items['gstcid-3'];
215
+ const item5 = items['gstcid-5'];
216
+ const item7 = items['gstcid-7'];
217
+ const item9 = items['gstcid-9'];
218
+ expect(item3.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-26 00:00:00');
219
+ expect(item3.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-28 23:59:59');
220
+ expect(item5.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-30 00:00:00');
221
+ expect(item5.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-01 23:59:59');
222
+ expect(item7.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-04 00:00:00');
223
+ expect(item7.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-06 23:59:59');
224
+ expect(item9.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-03 00:00:00');
225
+ expect(item9.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-05 23:59:59');
226
+ gstc.api.scrollToTime(gstc.api.time.date('2020-03-26').valueOf(), false);
227
+ })
228
+ .wait(Cypress.env('wait'))
229
+ .move(`.gstc__chart-timeline-items-row-item[data-gstcid="${itemId}"]`, cellWidth, 0)
230
+ .then(() => {
231
+ const items: DataItems = state.get('$data.chart.items');
232
+ const item3 = items['gstcid-3'];
233
+ const item5 = items['gstcid-5'];
234
+ const item7 = items['gstcid-7'];
235
+ const item9 = items['gstcid-9'];
236
+ expect(item3.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-27 00:00:00');
237
+ expect(item3.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-29 23:59:59');
238
+ expect(item5.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-31 00:00:00');
239
+ expect(item5.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-02 23:59:59');
240
+ expect(item7.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-05 00:00:00');
241
+ expect(item7.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-07 23:59:59');
242
+ expect(item9.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-04 00:00:00');
243
+ expect(item9.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-06 23:59:59');
244
+ gstc.api.scrollToTime(gstc.api.time.date('2020-03-27').valueOf(), false);
245
+ })
246
+ .wait(Cypress.env('wait'))
247
+ .move(`.gstc__chart-timeline-items-row-item[data-gstcid="${itemId}"]`, cellWidth, 0)
248
+ .then(() => {
249
+ const items: DataItems = state.get('$data.chart.items');
250
+ const item3 = items['gstcid-3'];
251
+ const item5 = items['gstcid-5'];
252
+ const item7 = items['gstcid-7'];
253
+ const item9 = items['gstcid-9'];
254
+ expect(item3.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-28 00:00:00');
255
+ expect(item3.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-30 23:59:59');
256
+ expect(item5.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-01 00:00:00');
257
+ expect(item5.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-03 23:59:59');
258
+ expect(item7.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-06 00:00:00');
259
+ expect(item7.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-08 23:59:59');
260
+ expect(item9.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-05 00:00:00');
261
+ expect(item9.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-07 23:59:59');
262
+ gstc.api.scrollToTime(gstc.api.time.date('2020-03-28').valueOf(), false);
263
+ })
264
+ .wait(Cypress.env('wait'))
265
+ .move(`.gstc__chart-timeline-items-row-item[data-gstcid="${itemId}"]`, cellWidth, 0)
266
+ .then(() => {
267
+ const items: DataItems = state.get('$data.chart.items');
268
+ const item3 = items['gstcid-3'];
269
+ const item5 = items['gstcid-5'];
270
+ const item7 = items['gstcid-7'];
271
+ const item9 = items['gstcid-9'];
272
+ expect(item3.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-29 00:00:00');
273
+ expect(item3.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-31 23:59:59');
274
+ expect(item5.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-02 00:00:00');
275
+ expect(item5.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-04 23:59:59');
276
+ expect(item7.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-07 00:00:00');
277
+ expect(item7.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-09 23:59:59');
278
+ expect(item9.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-06 00:00:00');
279
+ expect(item9.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-08 23:59:59');
280
+ gstc.api.scrollToTime(gstc.api.time.date('2020-03-29').valueOf(), false);
281
+ })
282
+ .wait(Cypress.env('wait'))
283
+ .move(`.gstc__chart-timeline-items-row-item[data-gstcid="${itemId}"]`, cellWidth, 0)
284
+ .then(() => {
285
+ const items: DataItems = state.get('$data.chart.items');
286
+ const item3 = items['gstcid-3'];
287
+ const item5 = items['gstcid-5'];
288
+ const item7 = items['gstcid-7'];
289
+ const item9 = items['gstcid-9'];
290
+ expect(item3.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-30 00:00:00');
291
+ expect(item3.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-01 23:59:59');
292
+ expect(item5.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-03 00:00:00');
293
+ expect(item5.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-05 23:59:59');
294
+ expect(item7.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-08 00:00:00');
295
+ expect(item7.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-10 23:59:59');
296
+ expect(item9.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-07 00:00:00');
297
+ expect(item9.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-09 23:59:59');
298
+ });
299
+ });
300
+
301
+ it('should move item and dependant items over dst properly in days view (without expanding view)', () => {
302
+ let state, gstc;
303
+ const cellWidth = 83;
304
+ const itemId = 'gstcid-3';
305
+ cy.load('/examples/complex-1')
306
+ .window()
307
+ .then((win) => {
308
+ // @ts-ignore
309
+ state = win.state;
310
+ // @ts-ignore
311
+ gstc = win.gstc;
312
+ state.update(`config.chart.items`, (items) => {
313
+ const item3 = items['gstcid-3'];
314
+ const item5 = items['gstcid-5'];
315
+ const item7 = items['gstcid-7'];
316
+ const item9 = items['gstcid-9'];
317
+ item3.time.start = gstc.api.time.date('2020-03-16').valueOf();
318
+ item3.time.end = gstc.api.time.date('2020-03-18').endOf('day').valueOf();
319
+ item5.time.start = gstc.api.time.date('2020-03-20').valueOf();
320
+ item5.time.end = gstc.api.time.date('2020-03-22').endOf('day').valueOf();
321
+ item7.time.start = gstc.api.time.date('2020-03-25').valueOf();
322
+ item7.time.end = gstc.api.time.date('2020-03-27').endOf('day').valueOf();
323
+ item9.time.start = gstc.api.time.date('2020-03-24').valueOf();
324
+ item9.time.end = gstc.api.time.date('2020-03-26').endOf('day').valueOf();
325
+ return items;
326
+ });
327
+ gstc.api.scrollToTime(gstc.api.time.date('2020-03-16').valueOf(), false);
328
+ })
329
+ .wait(Cypress.env('wait'))
330
+ .then(() => {
331
+ const items: DataItems = state.get('$data.chart.items');
332
+ const item3 = items['gstcid-3'];
333
+ const item5 = items['gstcid-5'];
334
+ const item7 = items['gstcid-7'];
335
+ const item9 = items['gstcid-9'];
336
+ expect(item3.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-16 00:00:00');
337
+ expect(item3.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-18 23:59:59');
338
+ expect(item5.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-20 00:00:00');
339
+ expect(item5.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-22 23:59:59');
340
+ expect(item7.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-25 00:00:00');
341
+ expect(item7.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-27 23:59:59');
342
+ expect(item9.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-24 00:00:00');
343
+ expect(item9.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-26 23:59:59');
344
+ })
345
+ .move(`.gstc__chart-timeline-items-row-item[data-gstcid="${itemId}"]`, cellWidth, 0)
346
+ .then(() => {
347
+ const items: DataItems = state.get('$data.chart.items');
348
+ const item3 = items['gstcid-3'];
349
+ const item5 = items['gstcid-5'];
350
+ const item7 = items['gstcid-7'];
351
+ const item9 = items['gstcid-9'];
352
+ expect(item3.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-17 00:00:00');
353
+ expect(item3.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-19 23:59:59');
354
+ expect(item5.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-21 00:00:00');
355
+ expect(item5.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-23 23:59:59');
356
+ expect(item7.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-26 00:00:00');
357
+ expect(item7.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-28 23:59:59');
358
+ expect(item9.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-25 00:00:00');
359
+ expect(item9.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-27 23:59:59');
360
+ })
361
+ .move(`.gstc__chart-timeline-items-row-item[data-gstcid="${itemId}"]`, cellWidth, 0)
362
+ .then(() => {
363
+ const items: DataItems = state.get('$data.chart.items');
364
+ const item3 = items['gstcid-3'];
365
+ const item5 = items['gstcid-5'];
366
+ const item7 = items['gstcid-7'];
367
+ const item9 = items['gstcid-9'];
368
+ expect(item3.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-18 00:00:00');
369
+ expect(item3.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-20 23:59:59');
370
+ expect(item5.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-22 00:00:00');
371
+ expect(item5.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-24 23:59:59');
372
+ expect(item7.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-27 00:00:00');
373
+ expect(item7.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-29 23:59:59');
374
+ expect(item9.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-26 00:00:00');
375
+ expect(item9.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-28 23:59:59');
376
+ gstc.api.scrollToTime(gstc.api.time.date('2020-03-18').valueOf(), false);
377
+ })
378
+ .wait(Cypress.env('wait'))
379
+ .move(`.gstc__chart-timeline-items-row-item[data-gstcid="${itemId}"]`, cellWidth, 0)
380
+ .then(() => {
381
+ const items: DataItems = state.get('$data.chart.items');
382
+ const item3 = items['gstcid-3'];
383
+ const item5 = items['gstcid-5'];
384
+ const item7 = items['gstcid-7'];
385
+ const item9 = items['gstcid-9'];
386
+ expect(item3.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-19 00:00:00');
387
+ expect(item3.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-21 23:59:59');
388
+ expect(item5.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-23 00:00:00');
389
+ expect(item5.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-25 23:59:59');
390
+ expect(item7.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-28 00:00:00');
391
+ expect(item7.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-30 23:59:59');
392
+ expect(item9.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-27 00:00:00');
393
+ expect(item9.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-29 23:59:59');
394
+ gstc.api.scrollToTime(gstc.api.time.date('2020-03-19').valueOf(), false);
395
+ })
396
+ .wait(Cypress.env('wait'))
397
+ .move(`.gstc__chart-timeline-items-row-item[data-gstcid="${itemId}"]`, cellWidth, 0)
398
+ .then(() => {
399
+ const items: DataItems = state.get('$data.chart.items');
400
+ const item3 = items['gstcid-3'];
401
+ const item5 = items['gstcid-5'];
402
+ const item7 = items['gstcid-7'];
403
+ const item9 = items['gstcid-9'];
404
+ expect(item3.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-20 00:00:00');
405
+ expect(item3.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-22 23:59:59');
406
+ expect(item5.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-24 00:00:00');
407
+ expect(item5.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-26 23:59:59');
408
+ expect(item7.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-29 00:00:00');
409
+ expect(item7.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-31 23:59:59');
410
+ expect(item9.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-28 00:00:00');
411
+ expect(item9.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-30 23:59:59');
412
+ gstc.api.scrollToTime(gstc.api.time.date('2020-03-20').valueOf(), false);
413
+ })
414
+ .wait(Cypress.env('wait'))
415
+ .move(`.gstc__chart-timeline-items-row-item[data-gstcid="${itemId}"]`, cellWidth, 0)
416
+ .then(() => {
417
+ const items: DataItems = state.get('$data.chart.items');
418
+ const item3 = items['gstcid-3'];
419
+ const item5 = items['gstcid-5'];
420
+ const item7 = items['gstcid-7'];
421
+ const item9 = items['gstcid-9'];
422
+ expect(item3.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-21 00:00:00');
423
+ expect(item3.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-23 23:59:59');
424
+ expect(item5.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-25 00:00:00');
425
+ expect(item5.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-27 23:59:59');
426
+ expect(item7.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-30 00:00:00');
427
+ expect(item7.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-01 23:59:59');
428
+ expect(item9.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-29 00:00:00');
429
+ expect(item9.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-31 23:59:59');
430
+ gstc.api.scrollToTime(gstc.api.time.date('2020-03-21').valueOf(), false);
431
+ })
432
+ .wait(Cypress.env('wait'))
433
+ .move(`.gstc__chart-timeline-items-row-item[data-gstcid="${itemId}"]`, cellWidth, 0)
434
+ .then(() => {
435
+ const items: DataItems = state.get('$data.chart.items');
436
+ const item3 = items['gstcid-3'];
437
+ const item5 = items['gstcid-5'];
438
+ const item7 = items['gstcid-7'];
439
+ const item9 = items['gstcid-9'];
440
+ expect(item3.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-22 00:00:00');
441
+ expect(item3.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-24 23:59:59');
442
+ expect(item5.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-26 00:00:00');
443
+ expect(item5.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-28 23:59:59');
444
+ expect(item7.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-31 00:00:00');
445
+ expect(item7.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-02 23:59:59');
446
+ expect(item9.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-30 00:00:00');
447
+ expect(item9.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-01 23:59:59');
448
+ gstc.api.scrollToTime(gstc.api.time.date('2020-03-22').valueOf(), false);
449
+ })
450
+ .wait(Cypress.env('wait'))
451
+ .move(`.gstc__chart-timeline-items-row-item[data-gstcid="${itemId}"]`, cellWidth, 0)
452
+ .then(() => {
453
+ const items: DataItems = state.get('$data.chart.items');
454
+ const item3 = items['gstcid-3'];
455
+ const item5 = items['gstcid-5'];
456
+ const item7 = items['gstcid-7'];
457
+ const item9 = items['gstcid-9'];
458
+ expect(item3.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-23 00:00:00');
459
+ expect(item3.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-25 23:59:59');
460
+ expect(item5.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-27 00:00:00');
461
+ expect(item5.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-29 23:59:59');
462
+ expect(item7.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-01 00:00:00');
463
+ expect(item7.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-03 23:59:59');
464
+ expect(item9.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-31 00:00:00');
465
+ expect(item9.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-02 23:59:59');
466
+ gstc.api.scrollToTime(gstc.api.time.date('2020-03-23').valueOf(), false);
467
+ })
468
+ .wait(Cypress.env('wait'))
469
+ .move(`.gstc__chart-timeline-items-row-item[data-gstcid="${itemId}"]`, cellWidth, 0)
470
+ .then(() => {
471
+ const items: DataItems = state.get('$data.chart.items');
472
+ const item3 = items['gstcid-3'];
473
+ const item5 = items['gstcid-5'];
474
+ const item7 = items['gstcid-7'];
475
+ const item9 = items['gstcid-9'];
476
+ expect(item3.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-24 00:00:00');
477
+ expect(item3.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-26 23:59:59');
478
+ expect(item5.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-28 00:00:00');
479
+ expect(item5.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-30 23:59:59');
480
+ expect(item7.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-02 00:00:00');
481
+ expect(item7.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-04 23:59:59');
482
+ expect(item9.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-01 00:00:00');
483
+ expect(item9.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-03 23:59:59');
484
+ gstc.api.scrollToTime(gstc.api.time.date('2020-03-24').valueOf(), false);
485
+ })
486
+ .wait(Cypress.env('wait'))
487
+ .move(`.gstc__chart-timeline-items-row-item[data-gstcid="${itemId}"]`, cellWidth, 0)
488
+ .then(() => {
489
+ const items: DataItems = state.get('$data.chart.items');
490
+ const item3 = items['gstcid-3'];
491
+ const item5 = items['gstcid-5'];
492
+ const item7 = items['gstcid-7'];
493
+ const item9 = items['gstcid-9'];
494
+ expect(item3.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-25 00:00:00');
495
+ expect(item3.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-27 23:59:59');
496
+ expect(item5.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-29 00:00:00');
497
+ expect(item5.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-31 23:59:59');
498
+ expect(item7.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-03 00:00:00');
499
+ expect(item7.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-05 23:59:59');
500
+ expect(item9.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-02 00:00:00');
501
+ expect(item9.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-04 23:59:59');
502
+ gstc.api.scrollToTime(gstc.api.time.date('2020-03-25').valueOf(), false);
503
+ })
504
+ .wait(Cypress.env('wait'))
505
+ .move(`.gstc__chart-timeline-items-row-item[data-gstcid="${itemId}"]`, cellWidth, 0)
506
+ .then(() => {
507
+ const items: DataItems = state.get('$data.chart.items');
508
+ const item3 = items['gstcid-3'];
509
+ const item5 = items['gstcid-5'];
510
+ const item7 = items['gstcid-7'];
511
+ const item9 = items['gstcid-9'];
512
+ expect(item3.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-26 00:00:00');
513
+ expect(item3.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-28 23:59:59');
514
+ expect(item5.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-30 00:00:00');
515
+ expect(item5.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-01 23:59:59');
516
+ expect(item7.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-04 00:00:00');
517
+ expect(item7.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-06 23:59:59');
518
+ expect(item9.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-03 00:00:00');
519
+ expect(item9.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-05 23:59:59');
520
+ gstc.api.scrollToTime(gstc.api.time.date('2020-03-26').valueOf(), false);
521
+ })
522
+ .wait(Cypress.env('wait'))
523
+ .move(`.gstc__chart-timeline-items-row-item[data-gstcid="${itemId}"]`, cellWidth, 0)
524
+ .then(() => {
525
+ const items: DataItems = state.get('$data.chart.items');
526
+ const item3 = items['gstcid-3'];
527
+ const item5 = items['gstcid-5'];
528
+ const item7 = items['gstcid-7'];
529
+ const item9 = items['gstcid-9'];
530
+ expect(item3.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-27 00:00:00');
531
+ expect(item3.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-29 23:59:59');
532
+ expect(item5.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-31 00:00:00');
533
+ expect(item5.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-02 23:59:59');
534
+ expect(item7.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-05 00:00:00');
535
+ expect(item7.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-07 23:59:59');
536
+ expect(item9.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-04 00:00:00');
537
+ expect(item9.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-06 23:59:59');
538
+ gstc.api.scrollToTime(gstc.api.time.date('2020-03-27').valueOf(), false);
539
+ })
540
+ .wait(Cypress.env('wait'))
541
+ .move(`.gstc__chart-timeline-items-row-item[data-gstcid="${itemId}"]`, cellWidth, 0)
542
+ .then(() => {
543
+ const items: DataItems = state.get('$data.chart.items');
544
+ const item3 = items['gstcid-3'];
545
+ const item5 = items['gstcid-5'];
546
+ const item7 = items['gstcid-7'];
547
+ const item9 = items['gstcid-9'];
548
+ expect(item3.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-28 00:00:00');
549
+ expect(item3.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-30 23:59:59');
550
+ expect(item5.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-01 00:00:00');
551
+ expect(item5.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-03 23:59:59');
552
+ expect(item7.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-06 00:00:00');
553
+ expect(item7.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-08 23:59:59');
554
+ expect(item9.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-05 00:00:00');
555
+ expect(item9.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-07 23:59:59');
556
+ gstc.api.scrollToTime(gstc.api.time.date('2020-03-28').valueOf(), false);
557
+ })
558
+ .wait(Cypress.env('wait'))
559
+ .move(`.gstc__chart-timeline-items-row-item[data-gstcid="${itemId}"]`, cellWidth, 0)
560
+ .then(() => {
561
+ const items: DataItems = state.get('$data.chart.items');
562
+ const item3 = items['gstcid-3'];
563
+ const item5 = items['gstcid-5'];
564
+ const item7 = items['gstcid-7'];
565
+ const item9 = items['gstcid-9'];
566
+ expect(item3.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-29 00:00:00');
567
+ expect(item3.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-31 23:59:59');
568
+ expect(item5.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-02 00:00:00');
569
+ expect(item5.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-04 23:59:59');
570
+ expect(item7.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-07 00:00:00');
571
+ expect(item7.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-09 23:59:59');
572
+ expect(item9.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-06 00:00:00');
573
+ expect(item9.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-08 23:59:59');
574
+ gstc.api.scrollToTime(gstc.api.time.date('2020-03-29').valueOf(), false);
575
+ })
576
+ .wait(Cypress.env('wait'))
577
+ .move(`.gstc__chart-timeline-items-row-item[data-gstcid="${itemId}"]`, cellWidth, 0)
578
+ .then(() => {
579
+ const items: DataItems = state.get('$data.chart.items');
580
+ const item3 = items['gstcid-3'];
581
+ const item5 = items['gstcid-5'];
582
+ const item7 = items['gstcid-7'];
583
+ const item9 = items['gstcid-9'];
584
+ expect(item3.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-30 00:00:00');
585
+ expect(item3.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-01 23:59:59');
586
+ expect(item5.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-03 00:00:00');
587
+ expect(item5.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-05 23:59:59');
588
+ expect(item7.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-08 00:00:00');
589
+ expect(item7.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-10 23:59:59');
590
+ expect(item9.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-07 00:00:00');
591
+ expect(item9.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-09 23:59:59');
592
+ });
593
+ });
594
+
595
+ it('should move item over dst day in month view', () => {
596
+ let state, gstc;
597
+ const cellWidth = 38;
598
+ const itemId = 'gstcid-15';
599
+ cy.load('/examples/complex-1')
600
+ .window()
601
+ .then((win) => {
602
+ // @ts-ignore
603
+ state = win.state;
604
+ // @ts-ignore
605
+ gstc = win.gstc;
606
+ })
607
+ .get('#zoom')
608
+ .select('months')
609
+ .wait(Cypress.env('wait'))
610
+ .then(() => {
611
+ state.update(`config.chart.items.${itemId}`, (item) => {
612
+ item.time.start = gstc.api.time.date('2020-01-01').valueOf();
613
+ item.time.end = gstc.api.time.date('2020-01-01').endOf('month').valueOf();
614
+ return item;
615
+ });
616
+ gstc.api.scrollToTime(gstc.api.time.date('2020-01-01').valueOf(), false);
617
+ })
618
+ .wait(Cypress.env('wait'))
619
+ .then(() => {
620
+ const itemData: ItemData = state.get(`$data.chart.items.${itemId}`);
621
+ expect(itemData.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-01-01 00:00:00');
622
+ expect(itemData.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-01-31 23:59:59');
623
+ })
624
+ .move(`.gstc__chart-timeline-items-row-item[data-gstcid="${itemId}"]`, cellWidth, 0)
625
+ .then(() => {
626
+ const itemData: ItemData = state.get(`$data.chart.items.${itemId}`);
627
+ expect(itemData.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-02-01 00:00:00');
628
+ expect(itemData.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-02 23:59:59');
629
+ })
630
+ .move(`.gstc__chart-timeline-items-row-item[data-gstcid="${itemId}"]`, cellWidth, 0)
631
+ .then(() => {
632
+ const itemData: ItemData = state.get(`$data.chart.items.${itemId}`);
633
+ expect(itemData.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-01 00:00:00');
634
+ expect(itemData.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-03-31 23:59:59');
635
+ })
636
+ .move(`.gstc__chart-timeline-items-row-item[data-gstcid="${itemId}"]`, cellWidth, 0)
637
+ .then(() => {
638
+ const itemData: ItemData = state.get(`$data.chart.items.${itemId}`);
639
+ expect(itemData.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-04-01 00:00:00');
640
+ expect(itemData.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-05-01 23:59:59');
641
+ })
642
+ .move(`.gstc__chart-timeline-items-row-item[data-gstcid="${itemId}"]`, cellWidth, 0)
643
+ .then(() => {
644
+ const itemData: ItemData = state.get(`$data.chart.items.${itemId}`);
645
+ expect(itemData.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-05-01 00:00:00');
646
+ expect(itemData.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-05-31 23:59:59');
647
+ })
648
+ .move(`.gstc__chart-timeline-items-row-item[data-gstcid="${itemId}"]`, cellWidth, 0)
649
+ .then(() => {
650
+ const itemData: ItemData = state.get(`$data.chart.items.${itemId}`);
651
+ expect(itemData.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-06-01 00:00:00');
652
+ expect(itemData.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-07-01 23:59:59');
653
+ })
654
+ .move(`.gstc__chart-timeline-items-row-item[data-gstcid="${itemId}"]`, cellWidth, 0)
655
+ .then(() => {
656
+ const itemData: ItemData = state.get(`$data.chart.items.${itemId}`);
657
+ expect(itemData.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-07-01 00:00:00');
658
+ expect(itemData.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-07-31 23:59:59');
659
+ })
660
+ .move(`.gstc__chart-timeline-items-row-item[data-gstcid="${itemId}"]`, cellWidth, 0)
661
+ .then(() => {
662
+ const itemData: ItemData = state.get(`$data.chart.items.${itemId}`);
663
+ expect(itemData.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-08-01 00:00:00');
664
+ expect(itemData.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-08-31 23:59:59');
665
+ })
666
+ .move(`.gstc__chart-timeline-items-row-item[data-gstcid="${itemId}"]`, cellWidth, 0)
667
+ .then(() => {
668
+ const itemData: ItemData = state.get(`$data.chart.items.${itemId}`);
669
+ expect(itemData.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-09-01 00:00:00');
670
+ expect(itemData.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-10-01 23:59:59');
671
+ })
672
+ .move(`.gstc__chart-timeline-items-row-item[data-gstcid="${itemId}"]`, cellWidth, 0)
673
+ .then(() => {
674
+ const itemData: ItemData = state.get(`$data.chart.items.${itemId}`);
675
+ expect(itemData.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-10-01 00:00:00');
676
+ expect(itemData.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-10-31 23:59:59');
677
+ })
678
+ .move(`.gstc__chart-timeline-items-row-item[data-gstcid="${itemId}"]`, cellWidth, 0)
679
+ .then(() => {
680
+ const itemData: ItemData = state.get(`$data.chart.items.${itemId}`);
681
+ expect(itemData.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-11-01 00:00:00');
682
+ expect(itemData.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-12-01 23:59:59');
683
+ })
684
+ .move(`.gstc__chart-timeline-items-row-item[data-gstcid="${itemId}"]`, cellWidth, 0)
685
+ .then(() => {
686
+ const itemData: ItemData = state.get(`$data.chart.items.${itemId}`);
687
+ expect(itemData.time.startDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-12-01 00:00:00');
688
+ expect(itemData.time.endDate.format('YYYY-MM-DD HH:mm:ss')).to.eq('2020-12-31 23:59:59');
689
+ });
690
+ });
691
+ });