@worktile/gantt 12.0.0 → 12.0.1

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 (230) hide show
  1. package/.all-contributorsrc +53 -0
  2. package/.angulardoc.json +4 -0
  3. package/.circleci/config.yml +17 -0
  4. package/.coveralls.yml +1 -0
  5. package/.docgenirc.js +64 -0
  6. package/.editorconfig +22 -0
  7. package/.prettierrc +24 -0
  8. package/.travis.yml +23 -0
  9. package/CHANGELOG.md +564 -0
  10. package/Dockerfile +4 -0
  11. package/LICENSE +21 -0
  12. package/README.md +116 -13
  13. package/angular.json +136 -0
  14. package/docs/guides/basic/components.md +54 -0
  15. package/docs/guides/basic/event.md +70 -0
  16. package/docs/guides/basic/index.md +4 -0
  17. package/docs/guides/basic/style.md +68 -0
  18. package/docs/guides/basic/type.md +70 -0
  19. package/docs/guides/basic/usage.md +189 -0
  20. package/docs/guides/index.md +5 -0
  21. package/docs/guides/intro/getting-started.md +79 -0
  22. package/docs/guides/intro/index.md +51 -0
  23. package/docs/index.md +0 -0
  24. package/example/browserslist +12 -0
  25. package/example/src/app/app-routing.module.ts +26 -0
  26. package/example/src/app/app.component.html +2 -0
  27. package/example/src/app/app.component.ts +11 -0
  28. package/example/src/app/app.module.ts +57 -0
  29. package/example/src/app/components/components.component.html +6 -0
  30. package/example/src/app/components/components.component.ts +33 -0
  31. package/example/src/app/configuration/parameters/api/zh-cn.js +350 -0
  32. package/example/src/app/configuration/parameters/doc/zh-cn.md +5 -0
  33. package/example/src/app/gantt/gantt.component.html +51 -0
  34. package/example/src/app/gantt/gantt.component.ts +119 -0
  35. package/example/src/app/gantt-advanced/component/flat.component.html +30 -0
  36. package/example/src/app/gantt-advanced/component/flat.component.ts +72 -0
  37. package/example/src/app/gantt-advanced/component/flat.scss +31 -0
  38. package/example/src/app/gantt-advanced/gantt-advanced.component.html +32 -0
  39. package/example/src/app/gantt-advanced/gantt-advanced.component.ts +34 -0
  40. package/example/src/app/gantt-advanced/mocks.ts +158 -0
  41. package/example/src/app/gantt-groups/gantt-groups.component.html +42 -0
  42. package/example/src/app/gantt-groups/gantt-groups.component.ts +62 -0
  43. package/example/src/app/gantt-range/gantt-range.component.html +66 -0
  44. package/example/src/app/gantt-range/gantt-range.component.ts +67 -0
  45. package/example/src/app/gantt-range/mocks.ts +150 -0
  46. package/example/src/app/helper.ts +38 -0
  47. package/example/src/assets/.gitkeep +0 -0
  48. package/example/src/environments/environment.prod.ts +3 -0
  49. package/example/src/environments/environment.ts +16 -0
  50. package/example/src/favicon.ico +0 -0
  51. package/example/src/index.html +13 -0
  52. package/example/src/main.ts +12 -0
  53. package/example/src/polyfills.ts +63 -0
  54. package/example/src/styles.scss +56 -0
  55. package/example/tsconfig.app.json +18 -0
  56. package/nginx.conf +17 -0
  57. package/package.json +113 -17
  58. package/packages/gantt/README.md +24 -0
  59. package/packages/gantt/karma.conf.js +46 -0
  60. package/packages/gantt/ng-package.json +7 -0
  61. package/packages/gantt/ng-package.prod.json +7 -0
  62. package/packages/gantt/package.json +16 -0
  63. package/packages/gantt/src/class/date-point.ts +14 -0
  64. package/{class/event.d.ts → packages/gantt/src/class/event.ts} +12 -6
  65. package/packages/gantt/src/class/group.ts +36 -0
  66. package/{class/index.d.ts → packages/gantt/src/class/index.ts} +0 -0
  67. package/packages/gantt/src/class/item.ts +129 -0
  68. package/packages/gantt/src/class/test/group.spec.ts +21 -0
  69. package/packages/gantt/src/class/test/item.spec.ts +102 -0
  70. package/packages/gantt/src/class/view-type.ts +7 -0
  71. package/packages/gantt/src/components/bar/bar-drag.ts +298 -0
  72. package/packages/gantt/src/components/bar/bar.component.html +17 -0
  73. package/packages/gantt/src/components/bar/bar.component.scss +169 -0
  74. package/packages/gantt/src/components/bar/bar.component.ts +109 -0
  75. package/packages/gantt/src/components/bar/test/bar.component.spec.ts +54 -0
  76. package/packages/gantt/src/components/bar/test/bar.drag.spec.ts +196 -0
  77. package/packages/gantt/src/components/calendar/calendar.component.html +52 -0
  78. package/packages/gantt/src/components/calendar/calendar.component.scss +77 -0
  79. package/packages/gantt/src/components/calendar/calendar.component.ts +100 -0
  80. package/packages/gantt/src/components/drag-backdrop/drag-backdrop.component.html +6 -0
  81. package/packages/gantt/src/components/drag-backdrop/drag-backdrop.component.scss +48 -0
  82. package/packages/gantt/src/components/drag-backdrop/drag-backdrop.component.ts +13 -0
  83. package/packages/gantt/src/components/icon/icon.component.scss +13 -0
  84. package/packages/gantt/src/components/icon/icon.component.ts +28 -0
  85. package/packages/gantt/src/components/icon/icons.ts +86 -0
  86. package/packages/gantt/src/components/links/links.component.html +19 -0
  87. package/packages/gantt/src/components/links/links.component.scss +27 -0
  88. package/packages/gantt/src/components/links/links.component.ts +263 -0
  89. package/packages/gantt/src/components/main/gantt-main.component.html +35 -0
  90. package/packages/gantt/src/components/main/gantt-main.component.ts +35 -0
  91. package/packages/gantt/src/components/range/range.component.html +8 -0
  92. package/packages/gantt/src/components/range/range.component.scss +35 -0
  93. package/packages/gantt/src/components/range/range.component.ts +27 -0
  94. package/packages/gantt/src/components/range/test/range.component.spec.ts +80 -0
  95. package/packages/gantt/src/components/table/gantt-table.component.html +105 -0
  96. package/packages/gantt/src/components/table/gantt-table.component.scss +144 -0
  97. package/packages/gantt/src/components/table/gantt-table.component.ts +166 -0
  98. package/packages/gantt/src/components/table/test/table.spec.ts +129 -0
  99. package/packages/gantt/src/gantt-abstract.ts +14 -0
  100. package/packages/gantt/src/gantt-dom.service.ts +134 -0
  101. package/packages/gantt/src/gantt-drag-container.ts +73 -0
  102. package/packages/gantt/src/gantt-item-upper.ts +50 -0
  103. package/packages/gantt/src/gantt-print.service.ts +104 -0
  104. package/packages/gantt/src/gantt-upper.ts +289 -0
  105. package/packages/gantt/src/gantt.component.html +18 -0
  106. package/packages/gantt/src/gantt.component.scss +77 -0
  107. package/packages/gantt/src/gantt.component.ts +134 -0
  108. package/packages/gantt/src/gantt.module.ts +47 -0
  109. package/packages/gantt/src/gantt.pipe.ts +31 -0
  110. package/packages/gantt/src/gantt.styles.ts +28 -0
  111. package/{public-api.d.ts → packages/gantt/src/public-api.ts} +6 -0
  112. package/packages/gantt/src/root.component.html +12 -0
  113. package/packages/gantt/src/root.component.ts +121 -0
  114. package/packages/gantt/src/styles/index.scss +9 -0
  115. package/packages/gantt/src/styles/variables.scss +46 -0
  116. package/packages/gantt/src/table/gantt-column.component.ts +25 -0
  117. package/packages/gantt/src/table/gantt-table.component.ts +14 -0
  118. package/packages/gantt/src/table/test/table.spec.ts +56 -0
  119. package/packages/gantt/src/test/gantt.component.spec.ts +404 -0
  120. package/packages/gantt/src/test/mocks/data.ts +303 -0
  121. package/packages/gantt/src/test.ts +21 -0
  122. package/packages/gantt/src/utils/date.ts +276 -0
  123. package/packages/gantt/src/utils/helpers.ts +66 -0
  124. package/packages/gantt/src/utils/test/date.spec.ts +105 -0
  125. package/packages/gantt/src/utils/test/helpers.spec.ts +73 -0
  126. package/packages/gantt/src/utils/testing.ts +64 -0
  127. package/packages/gantt/src/views/day.ts +74 -0
  128. package/packages/gantt/src/views/factory.ts +25 -0
  129. package/packages/gantt/src/views/month.ts +66 -0
  130. package/packages/gantt/src/views/quarter.ts +68 -0
  131. package/packages/gantt/src/views/test/day.spec.ts +45 -0
  132. package/packages/gantt/src/views/test/factory.spec.ts +41 -0
  133. package/packages/gantt/src/views/test/mock.ts +14 -0
  134. package/packages/gantt/src/views/test/month.spec.ts +45 -0
  135. package/packages/gantt/src/views/test/quarter.spec.ts +45 -0
  136. package/packages/gantt/src/views/test/view.spec.ts +144 -0
  137. package/packages/gantt/src/views/test/week.spec.ts +45 -0
  138. package/packages/gantt/src/views/test/year.spec.ts +45 -0
  139. package/packages/gantt/src/views/view.ts +186 -0
  140. package/packages/gantt/src/views/week.ts +66 -0
  141. package/packages/gantt/src/views/year.ts +62 -0
  142. package/packages/gantt/tsconfig.lib.json +20 -0
  143. package/packages/gantt/tsconfig.lib.prod.json +9 -0
  144. package/packages/gantt/tsconfig.schematics.json +25 -0
  145. package/packages/gantt/tsconfig.spec.json +17 -0
  146. package/packages/gantt/tslint.json +18 -0
  147. package/scss-bundle.config.json +7 -0
  148. package/tsconfig.json +26 -0
  149. package/tslint.json +51 -0
  150. package/bundles/worktile-gantt.umd.js +0 -3128
  151. package/bundles/worktile-gantt.umd.js.map +0 -1
  152. package/class/date-point.d.ts +0 -15
  153. package/class/group.d.ts +0 -22
  154. package/class/item.d.ts +0 -70
  155. package/class/view-type.d.ts +0 -7
  156. package/components/bar/bar-drag.d.ts +0 -34
  157. package/components/bar/bar.component.d.ts +0 -23
  158. package/components/calendar/calendar.component.d.ts +0 -25
  159. package/components/drag-backdrop/drag-backdrop.component.d.ts +0 -6
  160. package/components/icon/icon.component.d.ts +0 -10
  161. package/components/icon/icons.d.ts +0 -8
  162. package/components/links/links.component.d.ts +0 -44
  163. package/components/main/gantt-main.component.d.ts +0 -18
  164. package/components/range/range.component.d.ts +0 -10
  165. package/components/table/gantt-table.component.d.ts +0 -31
  166. package/esm2015/class/date-point.js +0 -10
  167. package/esm2015/class/event.js +0 -13
  168. package/esm2015/class/group.js +0 -17
  169. package/esm2015/class/index.js +0 -6
  170. package/esm2015/class/item.js +0 -78
  171. package/esm2015/class/view-type.js +0 -9
  172. package/esm2015/components/bar/bar-drag.js +0 -266
  173. package/esm2015/components/bar/bar.component.js +0 -91
  174. package/esm2015/components/calendar/calendar.component.js +0 -82
  175. package/esm2015/components/drag-backdrop/drag-backdrop.component.js +0 -18
  176. package/esm2015/components/icon/icon.component.js +0 -36
  177. package/esm2015/components/icon/icons.js +0 -87
  178. package/esm2015/components/links/links.component.js +0 -207
  179. package/esm2015/components/main/gantt-main.component.js +0 -35
  180. package/esm2015/components/range/range.component.js +0 -32
  181. package/esm2015/components/table/gantt-table.component.js +0 -125
  182. package/esm2015/gantt-dom.service.js +0 -101
  183. package/esm2015/gantt-drag-container.js +0 -57
  184. package/esm2015/gantt-item-upper.js +0 -55
  185. package/esm2015/gantt-print.service.js +0 -92
  186. package/esm2015/gantt-upper.js +0 -231
  187. package/esm2015/gantt.component.js +0 -105
  188. package/esm2015/gantt.module.js +0 -43
  189. package/esm2015/gantt.pipe.js +0 -33
  190. package/esm2015/gantt.styles.js +0 -15
  191. package/esm2015/public-api.js +0 -16
  192. package/esm2015/root.component.js +0 -111
  193. package/esm2015/table/gantt-column.component.js +0 -28
  194. package/esm2015/table/gantt-table.component.js +0 -18
  195. package/esm2015/utils/date.js +0 -160
  196. package/esm2015/utils/helpers.js +0 -45
  197. package/esm2015/views/day.js +0 -54
  198. package/esm2015/views/factory.js +0 -23
  199. package/esm2015/views/month.js +0 -48
  200. package/esm2015/views/quarter.js +0 -51
  201. package/esm2015/views/view.js +0 -121
  202. package/esm2015/views/week.js +0 -49
  203. package/esm2015/views/year.js +0 -50
  204. package/esm2015/worktile-gantt.js +0 -16
  205. package/fesm2015/worktile-gantt.js +0 -2488
  206. package/fesm2015/worktile-gantt.js.map +0 -1
  207. package/gantt-dom.service.d.ts +0 -29
  208. package/gantt-drag-container.d.ts +0 -20
  209. package/gantt-item-upper.d.ts +0 -17
  210. package/gantt-print.service.d.ts +0 -10
  211. package/gantt-upper.d.ts +0 -62
  212. package/gantt.component.d.ts +0 -28
  213. package/gantt.module.d.ts +0 -2
  214. package/gantt.pipe.d.ts +0 -11
  215. package/gantt.styles.d.ts +0 -15
  216. package/main.bundle.scss +0 -645
  217. package/root.component.d.ts +0 -25
  218. package/table/gantt-column.component.d.ts +0 -12
  219. package/table/gantt-table.component.d.ts +0 -7
  220. package/utils/date.d.ts +0 -59
  221. package/utils/helpers.d.ts +0 -11
  222. package/views/day.d.ts +0 -14
  223. package/views/factory.d.ts +0 -8
  224. package/views/month.d.ts +0 -12
  225. package/views/quarter.d.ts +0 -12
  226. package/views/view.d.ts +0 -56
  227. package/views/week.d.ts +0 -12
  228. package/views/year.d.ts +0 -12
  229. package/worktile-gantt.d.ts +0 -15
  230. package/worktile-gantt.metadata.json +0 -1
@@ -1,45 +0,0 @@
1
- export function isNumber(value) {
2
- return typeof value === 'number';
3
- }
4
- export function isString(value) {
5
- return typeof value === 'string';
6
- }
7
- export function isUndefined(value) {
8
- return value === undefined;
9
- }
10
- export function hexToRgb(color, opacity = 1) {
11
- if (/^#/g.test(color)) {
12
- return `rgba(${parseInt(color.slice(1, 3), 16)},${parseInt(color.slice(3, 5), 16)},${parseInt(color.slice(5, 7), 16)},${opacity})`;
13
- }
14
- else {
15
- return color;
16
- }
17
- }
18
- export function uniqBy(array, key) {
19
- const valuesMap = {};
20
- const result = [];
21
- (array || []).forEach((value) => {
22
- const _key = value[key];
23
- if (!valuesMap[_key]) {
24
- valuesMap[_key] = value;
25
- result.push(value);
26
- }
27
- });
28
- return result;
29
- }
30
- export function flatten(array) {
31
- return array.reduce((pre, cur) => {
32
- return pre.concat(Array.isArray(cur) ? flatten(cur) : cur);
33
- }, []);
34
- }
35
- export function recursiveItems(items) {
36
- const result = [];
37
- (items || []).forEach((item) => {
38
- result.push(item);
39
- if (item.expanded && item.children) {
40
- result.push(...recursiveItems(item.children));
41
- }
42
- });
43
- return result;
44
- }
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dhbnR0L3NyYy91dGlscy9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE1BQU0sVUFBVSxRQUFRLENBQUMsS0FBVTtJQUMvQixPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQztBQUNyQyxDQUFDO0FBRUQsTUFBTSxVQUFVLFFBQVEsQ0FBQyxLQUFVO0lBQy9CLE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDO0FBQ3JDLENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUFDLEtBQVU7SUFDbEMsT0FBTyxLQUFLLEtBQUssU0FBUyxDQUFDO0FBQy9CLENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFDLEtBQWEsRUFBRSxPQUFPLEdBQUcsQ0FBQztJQUMvQyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDbkIsT0FBTyxRQUFRLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLE9BQU8sR0FBRyxDQUFDO0tBQ3RJO1NBQU07UUFDSCxPQUFPLEtBQUssQ0FBQztLQUNoQjtBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsTUFBTSxDQUFjLEtBQVUsRUFBRSxHQUFZO0lBQ3hELE1BQU0sU0FBUyxHQUFrQixFQUFFLENBQUM7SUFDcEMsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQ2xCLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQzVCLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxHQUFhLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2xCLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUM7WUFDeEIsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN0QjtJQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQztBQUVELE1BQU0sVUFBVSxPQUFPLENBQWMsS0FBVTtJQUMzQyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7UUFDN0IsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0QsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ1gsQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsS0FBMEI7SUFDckQsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQ2xCLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1FBQzNCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEIsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDaEMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztTQUNqRDtJQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxNQUFNLENBQUM7QUFDbEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdhbnR0SXRlbUludGVybmFsIH0gZnJvbSAnLi4vY2xhc3MvaXRlbSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGljdGlvbmFyeTxUID0gdW5rbm93bj4ge1xuICAgIFtrZXk6IHN0cmluZ106IFQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc051bWJlcih2YWx1ZTogYW55KSB7XG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcic7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1N0cmluZyh2YWx1ZTogYW55KSB7XG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZyc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1VuZGVmaW5lZCh2YWx1ZTogYW55KSB7XG4gICAgcmV0dXJuIHZhbHVlID09PSB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoZXhUb1JnYihjb2xvcjogc3RyaW5nLCBvcGFjaXR5ID0gMSkge1xuICAgIGlmICgvXiMvZy50ZXN0KGNvbG9yKSkge1xuICAgICAgICByZXR1cm4gYHJnYmEoJHtwYXJzZUludChjb2xvci5zbGljZSgxLCAzKSwgMTYpfSwke3BhcnNlSW50KGNvbG9yLnNsaWNlKDMsIDUpLCAxNil9LCR7cGFyc2VJbnQoY29sb3Iuc2xpY2UoNSwgNyksIDE2KX0sJHtvcGFjaXR5fSlgO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBjb2xvcjtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1bmlxQnk8VCA9IHVua25vd24+KGFycmF5OiBUW10sIGtleToga2V5b2YgVCkge1xuICAgIGNvbnN0IHZhbHVlc01hcDogRGljdGlvbmFyeTxUPiA9IHt9O1xuICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuICAgIChhcnJheSB8fCBbXSkuZm9yRWFjaCgodmFsdWUpID0+IHtcbiAgICAgICAgY29uc3QgX2tleSA9IHZhbHVlW2tleSBhcyBzdHJpbmddO1xuICAgICAgICBpZiAoIXZhbHVlc01hcFtfa2V5XSkge1xuICAgICAgICAgICAgdmFsdWVzTWFwW19rZXldID0gdmFsdWU7XG4gICAgICAgICAgICByZXN1bHQucHVzaCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmxhdHRlbjxUID0gdW5rbm93bj4oYXJyYXk6IFRbXSkge1xuICAgIHJldHVybiBhcnJheS5yZWR1Y2UoKHByZSwgY3VyKSA9PiB7XG4gICAgICAgIHJldHVybiBwcmUuY29uY2F0KEFycmF5LmlzQXJyYXkoY3VyKSA/IGZsYXR0ZW4oY3VyKSA6IGN1cik7XG4gICAgfSwgW10pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVjdXJzaXZlSXRlbXMoaXRlbXM6IEdhbnR0SXRlbUludGVybmFsW10pIHtcbiAgICBjb25zdCByZXN1bHQgPSBbXTtcbiAgICAoaXRlbXMgfHwgW10pLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgcmVzdWx0LnB1c2goaXRlbSk7XG4gICAgICAgIGlmIChpdGVtLmV4cGFuZGVkICYmIGl0ZW0uY2hpbGRyZW4pIHtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKC4uLnJlY3Vyc2l2ZUl0ZW1zKGl0ZW0uY2hpbGRyZW4pKTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiByZXN1bHQ7XG59XG4iXX0=
@@ -1,54 +0,0 @@
1
- import { GanttView, primaryDatePointTop, secondaryDatePointTop } from './view';
2
- import { GanttDate, eachWeekOfInterval, eachDayOfInterval } from '../utils/date';
3
- import { GanttDatePoint } from '../class/date-point';
4
- const viewOptions = {
5
- cellWidth: 35,
6
- start: new GanttDate().startOfYear().startOfWeek({ weekStartsOn: 1 }),
7
- end: new GanttDate().endOfYear().endOfWeek({ weekStartsOn: 1 }),
8
- addAmount: 1,
9
- addUnit: 'month'
10
- };
11
- export class GanttViewDay extends GanttView {
12
- constructor(start, end, options) {
13
- super(start, end, Object.assign({}, viewOptions, options));
14
- this.showWeekBackdrop = true;
15
- this.showTimeline = false;
16
- }
17
- startOf(date) {
18
- return date.startOfWeek({ weekStartsOn: 1 });
19
- }
20
- endOf(date) {
21
- return date.endOfWeek({ weekStartsOn: 1 });
22
- }
23
- getPrimaryWidth() {
24
- return this.getCellWidth() * 7;
25
- }
26
- getDayOccupancyWidth() {
27
- return this.cellWidth;
28
- }
29
- getPrimaryDatePoints() {
30
- const weeks = eachWeekOfInterval({ start: this.start.value, end: this.end.addSeconds(1).value }, { weekStartsOn: 1 });
31
- const points = [];
32
- for (let i = 0; i < weeks.length; i++) {
33
- const weekStart = new GanttDate(weeks[i]);
34
- const increaseWeek = weekStart.getDaysInMonth() - weekStart.getDate() >= 3 ? 0 : 1;
35
- const point = new GanttDatePoint(weekStart, weekStart.addWeeks(increaseWeek).format('yyyy年MM月'), (this.getCellWidth() * 7) / 2 + i * (this.getCellWidth() * 7), primaryDatePointTop);
36
- points.push(point);
37
- }
38
- return points;
39
- }
40
- getSecondaryDatePoints() {
41
- const days = eachDayOfInterval({ start: this.start.value, end: this.end.value });
42
- const points = [];
43
- for (let i = 0; i < days.length; i++) {
44
- const start = new GanttDate(days[i]);
45
- const point = new GanttDatePoint(start, start.getDate().toString(), i * this.getCellWidth() + this.getCellWidth() / 2, secondaryDatePointTop, {
46
- isWeekend: start.isWeekend(),
47
- isToday: start.isToday()
48
- });
49
- points.push(point);
50
- }
51
- return points;
52
- }
53
- }
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2FudHQvc3JjL3ZpZXdzL2RheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFvQixtQkFBbUIsRUFBRSxxQkFBcUIsRUFBaUIsTUFBTSxRQUFRLENBQUM7QUFDaEgsT0FBTyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFckQsTUFBTSxXQUFXLEdBQXFCO0lBQ2xDLFNBQVMsRUFBRSxFQUFFO0lBQ2IsS0FBSyxFQUFFLElBQUksU0FBUyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxDQUFDLEVBQUUsWUFBWSxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQ3JFLEdBQUcsRUFBRSxJQUFJLFNBQVMsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLFlBQVksRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUMvRCxTQUFTLEVBQUUsQ0FBQztJQUNaLE9BQU8sRUFBRSxPQUFPO0NBQ25CLENBQUM7QUFFRixNQUFNLE9BQU8sWUFBYSxTQUFRLFNBQVM7SUFLdkMsWUFBWSxLQUFvQixFQUFFLEdBQWtCLEVBQUUsT0FBMEI7UUFDNUUsS0FBSyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFML0QscUJBQWdCLEdBQUcsSUFBSSxDQUFDO1FBRXhCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO0lBSXJCLENBQUM7SUFFRCxPQUFPLENBQUMsSUFBZTtRQUNuQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsWUFBWSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELGVBQWU7UUFDWCxPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELG9CQUFvQjtRQUNoQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVELG9CQUFvQjtRQUNoQixNQUFNLEtBQUssR0FBRyxrQkFBa0IsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN0SCxNQUFNLE1BQU0sR0FBcUIsRUFBRSxDQUFDO1FBQ3BDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ25DLE1BQU0sU0FBUyxHQUFHLElBQUksU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFDLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxjQUFjLEVBQUUsR0FBRyxTQUFTLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNuRixNQUFNLEtBQUssR0FBRyxJQUFJLGNBQWMsQ0FDNUIsU0FBUyxFQUNULFNBQVMsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUNuRCxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUM3RCxtQkFBbUIsQ0FDdEIsQ0FBQztZQUNGLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDdEI7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRUQsc0JBQXNCO1FBQ2xCLE1BQU0sSUFBSSxHQUFHLGlCQUFpQixDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDakYsTUFBTSxNQUFNLEdBQXFCLEVBQUUsQ0FBQztRQUNwQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNsQyxNQUFNLEtBQUssR0FBRyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyQyxNQUFNLEtBQUssR0FBRyxJQUFJLGNBQWMsQ0FDNUIsS0FBSyxFQUNMLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFDMUIsQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxFQUNqRCxxQkFBcUIsRUFDckI7Z0JBQ0ksU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTLEVBQUU7Z0JBQzVCLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFO2FBQzNCLENBQ0osQ0FBQztZQUNGLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDdEI7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHYW50dFZpZXcsIEdhbnR0Vmlld09wdGlvbnMsIHByaW1hcnlEYXRlUG9pbnRUb3AsIHNlY29uZGFyeURhdGVQb2ludFRvcCwgR2FudHRWaWV3RGF0ZSB9IGZyb20gJy4vdmlldyc7XG5pbXBvcnQgeyBHYW50dERhdGUsIGVhY2hXZWVrT2ZJbnRlcnZhbCwgZWFjaERheU9mSW50ZXJ2YWwgfSBmcm9tICcuLi91dGlscy9kYXRlJztcbmltcG9ydCB7IEdhbnR0RGF0ZVBvaW50IH0gZnJvbSAnLi4vY2xhc3MvZGF0ZS1wb2ludCc7XG5cbmNvbnN0IHZpZXdPcHRpb25zOiBHYW50dFZpZXdPcHRpb25zID0ge1xuICAgIGNlbGxXaWR0aDogMzUsXG4gICAgc3RhcnQ6IG5ldyBHYW50dERhdGUoKS5zdGFydE9mWWVhcigpLnN0YXJ0T2ZXZWVrKHsgd2Vla1N0YXJ0c09uOiAxIH0pLFxuICAgIGVuZDogbmV3IEdhbnR0RGF0ZSgpLmVuZE9mWWVhcigpLmVuZE9mV2Vlayh7IHdlZWtTdGFydHNPbjogMSB9KSxcbiAgICBhZGRBbW91bnQ6IDEsXG4gICAgYWRkVW5pdDogJ21vbnRoJ1xufTtcblxuZXhwb3J0IGNsYXNzIEdhbnR0Vmlld0RheSBleHRlbmRzIEdhbnR0VmlldyB7XG4gICAgc2hvd1dlZWtCYWNrZHJvcCA9IHRydWU7XG5cbiAgICBzaG93VGltZWxpbmUgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKHN0YXJ0OiBHYW50dFZpZXdEYXRlLCBlbmQ6IEdhbnR0Vmlld0RhdGUsIG9wdGlvbnM/OiBHYW50dFZpZXdPcHRpb25zKSB7XG4gICAgICAgIHN1cGVyKHN0YXJ0LCBlbmQsIE9iamVjdC5hc3NpZ24oe30sIHZpZXdPcHRpb25zLCBvcHRpb25zKSk7XG4gICAgfVxuXG4gICAgc3RhcnRPZihkYXRlOiBHYW50dERhdGUpIHtcbiAgICAgICAgcmV0dXJuIGRhdGUuc3RhcnRPZldlZWsoeyB3ZWVrU3RhcnRzT246IDEgfSk7XG4gICAgfVxuXG4gICAgZW5kT2YoZGF0ZTogR2FudHREYXRlKSB7XG4gICAgICAgIHJldHVybiBkYXRlLmVuZE9mV2Vlayh7IHdlZWtTdGFydHNPbjogMSB9KTtcbiAgICB9XG5cbiAgICBnZXRQcmltYXJ5V2lkdGgoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldENlbGxXaWR0aCgpICogNztcbiAgICB9XG5cbiAgICBnZXREYXlPY2N1cGFuY3lXaWR0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5jZWxsV2lkdGg7XG4gICAgfVxuXG4gICAgZ2V0UHJpbWFyeURhdGVQb2ludHMoKTogR2FudHREYXRlUG9pbnRbXSB7XG4gICAgICAgIGNvbnN0IHdlZWtzID0gZWFjaFdlZWtPZkludGVydmFsKHsgc3RhcnQ6IHRoaXMuc3RhcnQudmFsdWUsIGVuZDogdGhpcy5lbmQuYWRkU2Vjb25kcygxKS52YWx1ZSB9LCB7IHdlZWtTdGFydHNPbjogMSB9KTtcbiAgICAgICAgY29uc3QgcG9pbnRzOiBHYW50dERhdGVQb2ludFtdID0gW107XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgd2Vla3MubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHdlZWtTdGFydCA9IG5ldyBHYW50dERhdGUod2Vla3NbaV0pO1xuICAgICAgICAgICAgY29uc3QgaW5jcmVhc2VXZWVrID0gd2Vla1N0YXJ0LmdldERheXNJbk1vbnRoKCkgLSB3ZWVrU3RhcnQuZ2V0RGF0ZSgpID49IDMgPyAwIDogMTtcbiAgICAgICAgICAgIGNvbnN0IHBvaW50ID0gbmV3IEdhbnR0RGF0ZVBvaW50KFxuICAgICAgICAgICAgICAgIHdlZWtTdGFydCxcbiAgICAgICAgICAgICAgICB3ZWVrU3RhcnQuYWRkV2Vla3MoaW5jcmVhc2VXZWVrKS5mb3JtYXQoJ3l5eXnlubRNTeaciCcpLFxuICAgICAgICAgICAgICAgICh0aGlzLmdldENlbGxXaWR0aCgpICogNykgLyAyICsgaSAqICh0aGlzLmdldENlbGxXaWR0aCgpICogNyksXG4gICAgICAgICAgICAgICAgcHJpbWFyeURhdGVQb2ludFRvcFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHBvaW50cy5wdXNoKHBvaW50KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcG9pbnRzO1xuICAgIH1cblxuICAgIGdldFNlY29uZGFyeURhdGVQb2ludHMoKTogR2FudHREYXRlUG9pbnRbXSB7XG4gICAgICAgIGNvbnN0IGRheXMgPSBlYWNoRGF5T2ZJbnRlcnZhbCh7IHN0YXJ0OiB0aGlzLnN0YXJ0LnZhbHVlLCBlbmQ6IHRoaXMuZW5kLnZhbHVlIH0pO1xuICAgICAgICBjb25zdCBwb2ludHM6IEdhbnR0RGF0ZVBvaW50W10gPSBbXTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkYXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBzdGFydCA9IG5ldyBHYW50dERhdGUoZGF5c1tpXSk7XG4gICAgICAgICAgICBjb25zdCBwb2ludCA9IG5ldyBHYW50dERhdGVQb2ludChcbiAgICAgICAgICAgICAgICBzdGFydCxcbiAgICAgICAgICAgICAgICBzdGFydC5nZXREYXRlKCkudG9TdHJpbmcoKSxcbiAgICAgICAgICAgICAgICBpICogdGhpcy5nZXRDZWxsV2lkdGgoKSArIHRoaXMuZ2V0Q2VsbFdpZHRoKCkgLyAyLFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeURhdGVQb2ludFRvcCxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGlzV2Vla2VuZDogc3RhcnQuaXNXZWVrZW5kKCksXG4gICAgICAgICAgICAgICAgICAgIGlzVG9kYXk6IHN0YXJ0LmlzVG9kYXkoKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBwb2ludHMucHVzaChwb2ludCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHBvaW50cztcbiAgICB9XG59XG4iXX0=
@@ -1,23 +0,0 @@
1
- import { GanttViewMonth } from './month';
2
- import { GanttViewType } from '../class/view-type';
3
- import { GanttViewQuarter } from './quarter';
4
- import { GanttViewDay } from './day';
5
- import { GanttViewWeek } from './week';
6
- import { GanttViewYear } from './year';
7
- export function createViewFactory(type, start, end, options) {
8
- switch (type) {
9
- case GanttViewType.month:
10
- return new GanttViewMonth(start, end, options);
11
- case GanttViewType.week:
12
- return new GanttViewWeek(start, end, options);
13
- case GanttViewType.quarter:
14
- return new GanttViewQuarter(start, end, options);
15
- case GanttViewType.day:
16
- return new GanttViewDay(start, end, options);
17
- case GanttViewType.year:
18
- return new GanttViewYear(start, end, options);
19
- default:
20
- throw new Error('gantt view type invalid');
21
- }
22
- }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dhbnR0L3NyYy92aWV3cy9mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDdkMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUV2QyxNQUFNLFVBQVUsaUJBQWlCLENBQUMsSUFBbUIsRUFBRSxLQUFvQixFQUFFLEdBQWtCLEVBQUUsT0FBMEI7SUFDdkgsUUFBUSxJQUFJLEVBQUU7UUFDVixLQUFLLGFBQWEsQ0FBQyxLQUFLO1lBQ3BCLE9BQU8sSUFBSSxjQUFjLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNuRCxLQUFLLGFBQWEsQ0FBQyxJQUFJO1lBQ25CLE9BQU8sSUFBSSxhQUFhLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNsRCxLQUFLLGFBQWEsQ0FBQyxPQUFPO1lBQ3RCLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3JELEtBQUssYUFBYSxDQUFDLEdBQUc7WUFDbEIsT0FBTyxJQUFJLFlBQVksQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2pELEtBQUssYUFBYSxDQUFDLElBQUk7WUFDbkIsT0FBTyxJQUFJLGFBQWEsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2xEO1lBQ0ksTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0tBQ2xEO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdhbnR0Vmlld09wdGlvbnMsIEdhbnR0Vmlld0RhdGUgfSBmcm9tICcuL3ZpZXcnO1xuaW1wb3J0IHsgR2FudHRWaWV3TW9udGggfSBmcm9tICcuL21vbnRoJztcbmltcG9ydCB7IEdhbnR0RGF0ZSB9IGZyb20gJy4uL3V0aWxzL2RhdGUnO1xuaW1wb3J0IHsgR2FudHRWaWV3VHlwZSB9IGZyb20gJy4uL2NsYXNzL3ZpZXctdHlwZSc7XG5pbXBvcnQgeyBHYW50dFZpZXdRdWFydGVyIH0gZnJvbSAnLi9xdWFydGVyJztcbmltcG9ydCB7IEdhbnR0Vmlld0RheSB9IGZyb20gJy4vZGF5JztcbmltcG9ydCB7IEdhbnR0Vmlld1dlZWsgfSBmcm9tICcuL3dlZWsnO1xuaW1wb3J0IHsgR2FudHRWaWV3WWVhciB9IGZyb20gJy4veWVhcic7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVWaWV3RmFjdG9yeSh0eXBlOiBHYW50dFZpZXdUeXBlLCBzdGFydDogR2FudHRWaWV3RGF0ZSwgZW5kOiBHYW50dFZpZXdEYXRlLCBvcHRpb25zPzogR2FudHRWaWV3T3B0aW9ucykge1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICBjYXNlIEdhbnR0Vmlld1R5cGUubW9udGg6XG4gICAgICAgICAgICByZXR1cm4gbmV3IEdhbnR0Vmlld01vbnRoKHN0YXJ0LCBlbmQsIG9wdGlvbnMpO1xuICAgICAgICBjYXNlIEdhbnR0Vmlld1R5cGUud2VlazpcbiAgICAgICAgICAgIHJldHVybiBuZXcgR2FudHRWaWV3V2VlayhzdGFydCwgZW5kLCBvcHRpb25zKTtcbiAgICAgICAgY2FzZSBHYW50dFZpZXdUeXBlLnF1YXJ0ZXI6XG4gICAgICAgICAgICByZXR1cm4gbmV3IEdhbnR0Vmlld1F1YXJ0ZXIoc3RhcnQsIGVuZCwgb3B0aW9ucyk7XG4gICAgICAgIGNhc2UgR2FudHRWaWV3VHlwZS5kYXk6XG4gICAgICAgICAgICByZXR1cm4gbmV3IEdhbnR0Vmlld0RheShzdGFydCwgZW5kLCBvcHRpb25zKTtcbiAgICAgICAgY2FzZSBHYW50dFZpZXdUeXBlLnllYXI6XG4gICAgICAgICAgICByZXR1cm4gbmV3IEdhbnR0Vmlld1llYXIoc3RhcnQsIGVuZCwgb3B0aW9ucyk7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2dhbnR0IHZpZXcgdHlwZSBpbnZhbGlkJyk7XG4gICAgfVxufVxuIl19
@@ -1,48 +0,0 @@
1
- import { GanttView, primaryDatePointTop, secondaryDatePointTop } from './view';
2
- import { GanttDate, differenceInCalendarQuarters, eachMonthOfInterval } from '../utils/date';
3
- import { GanttDatePoint } from '../class/date-point';
4
- const viewOptions = {
5
- start: new GanttDate().startOfQuarter().addQuarters(-1),
6
- end: new GanttDate().endOfQuarter().addQuarters(2),
7
- cellWidth: 280,
8
- addAmount: 1,
9
- addUnit: 'quarter'
10
- };
11
- export class GanttViewMonth extends GanttView {
12
- constructor(start, end, options) {
13
- super(start, end, Object.assign({}, viewOptions, options));
14
- }
15
- startOf(date) {
16
- return date.startOfQuarter();
17
- }
18
- endOf(date) {
19
- return date.endOfQuarter();
20
- }
21
- getPrimaryWidth() {
22
- return this.getCellWidth() * 3;
23
- }
24
- getDayOccupancyWidth(date) {
25
- return this.cellWidth / date.getDaysInMonth();
26
- }
27
- getPrimaryDatePoints() {
28
- const quarters = differenceInCalendarQuarters(this.end.addSeconds(1).value, this.start.value);
29
- const points = [];
30
- for (let i = 0; i < quarters; i++) {
31
- const start = this.start.addQuarters(i);
32
- const point = new GanttDatePoint(start, start.format('yyyy年QQQ'), (this.getCellWidth() * 3) / 2 + i * (this.getCellWidth() * 3), primaryDatePointTop);
33
- points.push(point);
34
- }
35
- return points;
36
- }
37
- getSecondaryDatePoints() {
38
- const months = eachMonthOfInterval({ start: this.start.value, end: this.end.value });
39
- const points = [];
40
- for (let i = 0; i < months.length; i++) {
41
- const start = new GanttDate(months[i]);
42
- const point = new GanttDatePoint(start, `${start.getMonth() + 1}月`, i * this.getCellWidth() + this.getCellWidth() / 2, secondaryDatePointTop);
43
- points.push(point);
44
- }
45
- return points;
46
- }
47
- }
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9udGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9nYW50dC9zcmMvdmlld3MvbW9udGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBb0IsbUJBQW1CLEVBQUUscUJBQXFCLEVBQWlCLE1BQU0sUUFBUSxDQUFDO0FBQ2hILE9BQU8sRUFBRSxTQUFTLEVBQUUsNEJBQTRCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0YsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXJELE1BQU0sV0FBVyxHQUFxQjtJQUNsQyxLQUFLLEVBQUUsSUFBSSxTQUFTLEVBQUUsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkQsR0FBRyxFQUFFLElBQUksU0FBUyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNsRCxTQUFTLEVBQUUsR0FBRztJQUNkLFNBQVMsRUFBRSxDQUFDO0lBQ1osT0FBTyxFQUFFLFNBQVM7Q0FDckIsQ0FBQztBQUVGLE1BQU0sT0FBTyxjQUFlLFNBQVEsU0FBUztJQUN6QyxZQUFZLEtBQW9CLEVBQUUsR0FBa0IsRUFBRSxPQUEwQjtRQUM1RSxLQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsT0FBTyxDQUFDLElBQWU7UUFDbkIsT0FBTyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFlO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxlQUFlO1FBQ1gsT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxJQUFlO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDbEQsQ0FBQztJQUVELG9CQUFvQjtRQUNoQixNQUFNLFFBQVEsR0FBRyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5RixNQUFNLE1BQU0sR0FBcUIsRUFBRSxDQUFDO1FBQ3BDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxRQUFRLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDL0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDeEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxjQUFjLENBQzVCLEtBQUssRUFDTCxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUN4QixDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUM3RCxtQkFBbUIsQ0FDdEIsQ0FBQztZQUNGLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDdEI7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRUQsc0JBQXNCO1FBQ2xCLE1BQU0sTUFBTSxHQUFHLG1CQUFtQixDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDckYsTUFBTSxNQUFNLEdBQXFCLEVBQUUsQ0FBQztRQUNwQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNwQyxNQUFNLEtBQUssR0FBRyxJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2QyxNQUFNLEtBQUssR0FBRyxJQUFJLGNBQWMsQ0FDNUIsS0FBSyxFQUNMLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsR0FBRyxFQUMxQixDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFDLEVBQ2pELHFCQUFxQixDQUN4QixDQUFDO1lBQ0YsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN0QjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdhbnR0VmlldywgR2FudHRWaWV3T3B0aW9ucywgcHJpbWFyeURhdGVQb2ludFRvcCwgc2Vjb25kYXJ5RGF0ZVBvaW50VG9wLCBHYW50dFZpZXdEYXRlIH0gZnJvbSAnLi92aWV3JztcbmltcG9ydCB7IEdhbnR0RGF0ZSwgZGlmZmVyZW5jZUluQ2FsZW5kYXJRdWFydGVycywgZWFjaE1vbnRoT2ZJbnRlcnZhbCB9IGZyb20gJy4uL3V0aWxzL2RhdGUnO1xuaW1wb3J0IHsgR2FudHREYXRlUG9pbnQgfSBmcm9tICcuLi9jbGFzcy9kYXRlLXBvaW50JztcblxuY29uc3Qgdmlld09wdGlvbnM6IEdhbnR0Vmlld09wdGlvbnMgPSB7XG4gICAgc3RhcnQ6IG5ldyBHYW50dERhdGUoKS5zdGFydE9mUXVhcnRlcigpLmFkZFF1YXJ0ZXJzKC0xKSxcbiAgICBlbmQ6IG5ldyBHYW50dERhdGUoKS5lbmRPZlF1YXJ0ZXIoKS5hZGRRdWFydGVycygyKSxcbiAgICBjZWxsV2lkdGg6IDI4MCxcbiAgICBhZGRBbW91bnQ6IDEsXG4gICAgYWRkVW5pdDogJ3F1YXJ0ZXInXG59O1xuXG5leHBvcnQgY2xhc3MgR2FudHRWaWV3TW9udGggZXh0ZW5kcyBHYW50dFZpZXcge1xuICAgIGNvbnN0cnVjdG9yKHN0YXJ0OiBHYW50dFZpZXdEYXRlLCBlbmQ6IEdhbnR0Vmlld0RhdGUsIG9wdGlvbnM/OiBHYW50dFZpZXdPcHRpb25zKSB7XG4gICAgICAgIHN1cGVyKHN0YXJ0LCBlbmQsIE9iamVjdC5hc3NpZ24oe30sIHZpZXdPcHRpb25zLCBvcHRpb25zKSk7XG4gICAgfVxuXG4gICAgc3RhcnRPZihkYXRlOiBHYW50dERhdGUpIHtcbiAgICAgICAgcmV0dXJuIGRhdGUuc3RhcnRPZlF1YXJ0ZXIoKTtcbiAgICB9XG5cbiAgICBlbmRPZihkYXRlOiBHYW50dERhdGUpIHtcbiAgICAgICAgcmV0dXJuIGRhdGUuZW5kT2ZRdWFydGVyKCk7XG4gICAgfVxuXG4gICAgZ2V0UHJpbWFyeVdpZHRoKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRDZWxsV2lkdGgoKSAqIDM7XG4gICAgfVxuXG4gICAgZ2V0RGF5T2NjdXBhbmN5V2lkdGgoZGF0ZTogR2FudHREYXRlKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2VsbFdpZHRoIC8gZGF0ZS5nZXREYXlzSW5Nb250aCgpO1xuICAgIH1cblxuICAgIGdldFByaW1hcnlEYXRlUG9pbnRzKCk6IEdhbnR0RGF0ZVBvaW50W10ge1xuICAgICAgICBjb25zdCBxdWFydGVycyA9IGRpZmZlcmVuY2VJbkNhbGVuZGFyUXVhcnRlcnModGhpcy5lbmQuYWRkU2Vjb25kcygxKS52YWx1ZSwgdGhpcy5zdGFydC52YWx1ZSk7XG4gICAgICAgIGNvbnN0IHBvaW50czogR2FudHREYXRlUG9pbnRbXSA9IFtdO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHF1YXJ0ZXJzOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5zdGFydC5hZGRRdWFydGVycyhpKTtcbiAgICAgICAgICAgIGNvbnN0IHBvaW50ID0gbmV3IEdhbnR0RGF0ZVBvaW50KFxuICAgICAgICAgICAgICAgIHN0YXJ0LFxuICAgICAgICAgICAgICAgIHN0YXJ0LmZvcm1hdCgneXl5eeW5tFFRUScpLFxuICAgICAgICAgICAgICAgICh0aGlzLmdldENlbGxXaWR0aCgpICogMykgLyAyICsgaSAqICh0aGlzLmdldENlbGxXaWR0aCgpICogMyksXG4gICAgICAgICAgICAgICAgcHJpbWFyeURhdGVQb2ludFRvcFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHBvaW50cy5wdXNoKHBvaW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBwb2ludHM7XG4gICAgfVxuXG4gICAgZ2V0U2Vjb25kYXJ5RGF0ZVBvaW50cygpOiBHYW50dERhdGVQb2ludFtdIHtcbiAgICAgICAgY29uc3QgbW9udGhzID0gZWFjaE1vbnRoT2ZJbnRlcnZhbCh7IHN0YXJ0OiB0aGlzLnN0YXJ0LnZhbHVlLCBlbmQ6IHRoaXMuZW5kLnZhbHVlIH0pO1xuICAgICAgICBjb25zdCBwb2ludHM6IEdhbnR0RGF0ZVBvaW50W10gPSBbXTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtb250aHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0ID0gbmV3IEdhbnR0RGF0ZShtb250aHNbaV0pO1xuICAgICAgICAgICAgY29uc3QgcG9pbnQgPSBuZXcgR2FudHREYXRlUG9pbnQoXG4gICAgICAgICAgICAgICAgc3RhcnQsXG4gICAgICAgICAgICAgICAgYCR7c3RhcnQuZ2V0TW9udGgoKSArIDF95pyIYCxcbiAgICAgICAgICAgICAgICBpICogdGhpcy5nZXRDZWxsV2lkdGgoKSArIHRoaXMuZ2V0Q2VsbFdpZHRoKCkgLyAyLFxuICAgICAgICAgICAgICAgIHNlY29uZGFyeURhdGVQb2ludFRvcFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHBvaW50cy5wdXNoKHBvaW50KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcG9pbnRzO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,51 +0,0 @@
1
- import { GanttView, primaryDatePointTop, secondaryDatePointTop } from './view';
2
- import { GanttDate } from '../utils/date';
3
- import { GanttDatePoint } from '../class/date-point';
4
- import { eachYearOfInterval, differenceInCalendarQuarters } from 'date-fns';
5
- const viewOptions = {
6
- start: new GanttDate().addYears(-1).startOfYear(),
7
- end: new GanttDate().addYears(1).endOfYear(),
8
- min: new GanttDate().addYears(-2).startOfYear(),
9
- max: new GanttDate().addYears(2).endOfYear(),
10
- cellWidth: 500,
11
- addAmount: 1,
12
- addUnit: 'year'
13
- };
14
- export class GanttViewQuarter extends GanttView {
15
- constructor(start, end, options) {
16
- super(start, end, Object.assign({}, viewOptions, options));
17
- }
18
- startOf(date) {
19
- return date.startOfYear();
20
- }
21
- endOf(date) {
22
- return date.endOfYear();
23
- }
24
- getPrimaryWidth() {
25
- return this.getCellWidth() * 4;
26
- }
27
- getDayOccupancyWidth(date) {
28
- return this.cellWidth / date.getDaysInQuarter();
29
- }
30
- getPrimaryDatePoints() {
31
- const years = eachYearOfInterval({ start: this.start.value, end: this.end.value });
32
- const points = [];
33
- for (let i = 0; i < years.length; i++) {
34
- const start = new GanttDate(years[i]);
35
- const point = new GanttDatePoint(start, `${start.format('yyyy')}年`, (this.getCellWidth() * 4) / 2 + i * (this.getCellWidth() * 4), primaryDatePointTop);
36
- points.push(point);
37
- }
38
- return points;
39
- }
40
- getSecondaryDatePoints() {
41
- const quarters = differenceInCalendarQuarters(this.end.value, this.start.value);
42
- const points = [];
43
- for (let i = 0; i <= quarters; i++) {
44
- const start = this.start.addQuarters(i);
45
- const point = new GanttDatePoint(start, start.format('QQQ'), i * this.getCellWidth() + this.getCellWidth() / 2, secondaryDatePointTop);
46
- points.push(point);
47
- }
48
- return points;
49
- }
50
- }
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVhcnRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dhbnR0L3NyYy92aWV3cy9xdWFydGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQW9CLG1CQUFtQixFQUFFLHFCQUFxQixFQUFpQixNQUFNLFFBQVEsQ0FBQztBQUNoSCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFNUUsTUFBTSxXQUFXLEdBQXFCO0lBQ2xDLEtBQUssRUFBRSxJQUFJLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRTtJQUNqRCxHQUFHLEVBQUUsSUFBSSxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFO0lBQzVDLEdBQUcsRUFBRSxJQUFJLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRTtJQUMvQyxHQUFHLEVBQUUsSUFBSSxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFO0lBQzVDLFNBQVMsRUFBRSxHQUFHO0lBQ2QsU0FBUyxFQUFFLENBQUM7SUFDWixPQUFPLEVBQUUsTUFBTTtDQUNsQixDQUFDO0FBRUYsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFNBQVM7SUFDM0MsWUFBWSxLQUFvQixFQUFFLEdBQWtCLEVBQUUsT0FBMEI7UUFDNUUsS0FBSyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFlO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsZUFBZTtRQUNYLE9BQU8sSUFBSSxDQUFDLFlBQVksRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsb0JBQW9CLENBQUMsSUFBZTtRQUNoQyxPQUFPLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDcEQsQ0FBQztJQUVELG9CQUFvQjtRQUNoQixNQUFNLEtBQUssR0FBRyxrQkFBa0IsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ25GLE1BQU0sTUFBTSxHQUFxQixFQUFFLENBQUM7UUFDcEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDbkMsTUFBTSxLQUFLLEdBQUcsSUFBSSxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxjQUFjLENBQzVCLEtBQUssRUFDTCxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFDMUIsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFDN0QsbUJBQW1CLENBQ3RCLENBQUM7WUFDRixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3RCO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUVELHNCQUFzQjtRQUNsQixNQUFNLFFBQVEsR0FBRyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hGLE1BQU0sTUFBTSxHQUFxQixFQUFFLENBQUM7UUFDcEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLFFBQVEsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNoQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN4QyxNQUFNLEtBQUssR0FBRyxJQUFJLGNBQWMsQ0FDNUIsS0FBSyxFQUNMLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQ25CLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxHQUFHLENBQUMsRUFDakQscUJBQXFCLENBQ3hCLENBQUM7WUFDRixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3RCO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2FudHRWaWV3LCBHYW50dFZpZXdPcHRpb25zLCBwcmltYXJ5RGF0ZVBvaW50VG9wLCBzZWNvbmRhcnlEYXRlUG9pbnRUb3AsIEdhbnR0Vmlld0RhdGUgfSBmcm9tICcuL3ZpZXcnO1xuaW1wb3J0IHsgR2FudHREYXRlIH0gZnJvbSAnLi4vdXRpbHMvZGF0ZSc7XG5pbXBvcnQgeyBHYW50dERhdGVQb2ludCB9IGZyb20gJy4uL2NsYXNzL2RhdGUtcG9pbnQnO1xuaW1wb3J0IHsgZWFjaFllYXJPZkludGVydmFsLCBkaWZmZXJlbmNlSW5DYWxlbmRhclF1YXJ0ZXJzIH0gZnJvbSAnZGF0ZS1mbnMnO1xuXG5jb25zdCB2aWV3T3B0aW9uczogR2FudHRWaWV3T3B0aW9ucyA9IHtcbiAgICBzdGFydDogbmV3IEdhbnR0RGF0ZSgpLmFkZFllYXJzKC0xKS5zdGFydE9mWWVhcigpLFxuICAgIGVuZDogbmV3IEdhbnR0RGF0ZSgpLmFkZFllYXJzKDEpLmVuZE9mWWVhcigpLFxuICAgIG1pbjogbmV3IEdhbnR0RGF0ZSgpLmFkZFllYXJzKC0yKS5zdGFydE9mWWVhcigpLFxuICAgIG1heDogbmV3IEdhbnR0RGF0ZSgpLmFkZFllYXJzKDIpLmVuZE9mWWVhcigpLFxuICAgIGNlbGxXaWR0aDogNTAwLFxuICAgIGFkZEFtb3VudDogMSxcbiAgICBhZGRVbml0OiAneWVhcidcbn07XG5cbmV4cG9ydCBjbGFzcyBHYW50dFZpZXdRdWFydGVyIGV4dGVuZHMgR2FudHRWaWV3IHtcbiAgICBjb25zdHJ1Y3RvcihzdGFydDogR2FudHRWaWV3RGF0ZSwgZW5kOiBHYW50dFZpZXdEYXRlLCBvcHRpb25zPzogR2FudHRWaWV3T3B0aW9ucykge1xuICAgICAgICBzdXBlcihzdGFydCwgZW5kLCBPYmplY3QuYXNzaWduKHt9LCB2aWV3T3B0aW9ucywgb3B0aW9ucykpO1xuICAgIH1cblxuICAgIHN0YXJ0T2YoZGF0ZTogR2FudHREYXRlKSB7XG4gICAgICAgIHJldHVybiBkYXRlLnN0YXJ0T2ZZZWFyKCk7XG4gICAgfVxuXG4gICAgZW5kT2YoZGF0ZTogR2FudHREYXRlKSB7XG4gICAgICAgIHJldHVybiBkYXRlLmVuZE9mWWVhcigpO1xuICAgIH1cblxuICAgIGdldFByaW1hcnlXaWR0aCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q2VsbFdpZHRoKCkgKiA0O1xuICAgIH1cblxuICAgIGdldERheU9jY3VwYW5jeVdpZHRoKGRhdGU6IEdhbnR0RGF0ZSk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmNlbGxXaWR0aCAvIGRhdGUuZ2V0RGF5c0luUXVhcnRlcigpO1xuICAgIH1cblxuICAgIGdldFByaW1hcnlEYXRlUG9pbnRzKCk6IEdhbnR0RGF0ZVBvaW50W10ge1xuICAgICAgICBjb25zdCB5ZWFycyA9IGVhY2hZZWFyT2ZJbnRlcnZhbCh7IHN0YXJ0OiB0aGlzLnN0YXJ0LnZhbHVlLCBlbmQ6IHRoaXMuZW5kLnZhbHVlIH0pO1xuICAgICAgICBjb25zdCBwb2ludHM6IEdhbnR0RGF0ZVBvaW50W10gPSBbXTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB5ZWFycy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3Qgc3RhcnQgPSBuZXcgR2FudHREYXRlKHllYXJzW2ldKTtcbiAgICAgICAgICAgIGNvbnN0IHBvaW50ID0gbmV3IEdhbnR0RGF0ZVBvaW50KFxuICAgICAgICAgICAgICAgIHN0YXJ0LFxuICAgICAgICAgICAgICAgIGAke3N0YXJ0LmZvcm1hdCgneXl5eScpfeW5tGAsXG4gICAgICAgICAgICAgICAgKHRoaXMuZ2V0Q2VsbFdpZHRoKCkgKiA0KSAvIDIgKyBpICogKHRoaXMuZ2V0Q2VsbFdpZHRoKCkgKiA0KSxcbiAgICAgICAgICAgICAgICBwcmltYXJ5RGF0ZVBvaW50VG9wXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcG9pbnRzLnB1c2gocG9pbnQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwb2ludHM7XG4gICAgfVxuXG4gICAgZ2V0U2Vjb25kYXJ5RGF0ZVBvaW50cygpOiBHYW50dERhdGVQb2ludFtdIHtcbiAgICAgICAgY29uc3QgcXVhcnRlcnMgPSBkaWZmZXJlbmNlSW5DYWxlbmRhclF1YXJ0ZXJzKHRoaXMuZW5kLnZhbHVlLCB0aGlzLnN0YXJ0LnZhbHVlKTtcbiAgICAgICAgY29uc3QgcG9pbnRzOiBHYW50dERhdGVQb2ludFtdID0gW107XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDw9IHF1YXJ0ZXJzOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5zdGFydC5hZGRRdWFydGVycyhpKTtcbiAgICAgICAgICAgIGNvbnN0IHBvaW50ID0gbmV3IEdhbnR0RGF0ZVBvaW50KFxuICAgICAgICAgICAgICAgIHN0YXJ0LFxuICAgICAgICAgICAgICAgIHN0YXJ0LmZvcm1hdCgnUVFRJyksXG4gICAgICAgICAgICAgICAgaSAqIHRoaXMuZ2V0Q2VsbFdpZHRoKCkgKyB0aGlzLmdldENlbGxXaWR0aCgpIC8gMixcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnlEYXRlUG9pbnRUb3BcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBwb2ludHMucHVzaChwb2ludCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHBvaW50cztcbiAgICB9XG59XG4iXX0=
@@ -1,121 +0,0 @@
1
- import { GanttDate, differenceInDays } from '../utils/date';
2
- import { BehaviorSubject } from 'rxjs';
3
- export const primaryDatePointTop = 18;
4
- export const secondaryDatePointTop = 36;
5
- const viewOptions = {
6
- min: new GanttDate().addYears(-1).startOfYear(),
7
- max: new GanttDate().addYears(1).endOfYear()
8
- };
9
- export class GanttView {
10
- constructor(start, end, options) {
11
- this.showTimeline = true;
12
- this.options = Object.assign({}, viewOptions, options);
13
- const startDate = start.isCustom
14
- ? this.startOf(start.date)
15
- : this.startOf(start.date.value < this.options.start.value ? start.date : this.options.start);
16
- const endDate = end.isCustom
17
- ? this.endOf(end.date)
18
- : this.endOf(end.date.value > this.options.end.value ? end.date : this.options.end);
19
- this.start$ = new BehaviorSubject(startDate);
20
- this.end$ = new BehaviorSubject(endDate);
21
- this.initialize();
22
- }
23
- get start() {
24
- return this.start$.getValue();
25
- }
26
- get end() {
27
- return this.end$.getValue();
28
- }
29
- getDateIntervalWidth(start, end) {
30
- let result = 0;
31
- const days = differenceInDays(end.value, start.value);
32
- for (let i = 0; i < Math.abs(days); i++) {
33
- result += this.getDayOccupancyWidth(start.addDays(i));
34
- }
35
- result = days >= 0 ? result : -result;
36
- return Number(result.toFixed(3));
37
- }
38
- initialize() {
39
- this.primaryDatePoints = this.getPrimaryDatePoints();
40
- this.secondaryDatePoints = this.getSecondaryDatePoints();
41
- this.width = this.getWidth();
42
- this.cellWidth = this.getCellWidth();
43
- this.primaryWidth = this.getPrimaryWidth();
44
- }
45
- addStartDate() {
46
- const start = this.startOf(this.start.add(this.options.addAmount * -1, this.options.addUnit));
47
- if (start.value >= this.options.min.value) {
48
- const origin = this.start;
49
- this.start$.next(start);
50
- this.initialize();
51
- return { start: this.start, end: origin };
52
- }
53
- return null;
54
- }
55
- addEndDate() {
56
- const end = this.endOf(this.end.add(this.options.addAmount, this.options.addUnit));
57
- if (end.value <= this.options.max.value) {
58
- const origin = this.end;
59
- this.end$.next(end);
60
- this.initialize();
61
- return { start: origin, end: this.end };
62
- }
63
- return null;
64
- }
65
- updateDate(start, end) {
66
- start = this.startOf(start);
67
- end = this.endOf(end);
68
- if (start.value < this.start.value) {
69
- this.start$.next(start);
70
- }
71
- if (end.value > this.end.value) {
72
- this.end$.next(end);
73
- }
74
- this.initialize();
75
- }
76
- // 获取View的宽度
77
- getWidth() {
78
- return this.getCellWidth() * this.secondaryDatePoints.length;
79
- }
80
- // 获取单个网格的宽度
81
- getCellWidth() {
82
- return this.options.cellWidth;
83
- }
84
- // 获取当前时间的X坐标
85
- getTodayXPoint() {
86
- const toady = new GanttDate().startOfDay();
87
- if (toady.value > this.start.value && toady.value < this.end.value) {
88
- const x = this.getXPointByDate(toady) + this.getDayOccupancyWidth(toady) / 2;
89
- return x;
90
- }
91
- else {
92
- return null;
93
- }
94
- }
95
- // 获取指定时间的X坐标
96
- getXPointByDate(date) {
97
- return this.getDateIntervalWidth(this.start, date);
98
- }
99
- // 根据X坐标获取对应时间
100
- getDateByXPoint(x) {
101
- const indexOfSecondaryDate = Math.floor(x / this.getCellWidth());
102
- const matchDate = this.secondaryDatePoints[indexOfSecondaryDate];
103
- const dayWidth = this.getDayOccupancyWidth(matchDate === null || matchDate === void 0 ? void 0 : matchDate.start);
104
- if (dayWidth === this.getCellWidth()) {
105
- return matchDate === null || matchDate === void 0 ? void 0 : matchDate.start;
106
- }
107
- else {
108
- const day = Math.floor((x % this.getCellWidth()) / dayWidth) + 1;
109
- if (this.getCellWidth() / dayWidth === 7) {
110
- return matchDate === null || matchDate === void 0 ? void 0 : matchDate.start.addDays(day);
111
- }
112
- return matchDate === null || matchDate === void 0 ? void 0 : matchDate.start.setDate(day);
113
- }
114
- }
115
- // 获取指定时间范围的宽度
116
- getDateRangeWidth(start, end) {
117
- // addSeconds(1) 是因为计算相差天会以一个整天来计算 end时间一般是59分59秒不是一个整天,所以需要加1
118
- return this.getDateIntervalWidth(start, end.addSeconds(1));
119
- }
120
- }
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dhbnR0L3NyYy92aWV3cy92aWV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBRTNFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdkMsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsRUFBRSxDQUFDO0FBRXRDLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLEVBQUUsQ0FBQztBQWlCeEMsTUFBTSxXQUFXLEdBQXFCO0lBQ2xDLEdBQUcsRUFBRSxJQUFJLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRTtJQUMvQyxHQUFHLEVBQUUsSUFBSSxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFO0NBQy9DLENBQUM7QUFFRixNQUFNLE9BQWdCLFNBQVM7SUE2QjNCLFlBQVksS0FBb0IsRUFBRSxHQUFrQixFQUFFLE9BQXlCO1FBTi9FLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBT2hCLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxRQUFRO1lBQzVCLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFDMUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJ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QUssSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFO1lBQ2xDLE9BQU8sU0FBUyxhQUFULFNBQVMsdUJBQVQsU0FBUyxDQUFFLEtBQUssQ0FBQztTQUMzQjthQUFNO1lBQ0gsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDakUsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLEdBQUcsUUFBUSxLQUFLLENBQUMsRUFBRTtnQkFDdEMsT0FBTyxTQUFTLGFBQVQsU0FBUyx1QkFBVCxTQUFTLENBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUN4QztZQUNELE9BQU8sU0FBUyxhQUFULFNBQVMsdUJBQVQsU0FBUyxDQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDeEM7SUFDTCxDQUFDO0lBRUQsY0FBYztJQUNkLGlCQUFpQixDQUFDLEtBQWdCLEVBQUUsR0FBYztRQUM5Qyw4REFBOEQ7UUFDOUQsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHYW50dERhdGUsIGRpZmZlcmVuY2VJbkRheXMsIEdhbnR0RGF0ZVV0aWwgfSBmcm9tICcuLi91dGlscy9kYXRlJztcbmltcG9ydCB7IEdhbnR0RGF0ZVBvaW50IH0gZnJvbSAnLi4vY2xhc3MvZGF0ZS1wb2ludCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGNvbnN0IHByaW1hcnlEYXRlUG9pbnRUb3AgPSAxODtcblxuZXhwb3J0IGNvbnN0IHNlY29uZGFyeURhdGVQb2ludFRvcCA9IDM2O1xuXG5leHBvcnQgaW50ZXJmYWNlIEdhbnR0Vmlld0RhdGUge1xuICAgIGRhdGU6IEdhbnR0RGF0ZTtcbiAgICBpc0N1c3RvbT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2FudHRWaWV3T3B0aW9ucyB7XG4gICAgc3RhcnQ/OiBHYW50dERhdGU7XG4gICAgZW5kPzogR2FudHREYXRlO1xuICAgIG1pbj86IEdhbnR0RGF0ZTtcbiAgICBtYXg/OiBHYW50dERhdGU7XG4gICAgY2VsbFdpZHRoPzogbnVtYmVyO1xuICAgIGFkZEFtb3VudD86IG51bWJlcjtcbiAgICBhZGRVbml0PzogR2FudHREYXRlVXRpbDtcbn1cblxuY29uc3Qgdmlld09wdGlvbnM6IEdhbnR0Vmlld09wdGlvbnMgPSB7XG4gICAgbWluOiBuZXcgR2FudHREYXRlKCkuYWRkWWVhcnMoLTEpLnN0YXJ0T2ZZZWFyKCksXG4gICAgbWF4OiBuZXcgR2FudHREYXRlKCkuYWRkWWVhcnMoMSkuZW5kT2ZZZWFyKClcbn07XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBHYW50dFZpZXcge1xuICAgIHN0YXJ0JDogQmVoYXZpb3JTdWJqZWN0PEdhbnR0RGF0ZT47XG5cbiAgICBlbmQkOiBCZWhhdmlvclN1YmplY3Q8R2FudHREYXRlPjtcblxuICAgIGdldCBzdGFydCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhcnQkLmdldFZhbHVlKCk7XG4gICAgfVxuXG4gICAgZ2V0IGVuZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW5kJC5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIHByaW1hcnlEYXRlUG9pbnRzOiBHYW50dERhdGVQb2ludFtdO1xuXG4gICAgc2Vjb25kYXJ5RGF0ZVBvaW50czogR2FudHREYXRlUG9pbnRbXTtcblxuICAgIHdpZHRoOiBudW1iZXI7XG5cbiAgICBjZWxsV2lkdGg6IG51bWJlcjtcblxuICAgIHByaW1hcnlXaWR0aDogbnVtYmVyO1xuXG4gICAgc2hvd1RpbWVsaW5lID0gdHJ1ZTtcblxuICAgIHNob3dXZWVrQmFja2Ryb3A6IGJvb2xlYW47XG5cbiAgICBvcHRpb25zOiBHYW50dFZpZXdPcHRpb25zO1xuXG4gICAgY29uc3RydWN0b3Ioc3RhcnQ6IEdhbnR0Vmlld0RhdGUsIGVuZDogR2FudHRWaWV3RGF0ZSwgb3B0aW9uczogR2FudHRWaWV3T3B0aW9ucykge1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHt9LCB2aWV3T3B0aW9ucywgb3B0aW9ucyk7XG4gICAgICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IHN0YXJ0LmlzQ3VzdG9tXG4gICAgICAgICAgICA/IHRoaXMuc3RhcnRPZihzdGFydC5kYXRlKVxuICAgICAgICAgICAgOiB0aGlzLnN0YXJ0T2Yoc3RhcnQuZGF0ZS52YWx1ZSA8IHRoaXMub3B0aW9ucy5zdGFydC52YWx1ZSA/IHN0YXJ0LmRhdGUgOiB0aGlzLm9wdGlvbnMuc3RhcnQpO1xuICAgICAgICBjb25zdCBlbmREYXRlID0gZW5kLmlzQ3VzdG9tXG4gICAgICAgICAgICA/IHRoaXMuZW5kT2YoZW5kLmRhdGUpXG4gICAgICAgICAgICA6IHRoaXMuZW5kT2YoZW5kLmRhdGUudmFsdWUgPiB0aGlzLm9wdGlvbnMuZW5kLnZhbHVlID8gZW5kLmRhdGUgOiB0aGlzLm9wdGlvbnMuZW5kKTtcbiAgICAgICAgdGhpcy5zdGFydCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEdhbnR0RGF0ZT4oc3RhcnREYXRlKTtcbiAgICAgICAgdGhpcy5lbmQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxHYW50dERhdGU+KGVuZERhdGUpO1xuICAgICAgICB0aGlzLmluaXRpYWxpemUoKTtcbiAgICB9XG5cbiAgICBhYnN0cmFjdCBzdGFydE9mKGRhdGU6IEdhbnR0RGF0ZSk6IEdhbnR0RGF0ZTtcblxuICAgIGFic3RyYWN0IGVuZE9mKGRhdGU6IEdhbnR0RGF0ZSk6IEdhbnR0RGF0ZTtcblxuICAgIC8vIOiOt+WPluS4gOe6p+aXtumXtOe9keagvOWQiOW5tuWQjueahOWuveW6plxuICAgIGFic3RyYWN0IGdldFByaW1hcnlXaWR0aCgpOiBudW1iZXI7XG5cbiAgICAvLyDojrflj5blvZPliY3op4blm77kuIvmr4/kuIDlpKnljaDnlKjnmoTlrr3luqZcbiAgICBhYnN0cmFjdCBnZXREYXlPY2N1cGFuY3lXaWR0aChkYXRlOiBHYW50dERhdGUpOiBudW1iZXI7XG5cbiAgICAvLyDojrflj5bkuIDnuqfml7bpl7TngrnvvIjlnZDmoIfvvIzmmL7npLrlkI3np7DvvIlcbiAgICBhYnN0cmFjdCBnZXRQcmltYXJ5RGF0ZVBvaW50cygpOiBHYW50dERhdGVQb2ludFtdO1xuXG4gICAgLy8g6I635Y+W5LqM57qn5pe26Ze054K577yI5Z2Q5qCH77yM5pi+56S65ZCN56ew77yJXG4gICAgYWJzdHJhY3QgZ2V0U2Vjb25kYXJ5RGF0ZVBvaW50cygpOiBHYW50dERhdGVQb2ludFtdO1xuXG4gICAgcHJvdGVjdGVkIGdldERhdGVJbnRlcnZhbFdpZHRoKHN0YXJ0OiBHYW50dERhdGUsIGVuZDogR2FudHREYXRlKSB7XG4gICAgICAgIGxldCByZXN1bHQgPSAwO1xuICAgICAgICBjb25zdCBkYXlzID0gZGlmZmVyZW5jZUluRGF5cyhlbmQudmFsdWUsIHN0YXJ0LnZhbHVlKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBNYXRoLmFicyhkYXlzKTsgaSsrKSB7XG4gICAgICAgICAgICByZXN1bHQgKz0gdGhpcy5nZXREYXlPY2N1cGFuY3lXaWR0aChzdGFydC5hZGREYXlzKGkpKTtcbiAgICAgICAgfVxuICAgICAgICByZXN1bHQgPSBkYXlzID49IDAgPyByZXN1bHQgOiAtcmVzdWx0O1xuICAgICAgICByZXR1cm4gTnVtYmVyKHJlc3VsdC50b0ZpeGVkKDMpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaW5pdGlhbGl6ZSgpIHtcbiAgICAgICAgdGhpcy5wcmltYXJ5RGF0ZVBvaW50cyA9IHRoaXMuZ2V0UHJpbWFyeURhdGVQb2ludHMoKTtcbiAgICAgICAgdGhpcy5zZWNvbmRhcnlEYXRlUG9pbnRzID0gdGhpcy5nZXRTZWNvbmRhcnlEYXRlUG9pbnRzKCk7XG4gICAgICAgIHRoaXMud2lkdGggPSB0aGlzLmdldFdpZHRoKCk7XG4gICAgICAgIHRoaXMuY2VsbFdpZHRoID0gdGhpcy5nZXRDZWxsV2lkdGgoKTtcbiAgICAgICAgdGhpcy5wcmltYXJ5V2lkdGggPSB0aGlzLmdldFByaW1hcnlXaWR0aCgpO1xuICAgIH1cblxuICAgIGFkZFN0YXJ0RGF0ZSgpIHtcbiAgICAgICAgY29uc3Qgc3RhcnQgPSB0aGlzLnN0YXJ0T2YodGhpcy5zdGFydC5hZGQodGhpcy5vcHRpb25zLmFkZEFtb3VudCAqIC0xLCB0aGlzLm9wdGlvbnMuYWRkVW5pdCkpO1xuICAgICAgICBpZiAoc3RhcnQudmFsdWUgPj0gdGhpcy5vcHRpb25zLm1pbi52YWx1ZSkge1xuICAgICAgICAgICAgY29uc3Qgb3JpZ2luID0gdGhpcy5zdGFydDtcbiAgICAgICAgICAgIHRoaXMuc3RhcnQkLm5leHQoc3RhcnQpO1xuICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplKCk7XG4gICAgICAgICAgICByZXR1cm4geyBzdGFydDogdGhpcy5zdGFydCwgZW5kOiBvcmlnaW4gfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBhZGRFbmREYXRlKCkge1xuICAgICAgICBjb25zdCBlbmQgPSB0aGlzLmVuZE9mKHRoaXMuZW5kLmFkZCh0aGlzLm9wdGlvbnMuYWRkQW1vdW50LCB0aGlzLm9wdGlvbnMuYWRkVW5pdCkpO1xuICAgICAgICBpZiAoZW5kLnZhbHVlIDw9IHRoaXMub3B0aW9ucy5tYXgudmFsdWUpIHtcbiAgICAgICAgICAgIGNvbnN0IG9yaWdpbiA9IHRoaXMuZW5kO1xuICAgICAgICAgICAgdGhpcy5lbmQkLm5leHQoZW5kKTtcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZSgpO1xuICAgICAgICAgICAgcmV0dXJuIHsgc3RhcnQ6IG9yaWdpbiwgZW5kOiB0aGlzLmVuZCB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHVwZGF0ZURhdGUoc3RhcnQ6IEdhbnR0RGF0ZSwgZW5kOiBHYW50dERhdGUpIHtcbiAgICAgICAgc3RhcnQgPSB0aGlzLnN0YXJ0T2Yoc3RhcnQpO1xuICAgICAgICBlbmQgPSB0aGlzLmVuZE9mKGVuZCk7XG4gICAgICAgIGlmIChzdGFydC52YWx1ZSA8IHRoaXMuc3RhcnQudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuc3RhcnQkLm5leHQoc3RhcnQpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlbmQudmFsdWUgPiB0aGlzLmVuZC52YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5lbmQkLm5leHQoZW5kKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmluaXRpYWxpemUoKTtcbiAgICB9XG5cbiAgICAvLyDojrflj5ZWaWV355qE5a695bqmXG4gICAgZ2V0V2lkdGgoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldENlbGxXaWR0aCgpICogdGhpcy5zZWNvbmRhcnlEYXRlUG9pbnRzLmxlbmd0aDtcbiAgICB9XG5cbiAgICAvLyDojrflj5bljZXkuKrnvZHmoLznmoTlrr3luqZcbiAgICBnZXRDZWxsV2lkdGgoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuY2VsbFdpZHRoO1xuICAgIH1cblxuICAgIC8vIOiOt+WPluW9k+WJjeaXtumXtOeahFjlnZDmoIdcbiAgICBnZXRUb2RheVhQb2ludCgpOiBudW1iZXIge1xuICAgICAgICBjb25zdCB0b2FkeSA9IG5ldyBHYW50dERhdGUoKS5zdGFydE9mRGF5KCk7XG4gICAgICAgIGlmICh0b2FkeS52YWx1ZSA+IHRoaXMuc3RhcnQudmFsdWUgJiYgdG9hZHkudmFsdWUgPCB0aGlzLmVuZC52YWx1ZSkge1xuICAgICAgICAgICAgY29uc3QgeCA9IHRoaXMuZ2V0WFBvaW50QnlEYXRlKHRvYWR5KSArIHRoaXMuZ2V0RGF5T2NjdXBhbmN5V2lkdGgodG9hZHkpIC8gMjtcbiAgICAgICAgICAgIHJldHVybiB4O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyDojrflj5bmjIflrprml7bpl7TnmoRY5Z2Q5qCHXG4gICAgZ2V0WFBvaW50QnlEYXRlKGRhdGU6IEdhbnR0RGF0ZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXREYXRlSW50ZXJ2YWxXaWR0aCh0aGlzLnN0YXJ0LCBkYXRlKTtcbiAgICB9XG5cbiAgICAvLyDmoLnmja5Y5Z2Q5qCH6I635Y+W5a+55bqU5pe26Ze0XG4gICAgZ2V0RGF0ZUJ5WFBvaW50KHg6IG51bWJlcikge1xuICAgICAgICBjb25zdCBpbmRleE9mU2Vjb25kYXJ5RGF0ZSA9IE1hdGguZmxvb3IoeCAvIHRoaXMuZ2V0Q2VsbFdpZHRoKCkpO1xuICAgICAgICBjb25zdCBtYXRjaERhdGUgPSB0aGlzLnNlY29uZGFyeURhdGVQb2ludHNbaW5kZXhPZlNlY29uZGFyeURhdGVdO1xuICAgICAgICBjb25zdCBkYXlXaWR0aCA9IHRoaXMuZ2V0RGF5T2NjdXBhbmN5V2lkdGgobWF0Y2hEYXRlPy5zdGFydCk7XG4gICAgICAgIGlmIChkYXlXaWR0aCA9PT0gdGhpcy5nZXRDZWxsV2lkdGgoKSkge1xuICAgICAgICAgICAgcmV0dXJuIG1hdGNoRGF0ZT8uc3RhcnQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBkYXkgPSBNYXRoLmZsb29yKCh4ICUgdGhpcy5nZXRDZWxsV2lkdGgoKSkgLyBkYXlXaWR0aCkgKyAxO1xuICAgICAgICAgICAgaWYgKHRoaXMuZ2V0Q2VsbFdpZHRoKCkgLyBkYXlXaWR0aCA9PT0gNykge1xuICAgICAgICAgICAgICAgIHJldHVybiBtYXRjaERhdGU/LnN0YXJ0LmFkZERheXMoZGF5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBtYXRjaERhdGU/LnN0YXJ0LnNldERhdGUoZGF5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIOiOt+WPluaMh+WumuaXtumXtOiMg+WbtOeahOWuveW6plxuICAgIGdldERhdGVSYW5nZVdpZHRoKHN0YXJ0OiBHYW50dERhdGUsIGVuZDogR2FudHREYXRlKSB7XG4gICAgICAgIC8vIGFkZFNlY29uZHMoMSkg5piv5Zug5Li66K6h566X55u45beu5aSp5Lya5Lul5LiA5Liq5pW05aSp5p2l6K6h566XIGVuZOaXtumXtOS4gOiIrOaYrzU55YiGNTnnp5LkuI3mmK/kuIDkuKrmlbTlpKnvvIzmiYDku6XpnIDopoHliqAxXG4gICAgICAgIHJldHVybiB0aGlzLmdldERhdGVJbnRlcnZhbFdpZHRoKHN0YXJ0LCBlbmQuYWRkU2Vjb25kcygxKSk7XG4gICAgfVxufVxuIl19
@@ -1,49 +0,0 @@
1
- import { GanttDatePoint } from '../class/date-point';
2
- import { eachWeekOfInterval, GanttDate } from '../utils/date';
3
- import { GanttView, primaryDatePointTop, secondaryDatePointTop } from './view';
4
- const viewOptions = {
5
- cellWidth: 280,
6
- start: new GanttDate().startOfYear().startOfWeek({ weekStartsOn: 1 }),
7
- end: new GanttDate().endOfYear().endOfWeek({ weekStartsOn: 1 }),
8
- addAmount: 1,
9
- addUnit: 'month'
10
- };
11
- export class GanttViewWeek extends GanttView {
12
- constructor(start, end, options) {
13
- super(start, end, Object.assign({}, viewOptions, options));
14
- }
15
- startOf(date) {
16
- return date.startOfWeek({ weekStartsOn: 1 });
17
- }
18
- endOf(date) {
19
- return date.endOfWeek({ weekStartsOn: 1 });
20
- }
21
- getPrimaryWidth() {
22
- return this.getCellWidth();
23
- }
24
- getDayOccupancyWidth() {
25
- return this.cellWidth / 7;
26
- }
27
- getPrimaryDatePoints() {
28
- const weeks = eachWeekOfInterval({ start: this.start.value, end: this.end.addSeconds(1).value }, { weekStartsOn: 1 });
29
- const points = [];
30
- for (let i = 0; i < weeks.length; i++) {
31
- const weekStart = new GanttDate(weeks[i]);
32
- const increaseWeek = weekStart.getDaysInMonth() - weekStart.getDate() >= 3 ? 0 : 1;
33
- const point = new GanttDatePoint(weekStart, weekStart.addWeeks(increaseWeek).format('yyyy年'), this.getCellWidth() / 2 + i * this.getCellWidth(), primaryDatePointTop);
34
- points.push(point);
35
- }
36
- return points;
37
- }
38
- getSecondaryDatePoints() {
39
- const weeks = eachWeekOfInterval({ start: this.start.value, end: this.end.value });
40
- const points = [];
41
- for (let i = 0; i < weeks.length; i++) {
42
- const start = new GanttDate(weeks[i]);
43
- const point = new GanttDatePoint(start, `第${start.format('w')}周`, i * this.getCellWidth() + this.getCellWidth() / 2, secondaryDatePointTop);
44
- points.push(point);
45
- }
46
- return points;
47
- }
48
- }
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vlay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dhbnR0L3NyYy92aWV3cy93ZWVrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxTQUFTLEVBQW1DLG1CQUFtQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRWhILE1BQU0sV0FBVyxHQUFxQjtJQUNsQyxTQUFTLEVBQUUsR0FBRztJQUNkLEtBQUssRUFBRSxJQUFJLFNBQVMsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLFlBQVksRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUNyRSxHQUFHLEVBQUUsSUFBSSxTQUFTLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDL0QsU0FBUyxFQUFFLENBQUM7SUFDWixPQUFPLEVBQUUsT0FBTztDQUNuQixDQUFDO0FBRUYsTUFBTSxPQUFPLGFBQWMsU0FBUSxTQUFTO0lBQ3hDLFlBQVksS0FBb0IsRUFBRSxHQUFrQixFQUFFLE9BQTBCO1FBQzVFLEtBQUssQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxPQUFPLENBQUMsSUFBZTtRQUNuQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsWUFBWSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELGVBQWU7UUFDWCxPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsb0JBQW9CO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELG9CQUFvQjtRQUNoQixNQUFNLEtBQUssR0FBRyxrQkFBa0IsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN0SCxNQUFNLE1BQU0sR0FBcUIsRUFBRSxDQUFDO1FBQ3BDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ25DLE1BQU0sU0FBUyxHQUFHLElBQUksU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFDLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxjQUFjLEVBQUUsR0FBRyxTQUFTLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNuRixNQUFNLEtBQUssR0FBRyxJQUFJLGNBQWMsQ0FDNUIsU0FBUyxFQUNULFNBQVMsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUNoRCxJQUFJLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQ2pELG1CQUFtQixDQUN0QixDQUFDO1lBQ0YsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN0QjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxzQkFBc0I7UUFDbEIsTUFBTSxLQUFLLEdBQUcsa0JBQWtCLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNuRixNQUFNLE1BQU0sR0FBcUIsRUFBRSxDQUFDO1FBQ3BDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ25DLE1BQU0sS0FBSyxHQUFHLElBQUksU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3RDLE1BQU0sS0FBSyxHQUFHLElBQUksY0FBYyxDQUM1QixLQUFLLEVBQ0wsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQ3hCLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxHQUFHLENBQUMsRUFDakQscUJBQXFCLENBQ3hCLENBQUM7WUFDRixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3RCO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2FudHREYXRlUG9pbnQgfSBmcm9tICcuLi9jbGFzcy9kYXRlLXBvaW50JztcbmltcG9ydCB7IGVhY2hXZWVrT2ZJbnRlcnZhbCwgR2FudHREYXRlIH0gZnJvbSAnLi4vdXRpbHMvZGF0ZSc7XG5pbXBvcnQgeyBHYW50dFZpZXcsIEdhbnR0Vmlld0RhdGUsIEdhbnR0Vmlld09wdGlvbnMsIHByaW1hcnlEYXRlUG9pbnRUb3AsIHNlY29uZGFyeURhdGVQb2ludFRvcCB9IGZyb20gJy4vdmlldyc7XG5cbmNvbnN0IHZpZXdPcHRpb25zOiBHYW50dFZpZXdPcHRpb25zID0ge1xuICAgIGNlbGxXaWR0aDogMjgwLFxuICAgIHN0YXJ0OiBuZXcgR2FudHREYXRlKCkuc3RhcnRPZlllYXIoKS5zdGFydE9mV2Vlayh7IHdlZWtTdGFydHNPbjogMSB9KSxcbiAgICBlbmQ6IG5ldyBHYW50dERhdGUoKS5lbmRPZlllYXIoKS5lbmRPZldlZWsoeyB3ZWVrU3RhcnRzT246IDEgfSksXG4gICAgYWRkQW1vdW50OiAxLFxuICAgIGFkZFVuaXQ6ICdtb250aCdcbn07XG5cbmV4cG9ydCBjbGFzcyBHYW50dFZpZXdXZWVrIGV4dGVuZHMgR2FudHRWaWV3IHtcbiAgICBjb25zdHJ1Y3RvcihzdGFydDogR2FudHRWaWV3RGF0ZSwgZW5kOiBHYW50dFZpZXdEYXRlLCBvcHRpb25zPzogR2FudHRWaWV3T3B0aW9ucykge1xuICAgICAgICBzdXBlcihzdGFydCwgZW5kLCBPYmplY3QuYXNzaWduKHt9LCB2aWV3T3B0aW9ucywgb3B0aW9ucykpO1xuICAgIH1cblxuICAgIHN0YXJ0T2YoZGF0ZTogR2FudHREYXRlKSB7XG4gICAgICAgIHJldHVybiBkYXRlLnN0YXJ0T2ZXZWVrKHsgd2Vla1N0YXJ0c09uOiAxIH0pO1xuICAgIH1cblxuICAgIGVuZE9mKGRhdGU6IEdhbnR0RGF0ZSkge1xuICAgICAgICByZXR1cm4gZGF0ZS5lbmRPZldlZWsoeyB3ZWVrU3RhcnRzT246IDEgfSk7XG4gICAgfVxuXG4gICAgZ2V0UHJpbWFyeVdpZHRoKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRDZWxsV2lkdGgoKTtcbiAgICB9XG5cbiAgICBnZXREYXlPY2N1cGFuY3lXaWR0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5jZWxsV2lkdGggLyA3O1xuICAgIH1cblxuICAgIGdldFByaW1hcnlEYXRlUG9pbnRzKCk6IEdhbnR0RGF0ZVBvaW50W10ge1xuICAgICAgICBjb25zdCB3ZWVrcyA9IGVhY2hXZWVrT2ZJbnRlcnZhbCh7IHN0YXJ0OiB0aGlzLnN0YXJ0LnZhbHVlLCBlbmQ6IHRoaXMuZW5kLmFkZFNlY29uZHMoMSkudmFsdWUgfSwgeyB3ZWVrU3RhcnRzT246IDEgfSk7XG4gICAgICAgIGNvbnN0IHBvaW50czogR2FudHREYXRlUG9pbnRbXSA9IFtdO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHdlZWtzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCB3ZWVrU3RhcnQgPSBuZXcgR2FudHREYXRlKHdlZWtzW2ldKTtcbiAgICAgICAgICAgIGNvbnN0IGluY3JlYXNlV2VlayA9IHdlZWtTdGFydC5nZXREYXlzSW5Nb250aCgpIC0gd2Vla1N0YXJ0LmdldERhdGUoKSA+PSAzID8gMCA6IDE7XG4gICAgICAgICAgICBjb25zdCBwb2ludCA9IG5ldyBHYW50dERhdGVQb2ludChcbiAgICAgICAgICAgICAgICB3ZWVrU3RhcnQsXG4gICAgICAgICAgICAgICAgd2Vla1N0YXJ0LmFkZFdlZWtzKGluY3JlYXNlV2VlaykuZm9ybWF0KCd5eXl55bm0JyksXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRDZWxsV2lkdGgoKSAvIDIgKyBpICogdGhpcy5nZXRDZWxsV2lkdGgoKSxcbiAgICAgICAgICAgICAgICBwcmltYXJ5RGF0ZVBvaW50VG9wXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcG9pbnRzLnB1c2gocG9pbnQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwb2ludHM7XG4gICAgfVxuXG4gICAgZ2V0U2Vjb25kYXJ5RGF0ZVBvaW50cygpOiBHYW50dERhdGVQb2ludFtdIHtcbiAgICAgICAgY29uc3Qgd2Vla3MgPSBlYWNoV2Vla09mSW50ZXJ2YWwoeyBzdGFydDogdGhpcy5zdGFydC52YWx1ZSwgZW5kOiB0aGlzLmVuZC52YWx1ZSB9KTtcbiAgICAgICAgY29uc3QgcG9pbnRzOiBHYW50dERhdGVQb2ludFtdID0gW107XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgd2Vla3MubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0ID0gbmV3IEdhbnR0RGF0ZSh3ZWVrc1tpXSk7XG4gICAgICAgICAgICBjb25zdCBwb2ludCA9IG5ldyBHYW50dERhdGVQb2ludChcbiAgICAgICAgICAgICAgICBzdGFydCxcbiAgICAgICAgICAgICAgICBg56ysJHtzdGFydC5mb3JtYXQoJ3cnKX3lkahgLFxuICAgICAgICAgICAgICAgIGkgKiB0aGlzLmdldENlbGxXaWR0aCgpICsgdGhpcy5nZXRDZWxsV2lkdGgoKSAvIDIsXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5RGF0ZVBvaW50VG9wXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcG9pbnRzLnB1c2gocG9pbnQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwb2ludHM7XG4gICAgfVxufVxuIl19
@@ -1,50 +0,0 @@
1
- import { GanttView, primaryDatePointTop } from './view';
2
- import { GanttDate } from '../utils/date';
3
- import { GanttDatePoint } from '../class/date-point';
4
- import { eachYearOfInterval, differenceInCalendarYears } from 'date-fns';
5
- const viewOptions = {
6
- cellWidth: 480,
7
- start: new GanttDate().addYears(-2).startOfYear(),
8
- end: new GanttDate().addYears(2).endOfYear(),
9
- addAmount: 1,
10
- addUnit: 'year'
11
- };
12
- export class GanttViewYear extends GanttView {
13
- constructor(start, end, options) {
14
- super(start, end, Object.assign({}, viewOptions, options));
15
- }
16
- startOf(date) {
17
- return date.startOfYear();
18
- }
19
- endOf(date) {
20
- return date.endOfYear();
21
- }
22
- getPrimaryWidth() {
23
- return this.getCellWidth();
24
- }
25
- getDayOccupancyWidth(date) {
26
- return this.cellWidth / date.getDaysInYear();
27
- }
28
- getPrimaryDatePoints() {
29
- const years = eachYearOfInterval({ start: this.start.value, end: this.end.value });
30
- const points = [];
31
- for (let i = 0; i < years.length; i++) {
32
- const start = new GanttDate(years[i]);
33
- const point = new GanttDatePoint(start, ``, this.getCellWidth() / 2 + i * this.getCellWidth(), primaryDatePointTop);
34
- points.push(point);
35
- }
36
- return points;
37
- }
38
- getSecondaryDatePoints() {
39
- const years = differenceInCalendarYears(this.end.value, this.start.value);
40
- const points = [];
41
- const pointTop = 27;
42
- for (let i = 0; i <= years; i++) {
43
- const start = this.start.addYears(i);
44
- const point = new GanttDatePoint(start, `${start.format('yyyy')}年`, i * this.getCellWidth() + this.getCellWidth() / 2, pointTop);
45
- points.push(point);
46
- }
47
- return points;
48
- }
49
- }
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWVhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dhbnR0L3NyYy92aWV3cy95ZWFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQW9CLG1CQUFtQixFQUF3QyxNQUFNLFFBQVEsQ0FBQztBQUNoSCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFekUsTUFBTSxXQUFXLEdBQXFCO0lBQ2xDLFNBQVMsRUFBRSxHQUFHO0lBQ2QsS0FBSyxFQUFFLElBQUksU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFO0lBQ2pELEdBQUcsRUFBRSxJQUFJLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUU7SUFDNUMsU0FBUyxFQUFFLENBQUM7SUFDWixPQUFPLEVBQUUsTUFBTTtDQUNsQixDQUFDO0FBRUYsTUFBTSxPQUFPLGFBQWMsU0FBUSxTQUFTO0lBQ3hDLFlBQVksS0FBb0IsRUFBRSxHQUFrQixFQUFFLE9BQTBCO1FBQzVFLEtBQUssQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxPQUFPLENBQUMsSUFBZTtRQUNuQixPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsS0FBSyxDQUFDLElBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGVBQWU7UUFDWCxPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsb0JBQW9CLENBQUMsSUFBZTtRQUNoQyxPQUFPLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ2pELENBQUM7SUFFRCxvQkFBb0I7UUFDaEIsTUFBTSxLQUFLLEdBQUcsa0JBQWtCLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNuRixNQUFNLE1BQU0sR0FBcUIsRUFBRSxDQUFDO1FBQ3BDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ25DLE1BQU0sS0FBSyxHQUFHLElBQUksU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3RDLE1BQU0sS0FBSyxHQUFHLElBQUksY0FBYyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLG1CQUFtQixDQUFDLENBQUM7WUFDcEgsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN0QjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxzQkFBc0I7UUFDbEIsTUFBTSxLQUFLLEdBQUcseUJBQXlCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxRSxNQUFNLE1BQU0sR0FBcUIsRUFBRSxDQUFDO1FBQ3BDLE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNwQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzdCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3JDLE1BQU0sS0FBSyxHQUFHLElBQUksY0FBYyxDQUM1QixLQUFLLEVBQ0wsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQzFCLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxHQUFHLENBQUMsRUFDakQsUUFBUSxDQUNYLENBQUM7WUFDRixNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3RCO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2FudHRWaWV3LCBHYW50dFZpZXdPcHRpb25zLCBwcmltYXJ5RGF0ZVBvaW50VG9wLCBzZWNvbmRhcnlEYXRlUG9pbnRUb3AsIEdhbnR0Vmlld0RhdGUgfSBmcm9tICcuL3ZpZXcnO1xuaW1wb3J0IHsgR2FudHREYXRlIH0gZnJvbSAnLi4vdXRpbHMvZGF0ZSc7XG5pbXBvcnQgeyBHYW50dERhdGVQb2ludCB9IGZyb20gJy4uL2NsYXNzL2RhdGUtcG9pbnQnO1xuaW1wb3J0IHsgZWFjaFllYXJPZkludGVydmFsLCBkaWZmZXJlbmNlSW5DYWxlbmRhclllYXJzIH0gZnJvbSAnZGF0ZS1mbnMnO1xuXG5jb25zdCB2aWV3T3B0aW9uczogR2FudHRWaWV3T3B0aW9ucyA9IHtcbiAgICBjZWxsV2lkdGg6IDQ4MCxcbiAgICBzdGFydDogbmV3IEdhbnR0RGF0ZSgpLmFkZFllYXJzKC0yKS5zdGFydE9mWWVhcigpLFxuICAgIGVuZDogbmV3IEdhbnR0RGF0ZSgpLmFkZFllYXJzKDIpLmVuZE9mWWVhcigpLFxuICAgIGFkZEFtb3VudDogMSxcbiAgICBhZGRVbml0OiAneWVhcidcbn07XG5cbmV4cG9ydCBjbGFzcyBHYW50dFZpZXdZZWFyIGV4dGVuZHMgR2FudHRWaWV3IHtcbiAgICBjb25zdHJ1Y3RvcihzdGFydDogR2FudHRWaWV3RGF0ZSwgZW5kOiBHYW50dFZpZXdEYXRlLCBvcHRpb25zPzogR2FudHRWaWV3T3B0aW9ucykge1xuICAgICAgICBzdXBlcihzdGFydCwgZW5kLCBPYmplY3QuYXNzaWduKHt9LCB2aWV3T3B0aW9ucywgb3B0aW9ucykpO1xuICAgIH1cblxuICAgIHN0YXJ0T2YoZGF0ZTogR2FudHREYXRlKSB7XG4gICAgICAgIHJldHVybiBkYXRlLnN0YXJ0T2ZZZWFyKCk7XG4gICAgfVxuXG4gICAgZW5kT2YoZGF0ZTogR2FudHREYXRlKSB7XG4gICAgICAgIHJldHVybiBkYXRlLmVuZE9mWWVhcigpO1xuICAgIH1cblxuICAgIGdldFByaW1hcnlXaWR0aCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q2VsbFdpZHRoKCk7XG4gICAgfVxuXG4gICAgZ2V0RGF5T2NjdXBhbmN5V2lkdGgoZGF0ZTogR2FudHREYXRlKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2VsbFdpZHRoIC8gZGF0ZS5nZXREYXlzSW5ZZWFyKCk7XG4gICAgfVxuXG4gICAgZ2V0UHJpbWFyeURhdGVQb2ludHMoKTogR2FudHREYXRlUG9pbnRbXSB7XG4gICAgICAgIGNvbnN0IHllYXJzID0gZWFjaFllYXJPZkludGVydmFsKHsgc3RhcnQ6IHRoaXMuc3RhcnQudmFsdWUsIGVuZDogdGhpcy5lbmQudmFsdWUgfSk7XG4gICAgICAgIGNvbnN0IHBvaW50czogR2FudHREYXRlUG9pbnRbXSA9IFtdO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHllYXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBzdGFydCA9IG5ldyBHYW50dERhdGUoeWVhcnNbaV0pO1xuICAgICAgICAgICAgY29uc3QgcG9pbnQgPSBuZXcgR2FudHREYXRlUG9pbnQoc3RhcnQsIGBgLCB0aGlzLmdldENlbGxXaWR0aCgpIC8gMiArIGkgKiB0aGlzLmdldENlbGxXaWR0aCgpLCBwcmltYXJ5RGF0ZVBvaW50VG9wKTtcbiAgICAgICAgICAgIHBvaW50cy5wdXNoKHBvaW50KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcG9pbnRzO1xuICAgIH1cblxuICAgIGdldFNlY29uZGFyeURhdGVQb2ludHMoKTogR2FudHREYXRlUG9pbnRbXSB7XG4gICAgICAgIGNvbnN0IHllYXJzID0gZGlmZmVyZW5jZUluQ2FsZW5kYXJZZWFycyh0aGlzLmVuZC52YWx1ZSwgdGhpcy5zdGFydC52YWx1ZSk7XG4gICAgICAgIGNvbnN0IHBvaW50czogR2FudHREYXRlUG9pbnRbXSA9IFtdO1xuICAgICAgICBjb25zdCBwb2ludFRvcCA9IDI3O1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8PSB5ZWFyczsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBzdGFydCA9IHRoaXMuc3RhcnQuYWRkWWVhcnMoaSk7XG4gICAgICAgICAgICBjb25zdCBwb2ludCA9IG5ldyBHYW50dERhdGVQb2ludChcbiAgICAgICAgICAgICAgICBzdGFydCxcbiAgICAgICAgICAgICAgICBgJHtzdGFydC5mb3JtYXQoJ3l5eXknKX3lubRgLFxuICAgICAgICAgICAgICAgIGkgKiB0aGlzLmdldENlbGxXaWR0aCgpICsgdGhpcy5nZXRDZWxsV2lkdGgoKSAvIDIsXG4gICAgICAgICAgICAgICAgcG9pbnRUb3BcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBwb2ludHMucHVzaChwb2ludCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHBvaW50cztcbiAgICB9XG59XG4iXX0=
@@ -1,16 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public-api';
5
- export { GanttBarDrag as ɵd } from './components/bar/bar-drag';
6
- export { NgxGanttBarComponent as ɵc } from './components/bar/bar.component';
7
- export { GanttCalendarComponent as ɵg } from './components/calendar/calendar.component';
8
- export { GanttDragBackdropComponent as ɵj } from './components/drag-backdrop/drag-backdrop.component';
9
- export { GanttIconComponent as ɵi } from './components/icon/icon.component';
10
- export { GanttLinksComponent as ɵh } from './components/links/links.component';
11
- export { GanttMainComponent as ɵf } from './components/main/gantt-main.component';
12
- export { NgxGanttRangeComponent as ɵk } from './components/range/range.component';
13
- export { GanttTableComponent as ɵe } from './components/table/gantt-table.component';
14
- export { GanttDomService as ɵa } from './gantt-dom.service';
15
- export { GanttDragContainer as ɵb } from './gantt-drag-container';
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3RpbGUtZ2FudHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9nYW50dC9zcmMvd29ya3RpbGUtZ2FudHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQztBQUU3QixPQUFPLEVBQUMsWUFBWSxJQUFJLEVBQUUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMxRSxPQUFPLEVBQUMsc0JBQXNCLElBQUksRUFBRSxFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDdEYsT0FBTyxFQUFDLDBCQUEwQixJQUFJLEVBQUUsRUFBQyxNQUFNLG9EQUFvRCxDQUFDO0FBQ3BHLE9BQU8sRUFBQyxrQkFBa0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxRSxPQUFPLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDN0UsT0FBTyxFQUFDLGtCQUFrQixJQUFJLEVBQUUsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQ2hGLE9BQU8sRUFBQyxzQkFBc0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUNoRixPQUFPLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDbkYsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRCxPQUFPLEVBQUMsa0JBQWtCLElBQUksRUFBRSxFQUFDLE1BQU0sd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG5cbmV4cG9ydCB7R2FudHRCYXJEcmFnIGFzIMm1ZH0gZnJvbSAnLi9jb21wb25lbnRzL2Jhci9iYXItZHJhZyc7XG5leHBvcnQge05neEdhbnR0QmFyQ29tcG9uZW50IGFzIMm1Y30gZnJvbSAnLi9jb21wb25lbnRzL2Jhci9iYXIuY29tcG9uZW50JztcbmV4cG9ydCB7R2FudHRDYWxlbmRhckNvbXBvbmVudCBhcyDJtWd9IGZyb20gJy4vY29tcG9uZW50cy9jYWxlbmRhci9jYWxlbmRhci5jb21wb25lbnQnO1xuZXhwb3J0IHtHYW50dERyYWdCYWNrZHJvcENvbXBvbmVudCBhcyDJtWp9IGZyb20gJy4vY29tcG9uZW50cy9kcmFnLWJhY2tkcm9wL2RyYWctYmFja2Ryb3AuY29tcG9uZW50JztcbmV4cG9ydCB7R2FudHRJY29uQ29tcG9uZW50IGFzIMm1aX0gZnJvbSAnLi9jb21wb25lbnRzL2ljb24vaWNvbi5jb21wb25lbnQnO1xuZXhwb3J0IHtHYW50dExpbmtzQ29tcG9uZW50IGFzIMm1aH0gZnJvbSAnLi9jb21wb25lbnRzL2xpbmtzL2xpbmtzLmNvbXBvbmVudCc7XG5leHBvcnQge0dhbnR0TWFpbkNvbXBvbmVudCBhcyDJtWZ9IGZyb20gJy4vY29tcG9uZW50cy9tYWluL2dhbnR0LW1haW4uY29tcG9uZW50JztcbmV4cG9ydCB7Tmd4R2FudHRSYW5nZUNvbXBvbmVudCBhcyDJtWt9IGZyb20gJy4vY29tcG9uZW50cy9yYW5nZS9yYW5nZS5jb21wb25lbnQnO1xuZXhwb3J0IHtHYW50dFRhYmxlQ29tcG9uZW50IGFzIMm1ZX0gZnJvbSAnLi9jb21wb25lbnRzL3RhYmxlL2dhbnR0LXRhYmxlLmNvbXBvbmVudCc7XG5leHBvcnQge0dhbnR0RG9tU2VydmljZSBhcyDJtWF9IGZyb20gJy4vZ2FudHQtZG9tLnNlcnZpY2UnO1xuZXhwb3J0IHtHYW50dERyYWdDb250YWluZXIgYXMgybVifSBmcm9tICcuL2dhbnR0LWRyYWctY29udGFpbmVyJzsiXX0=