@worktile/gantt 12.0.1 → 12.1.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 (232) hide show
  1. package/README.md +13 -116
  2. package/bundles/worktile-gantt.umd.js +3369 -0
  3. package/bundles/worktile-gantt.umd.js.map +1 -0
  4. package/class/date-point.d.ts +15 -0
  5. package/{packages/gantt/src/class/event.ts → class/event.d.ts} +6 -12
  6. package/class/group.d.ts +22 -0
  7. package/{packages/gantt/src/class/index.ts → class/index.d.ts} +0 -0
  8. package/class/item.d.ts +70 -0
  9. package/class/view-type.d.ts +7 -0
  10. package/components/bar/bar-drag.d.ts +37 -0
  11. package/components/bar/bar.component.d.ts +26 -0
  12. package/components/calendar/calendar.component.d.ts +28 -0
  13. package/components/drag-backdrop/drag-backdrop.component.d.ts +9 -0
  14. package/components/icon/icon.component.d.ts +13 -0
  15. package/components/icon/icons.d.ts +8 -0
  16. package/components/links/links.component.d.ts +47 -0
  17. package/components/main/gantt-main.component.d.ts +21 -0
  18. package/components/range/range.component.d.ts +13 -0
  19. package/components/table/gantt-table.component.d.ts +37 -0
  20. package/esm2015/class/date-point.js +10 -0
  21. package/esm2015/class/event.js +13 -0
  22. package/esm2015/class/group.js +17 -0
  23. package/esm2015/class/index.js +6 -0
  24. package/esm2015/class/item.js +78 -0
  25. package/esm2015/class/view-type.js +9 -0
  26. package/esm2015/components/bar/bar-drag.js +269 -0
  27. package/esm2015/components/bar/bar.component.js +98 -0
  28. package/esm2015/components/calendar/calendar.component.js +86 -0
  29. package/esm2015/components/drag-backdrop/drag-backdrop.component.js +21 -0
  30. package/esm2015/components/icon/icon.component.js +38 -0
  31. package/esm2015/components/icon/icons.js +87 -0
  32. package/esm2015/components/links/links.component.js +213 -0
  33. package/esm2015/components/main/gantt-main.component.js +53 -0
  34. package/esm2015/components/range/range.component.js +37 -0
  35. package/esm2015/components/table/gantt-table.component.js +149 -0
  36. package/esm2015/gantt-abstract.js +3 -0
  37. package/esm2015/gantt-dom.service.js +103 -0
  38. package/esm2015/gantt-drag-container.js +60 -0
  39. package/esm2015/gantt-item-upper.js +58 -0
  40. package/esm2015/gantt-print.service.js +94 -0
  41. package/esm2015/gantt-upper.js +280 -0
  42. package/esm2015/gantt.component.js +135 -0
  43. package/esm2015/gantt.config.js +13 -0
  44. package/esm2015/gantt.module.js +85 -0
  45. package/esm2015/gantt.pipe.js +43 -0
  46. package/esm2015/gantt.styles.js +15 -0
  47. package/esm2015/public-api.js +19 -0
  48. package/esm2015/root.component.js +123 -0
  49. package/esm2015/table/gantt-column.component.js +37 -0
  50. package/esm2015/table/gantt-table.component.js +20 -0
  51. package/esm2015/utils/date.js +160 -0
  52. package/esm2015/utils/helpers.js +55 -0
  53. package/esm2015/views/day.js +54 -0
  54. package/esm2015/views/factory.js +23 -0
  55. package/esm2015/views/month.js +48 -0
  56. package/esm2015/views/quarter.js +51 -0
  57. package/esm2015/views/view.js +123 -0
  58. package/esm2015/views/week.js +49 -0
  59. package/esm2015/views/year.js +50 -0
  60. package/esm2015/worktile-gantt.js +5 -0
  61. package/fesm2015/worktile-gantt.js +2697 -0
  62. package/fesm2015/worktile-gantt.js.map +1 -0
  63. package/{packages/gantt/src/gantt-abstract.ts → gantt-abstract.d.ts} +1 -3
  64. package/gantt-dom.service.d.ts +32 -0
  65. package/gantt-drag-container.d.ts +24 -0
  66. package/gantt-item-upper.d.ts +20 -0
  67. package/gantt-print.service.d.ts +13 -0
  68. package/gantt-upper.d.ts +69 -0
  69. package/gantt.component.d.ts +30 -0
  70. package/gantt.config.d.ts +23 -0
  71. package/gantt.module.d.ts +21 -0
  72. package/gantt.pipe.d.ts +18 -0
  73. package/gantt.styles.d.ts +15 -0
  74. package/main.bundle.scss +645 -0
  75. package/package.json +16 -113
  76. package/{packages/gantt/src/public-api.ts → public-api.d.ts} +1 -4
  77. package/root.component.d.ts +28 -0
  78. package/table/gantt-column.component.d.ts +15 -0
  79. package/table/gantt-table.component.d.ts +10 -0
  80. package/utils/date.d.ts +59 -0
  81. package/utils/helpers.d.ts +12 -0
  82. package/views/day.d.ts +14 -0
  83. package/views/factory.d.ts +8 -0
  84. package/views/month.d.ts +12 -0
  85. package/views/quarter.d.ts +12 -0
  86. package/views/view.d.ts +58 -0
  87. package/views/week.d.ts +12 -0
  88. package/views/year.d.ts +12 -0
  89. package/worktile-gantt.d.ts +5 -0
  90. package/.all-contributorsrc +0 -53
  91. package/.angulardoc.json +0 -4
  92. package/.circleci/config.yml +0 -17
  93. package/.coveralls.yml +0 -1
  94. package/.docgenirc.js +0 -64
  95. package/.editorconfig +0 -22
  96. package/.prettierrc +0 -24
  97. package/.travis.yml +0 -23
  98. package/CHANGELOG.md +0 -564
  99. package/Dockerfile +0 -4
  100. package/LICENSE +0 -21
  101. package/angular.json +0 -136
  102. package/docs/guides/basic/components.md +0 -54
  103. package/docs/guides/basic/event.md +0 -70
  104. package/docs/guides/basic/index.md +0 -4
  105. package/docs/guides/basic/style.md +0 -68
  106. package/docs/guides/basic/type.md +0 -70
  107. package/docs/guides/basic/usage.md +0 -189
  108. package/docs/guides/index.md +0 -5
  109. package/docs/guides/intro/getting-started.md +0 -79
  110. package/docs/guides/intro/index.md +0 -51
  111. package/docs/index.md +0 -0
  112. package/example/browserslist +0 -12
  113. package/example/src/app/app-routing.module.ts +0 -26
  114. package/example/src/app/app.component.html +0 -2
  115. package/example/src/app/app.component.ts +0 -11
  116. package/example/src/app/app.module.ts +0 -57
  117. package/example/src/app/components/components.component.html +0 -6
  118. package/example/src/app/components/components.component.ts +0 -33
  119. package/example/src/app/configuration/parameters/api/zh-cn.js +0 -350
  120. package/example/src/app/configuration/parameters/doc/zh-cn.md +0 -5
  121. package/example/src/app/gantt/gantt.component.html +0 -51
  122. package/example/src/app/gantt/gantt.component.ts +0 -119
  123. package/example/src/app/gantt-advanced/component/flat.component.html +0 -30
  124. package/example/src/app/gantt-advanced/component/flat.component.ts +0 -72
  125. package/example/src/app/gantt-advanced/component/flat.scss +0 -31
  126. package/example/src/app/gantt-advanced/gantt-advanced.component.html +0 -32
  127. package/example/src/app/gantt-advanced/gantt-advanced.component.ts +0 -34
  128. package/example/src/app/gantt-advanced/mocks.ts +0 -158
  129. package/example/src/app/gantt-groups/gantt-groups.component.html +0 -42
  130. package/example/src/app/gantt-groups/gantt-groups.component.ts +0 -62
  131. package/example/src/app/gantt-range/gantt-range.component.html +0 -66
  132. package/example/src/app/gantt-range/gantt-range.component.ts +0 -67
  133. package/example/src/app/gantt-range/mocks.ts +0 -150
  134. package/example/src/app/helper.ts +0 -38
  135. package/example/src/assets/.gitkeep +0 -0
  136. package/example/src/environments/environment.prod.ts +0 -3
  137. package/example/src/environments/environment.ts +0 -16
  138. package/example/src/favicon.ico +0 -0
  139. package/example/src/index.html +0 -13
  140. package/example/src/main.ts +0 -12
  141. package/example/src/polyfills.ts +0 -63
  142. package/example/src/styles.scss +0 -56
  143. package/example/tsconfig.app.json +0 -18
  144. package/nginx.conf +0 -17
  145. package/packages/gantt/README.md +0 -24
  146. package/packages/gantt/karma.conf.js +0 -46
  147. package/packages/gantt/ng-package.json +0 -7
  148. package/packages/gantt/ng-package.prod.json +0 -7
  149. package/packages/gantt/package.json +0 -16
  150. package/packages/gantt/src/class/date-point.ts +0 -14
  151. package/packages/gantt/src/class/group.ts +0 -36
  152. package/packages/gantt/src/class/item.ts +0 -129
  153. package/packages/gantt/src/class/test/group.spec.ts +0 -21
  154. package/packages/gantt/src/class/test/item.spec.ts +0 -102
  155. package/packages/gantt/src/class/view-type.ts +0 -7
  156. package/packages/gantt/src/components/bar/bar-drag.ts +0 -298
  157. package/packages/gantt/src/components/bar/bar.component.html +0 -17
  158. package/packages/gantt/src/components/bar/bar.component.scss +0 -169
  159. package/packages/gantt/src/components/bar/bar.component.ts +0 -109
  160. package/packages/gantt/src/components/bar/test/bar.component.spec.ts +0 -54
  161. package/packages/gantt/src/components/bar/test/bar.drag.spec.ts +0 -196
  162. package/packages/gantt/src/components/calendar/calendar.component.html +0 -52
  163. package/packages/gantt/src/components/calendar/calendar.component.scss +0 -77
  164. package/packages/gantt/src/components/calendar/calendar.component.ts +0 -100
  165. package/packages/gantt/src/components/drag-backdrop/drag-backdrop.component.html +0 -6
  166. package/packages/gantt/src/components/drag-backdrop/drag-backdrop.component.scss +0 -48
  167. package/packages/gantt/src/components/drag-backdrop/drag-backdrop.component.ts +0 -13
  168. package/packages/gantt/src/components/icon/icon.component.scss +0 -13
  169. package/packages/gantt/src/components/icon/icon.component.ts +0 -28
  170. package/packages/gantt/src/components/icon/icons.ts +0 -86
  171. package/packages/gantt/src/components/links/links.component.html +0 -19
  172. package/packages/gantt/src/components/links/links.component.scss +0 -27
  173. package/packages/gantt/src/components/links/links.component.ts +0 -263
  174. package/packages/gantt/src/components/main/gantt-main.component.html +0 -35
  175. package/packages/gantt/src/components/main/gantt-main.component.ts +0 -35
  176. package/packages/gantt/src/components/range/range.component.html +0 -8
  177. package/packages/gantt/src/components/range/range.component.scss +0 -35
  178. package/packages/gantt/src/components/range/range.component.ts +0 -27
  179. package/packages/gantt/src/components/range/test/range.component.spec.ts +0 -80
  180. package/packages/gantt/src/components/table/gantt-table.component.html +0 -105
  181. package/packages/gantt/src/components/table/gantt-table.component.scss +0 -144
  182. package/packages/gantt/src/components/table/gantt-table.component.ts +0 -166
  183. package/packages/gantt/src/components/table/test/table.spec.ts +0 -129
  184. package/packages/gantt/src/gantt-dom.service.ts +0 -134
  185. package/packages/gantt/src/gantt-drag-container.ts +0 -73
  186. package/packages/gantt/src/gantt-item-upper.ts +0 -50
  187. package/packages/gantt/src/gantt-print.service.ts +0 -104
  188. package/packages/gantt/src/gantt-upper.ts +0 -289
  189. package/packages/gantt/src/gantt.component.html +0 -18
  190. package/packages/gantt/src/gantt.component.scss +0 -77
  191. package/packages/gantt/src/gantt.component.ts +0 -134
  192. package/packages/gantt/src/gantt.module.ts +0 -47
  193. package/packages/gantt/src/gantt.pipe.ts +0 -31
  194. package/packages/gantt/src/gantt.styles.ts +0 -28
  195. package/packages/gantt/src/root.component.html +0 -12
  196. package/packages/gantt/src/root.component.ts +0 -121
  197. package/packages/gantt/src/styles/index.scss +0 -9
  198. package/packages/gantt/src/styles/variables.scss +0 -46
  199. package/packages/gantt/src/table/gantt-column.component.ts +0 -25
  200. package/packages/gantt/src/table/gantt-table.component.ts +0 -14
  201. package/packages/gantt/src/table/test/table.spec.ts +0 -56
  202. package/packages/gantt/src/test/gantt.component.spec.ts +0 -404
  203. package/packages/gantt/src/test/mocks/data.ts +0 -303
  204. package/packages/gantt/src/test.ts +0 -21
  205. package/packages/gantt/src/utils/date.ts +0 -276
  206. package/packages/gantt/src/utils/helpers.ts +0 -66
  207. package/packages/gantt/src/utils/test/date.spec.ts +0 -105
  208. package/packages/gantt/src/utils/test/helpers.spec.ts +0 -73
  209. package/packages/gantt/src/utils/testing.ts +0 -64
  210. package/packages/gantt/src/views/day.ts +0 -74
  211. package/packages/gantt/src/views/factory.ts +0 -25
  212. package/packages/gantt/src/views/month.ts +0 -66
  213. package/packages/gantt/src/views/quarter.ts +0 -68
  214. package/packages/gantt/src/views/test/day.spec.ts +0 -45
  215. package/packages/gantt/src/views/test/factory.spec.ts +0 -41
  216. package/packages/gantt/src/views/test/mock.ts +0 -14
  217. package/packages/gantt/src/views/test/month.spec.ts +0 -45
  218. package/packages/gantt/src/views/test/quarter.spec.ts +0 -45
  219. package/packages/gantt/src/views/test/view.spec.ts +0 -144
  220. package/packages/gantt/src/views/test/week.spec.ts +0 -45
  221. package/packages/gantt/src/views/test/year.spec.ts +0 -45
  222. package/packages/gantt/src/views/view.ts +0 -186
  223. package/packages/gantt/src/views/week.ts +0 -66
  224. package/packages/gantt/src/views/year.ts +0 -62
  225. package/packages/gantt/tsconfig.lib.json +0 -20
  226. package/packages/gantt/tsconfig.lib.prod.json +0 -9
  227. package/packages/gantt/tsconfig.schematics.json +0 -25
  228. package/packages/gantt/tsconfig.spec.json +0 -17
  229. package/packages/gantt/tslint.json +0 -18
  230. package/scss-bundle.config.json +0 -7
  231. package/tsconfig.json +0 -26
  232. package/tslint.json +0 -51
@@ -0,0 +1,645 @@
1
+ // basic
2
+ $gantt-color: #333 !default;
3
+ $gantt-header-height: 44px !default;
4
+ $gantt-border-color: #eee !default;
5
+ $gantt-bg-color: #fff !default;
6
+ $gantt-side-shadow: 12px 0 16px -10px rgba(0, 0, 0, 0.15) !default;
7
+ $gantt-container-background-color: #fafafa !default;
8
+ $gantt-item-height: 44px !default;
9
+ $gantt-group-background-color: rgba(
10
+ $color: #f3f3f3,
11
+ $alpha: 0.5
12
+ ) !default;
13
+ $gantt-group-height: 44px !default;
14
+ $gantt-table-td-padding: 0 15px !default;
15
+
16
+ // calendar
17
+ $gantt-date-primary-color: #888 !default;
18
+ $gantt-date-primary-font-size: 14px !default;
19
+ $gantt-date-primary-border: #ddd !default;
20
+ $gantt-date-secondary-color: #333 !default;
21
+ $gantt-date-secondary-font-size: 14px !default;
22
+ $gantt-date-secondary-weekend-color: #aaa !default;
23
+ $gantt-date-week-backdrop-bg: rgba(
24
+ $color: #f3f3f3,
25
+ $alpha: 0.5
26
+ ) !default;
27
+ $gantt-date-today-color: #ff9f73 !default;
28
+ $gantt-date-today-text-color: #fff !default;
29
+
30
+ // bar
31
+ $gantt-bar-bg: #fff !default;
32
+ $gantt-bar-layer-bg: #fff !default;
33
+ $gantt-bar-handle-color: #cacaca !default;
34
+ $gantt-bar-handle-height: 12px !default;
35
+ $gantt-bar-background-color: #348fe4 !default;
36
+
37
+ // drag
38
+ $gantt-item-drag-mask-color: #348fe4 !default;
39
+ $gantt-link-dragging-line-color: #348fe4 !default;
40
+
41
+ // link
42
+ $gantt-link-line-color: #348fe4 !default;
43
+
44
+ // table
45
+ $gantt-table-header-drag-line-width: 3px !default;
46
+ $gantt-table-header-drag-line-color: #348fe4 !default;
47
+
48
+ .gantt {
49
+ width: 100%;
50
+ height: 100%;
51
+ background-color: $gantt-bg-color;
52
+ position: relative;
53
+ overflow: hidden;
54
+ display: flex;
55
+ color: $gantt-color;
56
+ opacity: 0;
57
+
58
+ svg {
59
+ overflow: visible !important;
60
+ }
61
+
62
+ .gantt-side {
63
+ border-right: 1px solid $gantt-border-color;
64
+ position: relative;
65
+ z-index: 3;
66
+ // overflow-x: scroll;
67
+ box-shadow: $gantt-side-shadow;
68
+
69
+ .gantt-side-header {
70
+ box-sizing: border-box;
71
+ height: $gantt-header-height;
72
+ }
73
+
74
+ .gantt-side-container {
75
+ height: 100%;
76
+ background-color: $gantt-bg-color;
77
+ overflow-y: auto;
78
+
79
+ &::-webkit-scrollbar {
80
+ display: none;
81
+ }
82
+ }
83
+ }
84
+
85
+ .gantt-container {
86
+ flex: 1;
87
+ position: relative;
88
+ display: flex;
89
+ overflow: hidden;
90
+ background-color: $gantt-container-background-color;
91
+ }
92
+
93
+ .gantt-main-container {
94
+ width: 100%;
95
+ height: calc(100% - #{$gantt-header-height});
96
+ flex: 1;
97
+ position: absolute;
98
+ top: $gantt-header-height;
99
+ bottom: 0;
100
+ left: 0;
101
+ right: 0;
102
+ overflow: auto;
103
+ background-color: $gantt-container-background-color;
104
+
105
+ .gantt-main-groups,
106
+ .gantt-main-items {
107
+ overflow: hidden;
108
+ min-height: 100%;
109
+ }
110
+
111
+ .gantt-group {
112
+ height: $gantt-group-height;
113
+ background: $gantt-group-background-color;
114
+ border-bottom: 1px solid $gantt-border-color;
115
+ box-sizing: border-box;
116
+ }
117
+
118
+ .gantt-item {
119
+ border-bottom: 1px solid $gantt-border-color;
120
+ box-sizing: border-box;
121
+ position: relative;
122
+ }
123
+ }
124
+ }
125
+
126
+ .gantt-table {
127
+ display: block;
128
+ &-empty {
129
+ height: 100%;
130
+ position: relative;
131
+ .gantt-table-body {
132
+ position: absolute;
133
+ text-align: center;
134
+ top: 50%;
135
+ left: 50%;
136
+ transform: translate(-50%, -50%);
137
+ margin-top: 22px;
138
+ .empty-icon {
139
+ svg {
140
+ height: 78px;
141
+ width: 78px;
142
+ }
143
+ }
144
+ .empty-text {
145
+ color: #cacaca;
146
+ }
147
+ }
148
+ }
149
+
150
+ &-drag-trigger {
151
+ width: $gantt-table-header-drag-line-width;
152
+ position: absolute;
153
+ top: 0;
154
+ right: 0;
155
+ bottom: 0;
156
+ cursor: ew-resize;
157
+ z-index: 1;
158
+
159
+ &:hover {
160
+ background: $gantt-table-header-drag-line-color;
161
+ z-index: 2;
162
+ }
163
+ }
164
+
165
+ &-drag-auxiliary-line {
166
+ width: $gantt-table-header-drag-line-width;
167
+ background: $gantt-table-header-drag-line-color;
168
+ position: absolute;
169
+ top: 0;
170
+ bottom: 0;
171
+ z-index: 100;
172
+ display: none;
173
+ }
174
+
175
+ .gantt-table-row {
176
+ display: flex;
177
+ box-sizing: border-box;
178
+ border-bottom: 1px solid $gantt-border-color;
179
+
180
+ .gantt-table-column {
181
+ overflow: hidden;
182
+ border-right: 1px solid $gantt-border-color;
183
+ box-sizing: border-box;
184
+ position: relative;
185
+
186
+ &:last-child {
187
+ border-right: none;
188
+ }
189
+ }
190
+ }
191
+
192
+ .gantt-table-header {
193
+ text-align: center;
194
+ position: sticky;
195
+ top: 0;
196
+ background: #fff;
197
+ z-index: 2;
198
+ height: $gantt-header-height;
199
+ line-height: $gantt-header-height;
200
+
201
+ .gantt-table-column {
202
+ font-weight: 400;
203
+ }
204
+ }
205
+
206
+ .gantt-table-body {
207
+ .gantt-table-group {
208
+ display: flex;
209
+ height: $gantt-group-height;
210
+ background: $gantt-group-background-color;
211
+ padding: 0 10px;
212
+ align-items: center;
213
+ border-bottom: 1px solid $gantt-border-color;
214
+ box-sizing: border-box;
215
+ position: relative;
216
+
217
+ .gantt-table-group-title {
218
+ cursor: pointer;
219
+
220
+ .expand-icon {
221
+ color: #aaa;
222
+ margin-right: 6px;
223
+ }
224
+ }
225
+ }
226
+
227
+ .gantt-table-item {
228
+ cursor: pointer;
229
+ &-first-level-group {
230
+ background: $gantt-group-background-color;
231
+ }
232
+
233
+ &-with-group {
234
+ .gantt-table-column {
235
+ &:first-child {
236
+ padding: 0 15px 0 32px;
237
+ }
238
+ }
239
+ }
240
+
241
+ .gantt-table-column {
242
+ display: flex;
243
+ padding: $gantt-table-td-padding;
244
+
245
+ &:last-child {
246
+ border-right: none;
247
+ }
248
+ }
249
+
250
+ .gantt-table-column-content {
251
+ flex: 1;
252
+ position: relative;
253
+ overflow: hidden;
254
+ text-overflow: ellipsis;
255
+ white-space: nowrap;
256
+ }
257
+
258
+ &:hover {
259
+ background-color: $gantt-container-background-color;
260
+ }
261
+ }
262
+
263
+ .gantt-expand-icon {
264
+ display: inline-block;
265
+ width: 20px;
266
+ color: #aaa;
267
+ }
268
+ }
269
+ }
270
+
271
+ .gantt-calendar-overlay {
272
+ display: block;
273
+ height: 100%;
274
+ overflow: hidden;
275
+
276
+ .gantt-calendar-today-overlay {
277
+ position: relative;
278
+ z-index: 2;
279
+ .today-rect {
280
+ width: 35px;
281
+ height: 24px;
282
+ position: absolute;
283
+ background: $gantt-date-today-color;
284
+ color: $gantt-date-today-text-color;
285
+ text-align: center;
286
+ border-radius: 4px;
287
+ }
288
+ .today-line {
289
+ position: absolute;
290
+ width: 3px;
291
+ background: $gantt-date-today-color;
292
+ transform: scaleX(0.5);
293
+ transform-origin: 100% 0;
294
+ margin-left: -2px;
295
+ }
296
+ }
297
+
298
+ .gantt-calendar-overlay-main {
299
+ position: relative;
300
+ z-index: 1;
301
+ background-color: $gantt-bg-color;
302
+ }
303
+
304
+ svg {
305
+ overflow: visible;
306
+ }
307
+
308
+ line {
309
+ shape-rendering: crispEdges;
310
+ }
311
+
312
+ .primary-text {
313
+ fill: $gantt-date-primary-color;
314
+ font-size: $gantt-date-primary-font-size;
315
+ }
316
+
317
+ .secondary-text {
318
+ fill: $gantt-date-secondary-color;
319
+ font-size: $gantt-date-secondary-font-size;
320
+
321
+ &-weekend {
322
+ fill: $gantt-date-secondary-weekend-color;
323
+ }
324
+ }
325
+
326
+ .primary-text,
327
+ .secondary-text {
328
+ text-anchor: middle;
329
+ }
330
+
331
+ .primary-line {
332
+ stroke: $gantt-date-primary-border;
333
+ }
334
+
335
+ .secondary-line {
336
+ stroke-dasharray: 2px 5px;
337
+ stroke: #cacaca;
338
+ }
339
+
340
+ .header-line {
341
+ stroke: $gantt-border-color;
342
+ }
343
+
344
+ .secondary-backdrop {
345
+ fill: $gantt-date-week-backdrop-bg;
346
+ }
347
+ }
348
+
349
+ .gantt-drag-backdrop {
350
+ position: absolute;
351
+ top: 0;
352
+ right: 0;
353
+ bottom: 0;
354
+ left: 0;
355
+ z-index: 2;
356
+ display: none;
357
+ }
358
+
359
+ .gantt-drag-mask {
360
+ position: absolute;
361
+ top: $gantt-header-height;
362
+ z-index: 1;
363
+ height: 100%;
364
+ display: none;
365
+ background: rgba($color: $gantt-item-drag-mask-color, $alpha: 0.05);
366
+
367
+ .date-range {
368
+ width: 100%;
369
+ min-width: 120px;
370
+ top: -23px;
371
+ background: $gantt-item-drag-mask-color;
372
+ line-height: 23px;
373
+ border-radius: 4px;
374
+ color: #fff;
375
+ position: absolute;
376
+ display: flex;
377
+ justify-content: space-between;
378
+ padding: 0 10px;
379
+ box-sizing: border-box
380
+ }
381
+ }
382
+
383
+ .gantt-link-drag-container {
384
+ width: 100%;
385
+ height: 1px;
386
+ overflow: visible !important;
387
+ position: absolute;
388
+ top: 0;
389
+ left: 0;
390
+ z-index: 2000;
391
+
392
+ .link-dragging-line {
393
+ stroke: $gantt-link-dragging-line-color;
394
+ stroke-width: 2px;
395
+ }
396
+ }
397
+
398
+ $gantt-bar-layer-append-width: 32px;
399
+ $gantt-bar-layer-append-height: 42px;
400
+ $gantt-bar-link-height: 16px;
401
+ $gantt-bar-link-drop-border: 5px;
402
+
403
+ @mixin link-handles {
404
+ .link-handles {
405
+ .handle {
406
+ position: absolute;
407
+ display: inline-block;
408
+ cursor: pointer;
409
+ width: $gantt-bar-link-height;
410
+ height: $gantt-bar-link-height;
411
+ display: flex;
412
+ align-items: center;
413
+ justify-content: center;
414
+ z-index: 1001;
415
+
416
+ &:first-child {
417
+ left: 0;
418
+ top: 0;
419
+ }
420
+
421
+ &:last-child {
422
+ right: 0;
423
+ bottom: 0;
424
+ }
425
+
426
+ .point {
427
+ color: #348fe4;
428
+ width: 10px;
429
+ height: 10px;
430
+ border-radius: 50%;
431
+ background: #348fe4;
432
+ transition: 0.3 ease;
433
+
434
+ &:hover {
435
+ width: 12px;
436
+ height: 12px;
437
+ }
438
+ }
439
+ }
440
+ }
441
+ }
442
+
443
+ @mixin drag-handles {
444
+ .drag-handles {
445
+ background: $gantt-bar-layer-bg;
446
+ width: 100%;
447
+ height: calc(100% - #{$gantt-bar-link-height} * 2);
448
+ position: absolute;
449
+ border-radius: 4px;
450
+ top: $gantt-bar-link-height;
451
+ box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.15);
452
+
453
+ .handle {
454
+ width: 15px;
455
+ height: 100%;
456
+ position: absolute;
457
+ cursor: col-resize;
458
+ display: flex;
459
+ align-items: center;
460
+ justify-content: center;
461
+
462
+ &:before,
463
+ &:after {
464
+ content: '';
465
+ display: inline-block;
466
+ width: 1px;
467
+ height: $gantt-bar-handle-height;
468
+ background: $gantt-bar-handle-color;
469
+ }
470
+
471
+ &::before {
472
+ margin-right: 2px;
473
+ }
474
+
475
+ &:first-child {
476
+ left: 0;
477
+ }
478
+
479
+ &:last-child {
480
+ right: 0;
481
+ }
482
+ }
483
+ }
484
+ }
485
+
486
+ @mixin active-bar {
487
+ z-index: 1000;
488
+
489
+ .gantt-bar-layer {
490
+ display: block;
491
+ z-index: 1;
492
+ }
493
+
494
+ .gantt-bar-content {
495
+ z-index: 1;
496
+ box-shadow: none;
497
+ }
498
+
499
+ .cdk-drag {
500
+ transition: none;
501
+ }
502
+ }
503
+
504
+ .gantt-bar {
505
+ position: absolute;
506
+ border-radius: 4px;
507
+ z-index: 2;
508
+ background: $gantt-bar-bg;
509
+
510
+ .gantt-bar-layer {
511
+ width: calc(100% + #{$gantt-bar-layer-append-width});
512
+ height: calc(100% + #{$gantt-bar-layer-append-height});
513
+ position: absolute;
514
+ border-radius: 4px;
515
+ left: $gantt-bar-layer-append-width / 2 * -1;
516
+ top: $gantt-bar-layer-append-height / 2 * -1;
517
+ display: none;
518
+ @include drag-handles();
519
+ @include link-handles();
520
+ }
521
+
522
+ .gantt-bar-border {
523
+ width: calc(100% + #{$gantt-bar-link-drop-border} * 2);
524
+ height: calc(100% + #{$gantt-bar-link-drop-border} * 2);
525
+ position: absolute;
526
+ border-radius: 4px;
527
+ left: $gantt-bar-link-drop-border * -1;
528
+ top: $gantt-bar-link-drop-border * -1;
529
+ display: none;
530
+ background: #fff;
531
+ box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1);
532
+ }
533
+
534
+ .gantt-bar-content {
535
+ width: 100%;
536
+ height: 100%;
537
+ position: absolute;
538
+ cursor: pointer;
539
+ box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1);
540
+ border-radius: 4px;
541
+ background: $gantt-bar-background-color;
542
+ overflow: hidden;
543
+ box-sizing: border-box;
544
+ .gantt-bar-content-progress {
545
+ position: absolute;
546
+ left: 0;
547
+ top: 0;
548
+ height: 100%;
549
+ }
550
+
551
+ }
552
+
553
+ &-active {
554
+ @include active-bar();
555
+ }
556
+
557
+ &-link-drop {
558
+ .gantt-bar-border {
559
+ display: block;
560
+ }
561
+
562
+ .gantt-bar-content {
563
+ box-shadow: none;
564
+ }
565
+ }
566
+ }
567
+
568
+ .gantt-range {
569
+ position: absolute;
570
+ z-index: 2;
571
+ .gantt-range-main {
572
+ height: 10px;
573
+ background: #dfdfdf;
574
+ border: 1px solid #888;
575
+ border-radius: 4px 4px 0 0;
576
+ box-sizing: border-box;
577
+ position: relative;
578
+ .gantt-range-main-progress {
579
+ position: absolute;
580
+ left: 0;
581
+ top: 0;
582
+ height: 100%;
583
+ background: #888;
584
+ }
585
+ }
586
+ .gantt-range-triangle {
587
+ width: 0;
588
+ height: 0;
589
+ border-top: 7px solid #888;
590
+ position: absolute;
591
+ top: 10px;
592
+
593
+ &.left {
594
+ border-right: 6px solid transparent;
595
+ left: 0;
596
+ }
597
+ &.right {
598
+ border-left: 6px solid transparent;
599
+ right: 0;
600
+ }
601
+ }
602
+ }
603
+
604
+ .gantt-icon {
605
+ font-size: 1rem;
606
+ line-height: 0;
607
+
608
+ svg {
609
+ width: 1em;
610
+ height: 1em;
611
+ fill: currentColor;
612
+ vertical-align: -0.125em;
613
+ background-repeat: no-repeat;
614
+ }
615
+
616
+ }
617
+
618
+ .gantt-links-overlay {
619
+ position: absolute;
620
+ top: 0px;
621
+ left: 0px;
622
+ width: 100%;
623
+ height: 100%;
624
+ svg {
625
+ overflow: visible;
626
+ z-index: 2;
627
+ position: absolute;
628
+ }
629
+ }
630
+
631
+ .link-dragging-container {
632
+ width: 100%;
633
+ height: 1px;
634
+ overflow: visible !important;
635
+ position: absolute;
636
+ top: $gantt-header-height;
637
+ left: 0;
638
+ z-index: 2000;
639
+
640
+ .link-dragging-line {
641
+ stroke: $gantt-link-line-color;
642
+ stroke-width: 2px;
643
+ }
644
+ }
645
+