tg-ganttchart 0.0.7 → 0.0.8

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 (66) hide show
  1. package/babel.config.js +5 -0
  2. package/package.json +1 -4
  3. package/src/.eslintrc.js +18 -0
  4. package/src/App.vue +780 -0
  5. package/src/GanttElastic.standalone.vue +48 -0
  6. package/src/GanttElastic.vue +2305 -0
  7. package/src/assets/logo.png +0 -0
  8. package/src/components/Calendar/Calendar.vue +559 -0
  9. package/src/components/Calendar/CalendarRow.vue +112 -0
  10. package/src/components/Chart/Chart.vue +117 -0
  11. package/src/components/Chart/DaysHighlight.vue +60 -0
  12. package/src/components/Chart/DependencyLines.vue +112 -0
  13. package/src/components/Chart/Grid.vue +205 -0
  14. package/src/components/Chart/ProgressBar.vue +110 -0
  15. package/src/components/Chart/Row/Epic.vue +131 -0
  16. package/src/components/Chart/Row/Milestone.vue +117 -0
  17. package/src/components/Chart/Row/Project.vue +132 -0
  18. package/src/components/Chart/Row/Story.vue +127 -0
  19. package/src/components/Chart/Row/Subtask.vue +117 -0
  20. package/src/components/Chart/Row/Task.mixin.js +47 -0
  21. package/src/components/Chart/Row/Task.vue +82 -0
  22. package/src/components/Chart/Text.vue +105 -0
  23. package/src/components/Expander.vue +114 -0
  24. package/src/components/GanttElastic.standalone.vue +48 -0
  25. package/src/components/GanttElastic.vue +1646 -0
  26. package/src/components/Header/GanttViewFilter.vue +154 -0
  27. package/src/components/Header/Header.vue +266 -0
  28. package/src/components/MainView.vue +283 -0
  29. package/src/components/TaskList/ItemColumn.vue +212 -0
  30. package/src/components/TaskList/TaskList.vue +45 -0
  31. package/src/components/TaskList/TaskListHeader.vue +143 -0
  32. package/src/components/TaskList/TaskListItem.vue +35 -0
  33. package/src/components/bundle.js +28 -0
  34. package/src/components/components/Calendar/Calendar.vue +332 -0
  35. package/src/components/components/Calendar/CalendarRow.vue +96 -0
  36. package/src/components/components/Chart/Chart.vue +111 -0
  37. package/src/components/components/Chart/DaysHighlight.vue +71 -0
  38. package/src/components/components/Chart/DependencyLines.vue +112 -0
  39. package/src/components/components/Chart/Grid.vue +164 -0
  40. package/src/components/components/Chart/ProgressBar.vue +110 -0
  41. package/src/components/components/Chart/Row/Milestone.vue +117 -0
  42. package/src/components/components/Chart/Row/Project.vue +131 -0
  43. package/src/components/components/Chart/Row/Task.mixin.js +46 -0
  44. package/src/components/components/Chart/Row/Task.vue +107 -0
  45. package/src/components/components/Chart/Text.vue +105 -0
  46. package/src/components/components/Expander.vue +126 -0
  47. package/src/components/components/Header/Header.vue +265 -0
  48. package/src/components/components/MainView.vue +282 -0
  49. package/src/components/components/TaskList/ItemColumn.vue +121 -0
  50. package/src/components/components/TaskList/TaskList.vue +45 -0
  51. package/src/components/components/TaskList/TaskListHeader.vue +143 -0
  52. package/src/components/components/TaskList/TaskListItem.vue +35 -0
  53. package/src/components/components/bundle.js +28 -0
  54. package/src/components/style.js +308 -0
  55. package/src/index.js +12 -0
  56. package/src/main.js +6 -0
  57. package/src/style.js +398 -0
  58. package/vue.config.js +42 -0
  59. package/dist/demo.html +0 -1
  60. package/dist/tgganttchart.common.js +0 -9232
  61. package/dist/tgganttchart.common.js.map +0 -1
  62. package/dist/tgganttchart.css +0 -1
  63. package/dist/tgganttchart.umd.js +0 -9243
  64. package/dist/tgganttchart.umd.js.map +0 -1
  65. package/dist/tgganttchart.umd.min.js +0 -7
  66. package/dist/tgganttchart.umd.min.js.map +0 -1
package/src/style.js ADDED
@@ -0,0 +1,398 @@
1
+
2
+ export default function getStyle(fontSize = '12px', fontFamily = 'Arial, sans-serif') {
3
+ return {
4
+ fontSize,
5
+ fontFamily,
6
+ 'main-view': {
7
+ background: '#FFFFFF'
8
+ },
9
+ 'main-container-wrapper': {
10
+ overflow: 'hidden',
11
+ 'border-top': '1px solid #eee',
12
+ 'border-bottom': '1px solid #eee'
13
+ },
14
+ 'main-container': {
15
+ float: 'left',
16
+ 'max-width': '100%'
17
+ },
18
+ 'main-view-container': {},
19
+ container: {
20
+ display: 'flex',
21
+ 'max-width': '100%',
22
+ height: '100%'
23
+ },
24
+ 'calendar-wrapper': {
25
+ 'user-select': 'none'
26
+ },
27
+ calendar: {
28
+ width: '100%',
29
+ background: '#f3f5f7',
30
+ display: 'block'
31
+ },
32
+ 'calendar-row': {
33
+ display: 'flex',
34
+ 'justify-content': 'space-evenly'
35
+ },
36
+ 'calendar-row--month': {},
37
+ 'calendar-row--day': {},
38
+ 'calendar-row--hour': {
39
+ 'border-bottom': '1px solid #eee'
40
+ },
41
+ 'calendar-row-rect': {
42
+ background: 'transparent',
43
+ display: 'flex'
44
+ },
45
+ 'calendar-row-rect--month': {},
46
+ 'calendar-row-rect--day': {},
47
+ 'calendar-row-rect--hour': {},
48
+ 'calendar-row-rect-child': {
49
+ display: 'block',
50
+ 'border-right-width': '1px',
51
+ 'border-right-color': '#E5E7EB',
52
+ 'border-right-style': 'solid',
53
+ position: 'relative',
54
+ 'box-sizing': 'border-box'
55
+ },
56
+ 'calendar-row-rect-child--month': {},
57
+ 'calendar-row-rect-child--day': { 'text-align': 'center' },
58
+ 'calendar-row-rect-child--hour': { 'text-align': 'center' },
59
+ 'calendar-row-text': {
60
+ 'font-family': fontFamily, // GanttElastic
61
+ 'font-size': fontSize, //GanttElastic
62
+ color: '#606060',
63
+ display: 'inline-block',
64
+ position: 'relative',
65
+ 'text-align': 'center',
66
+ 'white-space': 'nowrap',
67
+ 'overflow': 'hidden',
68
+ 'text-overflow': 'ellipsis',
69
+ 'max-width': '100%',
70
+ 'width': '100%',
71
+ 'box-sizing': 'border-box'
72
+ },
73
+ 'calendar-row-text--month': {},
74
+ 'calendar-row-text--day': {},
75
+ 'calendar-row-text--hour': {},
76
+ 'calendar-row-text--quarter': {},
77
+ 'calendar-row-text--week': {},
78
+ 'task-list-wrapper': {},
79
+ 'task-list': { background: 'transparent', 'border-color': '#eee' },
80
+ 'task-list-header': {
81
+ display: 'flex',
82
+ 'user-select': 'none',
83
+ 'vertical-align': 'middle',
84
+ 'border-bottom': '1px solid #eee',
85
+ 'border-left': '1px solid #eee'
86
+ },
87
+ 'task-list-header-column': {
88
+ 'border-left': '1px solid #00000050',
89
+ 'box-sizing': 'border-box',
90
+ display: 'flex',
91
+ background: '#f3f5f7',
92
+ 'border-color': 'transparent'
93
+ },
94
+ 'task-list-expander-wrapper': {
95
+ display: 'inline-flex',
96
+ 'flex-shrink': '0',
97
+ 'box-sizing': 'border-box',
98
+ margin: '0 0 0 10px'
99
+ },
100
+ 'task-list-expander-content': {
101
+ display: 'inline-flex',
102
+ cursor: 'pointer',
103
+ margin: 'auto 0px',
104
+ 'box-sizing': 'border-box',
105
+ 'user-select': 'none'
106
+ },
107
+ 'task-list-expander-line': {
108
+ fill: 'transparent',
109
+ stroke: '#000000',
110
+ 'stroke-width': '1',
111
+ 'stroke-linecap': 'round'
112
+ },
113
+ 'task-list-expander-border': {
114
+ fill: '#ffffffa0',
115
+ stroke: '#000000A0'
116
+ },
117
+ 'task-list-expander-arrow': {
118
+ fill: 'none',
119
+ stroke: '#999999',
120
+ 'stroke-width': '2',
121
+ 'stroke-linecap': 'round',
122
+ 'stroke-linejoin': 'round'
123
+ },
124
+ 'chart-expander-wrapper': {
125
+ display: 'block',
126
+ 'line-height': '1',
127
+ 'box-sizing': 'border-box',
128
+ margin: '0'
129
+ },
130
+ 'chart-expander-content': {
131
+ display: 'inline-flex',
132
+ cursor: 'pointer',
133
+ margin: 'auto 0px',
134
+ 'box-sizing': 'border-box',
135
+ 'user-select': 'none'
136
+ },
137
+ 'chart-expander-line': {
138
+ fill: 'transparent',
139
+ stroke: '#000000',
140
+ 'stroke-width': '1',
141
+ 'stroke-linecap': 'round'
142
+ },
143
+ 'chart-expander-border': {
144
+ fill: '#ffffffa0',
145
+ stroke: '#000000A0'
146
+ },
147
+ 'chart-expander-arrow': {
148
+ fill: 'none',
149
+ stroke: '#999999',
150
+ 'stroke-width': '2',
151
+ 'stroke-linecap': 'round',
152
+ 'stroke-linejoin': 'round'
153
+ },
154
+ 'task-list-container': {},
155
+ 'task-list-header-label': {
156
+ overflow: 'hidden',
157
+ 'text-overflow': 'ellipsis',
158
+ 'font-family': fontFamily,
159
+ 'font-size': fontSize,
160
+ 'box-sizing': 'border-box',
161
+ margin: 'auto 6px',
162
+ 'flex-grow': '1',
163
+ 'vertical-align': 'middle'
164
+ },
165
+ 'task-list-header-resizer-wrapper': {
166
+ background: 'transparent',
167
+ height: '100%',
168
+ width: '6px',
169
+ cursor: 'col-resize',
170
+ display: 'inline-flex',
171
+ 'vertical-align': 'center'
172
+ },
173
+ 'task-list-header-resizer': { margin: 'auto 0px' },
174
+ 'task-list-header-resizer-dot': {
175
+ width: '3px',
176
+ height: '3px',
177
+ background: '#ddd',
178
+ 'border-radius': '100%',
179
+ margin: '4px 0px'
180
+ },
181
+ 'task-list-items': {
182
+ overflow: 'hidden'
183
+ },
184
+ 'task-list-item': {
185
+ 'border-top': '1px solid #eee',
186
+ 'border-right': '1px solid #eee',
187
+ 'box-sizing': 'border-box',
188
+ display: 'flex',
189
+ background: 'transparent'
190
+ },
191
+ 'task-list-item-column': {
192
+ display: 'inline-flex',
193
+ 'flex-shrink': '0',
194
+ 'border-left': '1px solid #00000050',
195
+ 'box-sizing': 'border-box',
196
+ 'border-color': '#eee'
197
+ },
198
+ 'task-list-item-value-wrapper': {
199
+ overflow: 'hidden',
200
+ display: 'flex',
201
+ width: '100%'
202
+ },
203
+ 'task-list-item-value-container': {
204
+ margin: 'auto 0px',
205
+ overflow: 'hidden'
206
+ },
207
+ 'task-list-item-value': {
208
+ display: 'flex',
209
+ 'align-items': 'center',
210
+ 'flex-shrink': '100',
211
+ 'font-family': fontFamily,
212
+ 'font-size': fontSize,
213
+ 'margin-top': 'auto',
214
+ 'margin-bottom': 'auto',
215
+ 'margin-left': '6px', // TaskList
216
+ 'margin-right': '6px',
217
+ overflow: 'hidden',
218
+ 'text-overflow': 'ellipsis',
219
+ 'line-height': '1.5em',
220
+ 'word-break': 'keep-all',
221
+ 'white-space': 'nowrap',
222
+ color: '#606060',
223
+ background: '#FFFFFF'
224
+ },
225
+ 'task-list-item-content': {
226
+ 'display': 'flex',
227
+ 'align-items': 'center',
228
+ 'width': '100%',
229
+ 'min-width': '0'
230
+ },
231
+ 'task-list-item-icon': {
232
+ 'display': 'flex',
233
+ 'align-items': 'center',
234
+ 'margin-right': '6px',
235
+ 'flex-shrink': '0',
236
+ 'width': '14px',
237
+ 'height': '14px'
238
+ },
239
+ 'task-list-item-text': {
240
+ 'flex': '1',
241
+ 'min-width': '0',
242
+ 'overflow': 'hidden',
243
+ 'text-overflow': 'ellipsis',
244
+ 'white-space': 'nowrap'
245
+ },
246
+ 'grid-lines': {},
247
+ 'grid-line-horizontal': {
248
+ stroke: '#F3F4F6',
249
+ 'stroke-width': 1
250
+ },
251
+ 'grid-line-vertical': {
252
+ stroke: '#E5E7EB',
253
+ 'stroke-width': 1
254
+ },
255
+ 'grid-line-time': {
256
+ stroke: '#FF000080',
257
+ 'stroke-width': 1
258
+ },
259
+ chart: {
260
+ 'user-select': 'none',
261
+ overflow: 'hidden'
262
+ },
263
+ 'chart-calendar-container': {
264
+ 'user-select': 'none',
265
+ overflow: 'hidden',
266
+ 'max-width': '100%',
267
+ 'border-right': '1px solid #E5E7EB',
268
+ 'position': 'relative',
269
+ 'z-index': 1
270
+ },
271
+ 'chart-graph-container': {
272
+ 'user-select': 'none',
273
+ overflow: 'hidden',
274
+ 'max-width': '100%',
275
+ 'border-right': '1px solid #E5E7EB',
276
+ 'position': 'relative',
277
+ 'z-index': 0
278
+ },
279
+ 'chart-area': {},
280
+ 'chart-graph': {
281
+ overflow: 'hidden'
282
+ },
283
+ 'chart-row-text-wrapper': {},
284
+ 'chart-row-text': {
285
+ background: '#ffffff',
286
+ 'border-radius': '4px',
287
+ 'font-family': fontFamily,
288
+ 'font-size': '11px',
289
+ 'font-weight': '500',
290
+ color: '#374151',
291
+ height: '100%',
292
+ display: 'inline-block',
293
+ 'box-shadow': '0 1px 3px rgba(0, 0, 0, 0.1)',
294
+ 'border': '1px solid #E5E7EB'
295
+ },
296
+ 'chart-row-text-content': {
297
+ padding: '2px 8px',
298
+ 'white-space': 'nowrap',
299
+ 'overflow': 'hidden',
300
+ 'text-overflow': 'ellipsis',
301
+ 'max-width': '120px'
302
+ },
303
+ 'chart-row-text-content--text': {},
304
+ 'chart-row-text-content--html': {},
305
+ 'chart-row-wrapper': {},
306
+ 'chart-row-bar-wrapper': {},
307
+ 'chart-row-bar': {},
308
+ 'chart-row-bar-polygon': {
309
+ stroke: '#E74C3C',
310
+ 'stroke-width': 1,
311
+ fill: '#F75C4C'
312
+ },
313
+ 'chart-row-project-wrapper': {},
314
+ 'chart-row-project': {},
315
+ 'chart-row-project-polygon': {},
316
+ 'chart-row-epic-wrapper': {},
317
+ 'chart-row-epic': {},
318
+ 'chart-row-epic-polygon': {
319
+ stroke: '#8B5CF6',
320
+ 'stroke-width': 2,
321
+ fill: '#8B5CF6',
322
+ 'fill-opacity': 0.9
323
+ },
324
+ 'chart-row-subtask-wrapper': {},
325
+ 'chart-row-subtask': {},
326
+ 'chart-row-subtask-polygon': {
327
+ stroke: '#3B82F6',
328
+ 'stroke-width': 1,
329
+ fill: '#3B82F6',
330
+ 'fill-opacity': 0.9
331
+ },
332
+ 'chart-row-story-wrapper': {},
333
+ 'chart-row-story': {},
334
+ 'chart-row-story-polygon': {
335
+ stroke: '#86EFAC',
336
+ 'stroke-width': 1,
337
+ fill: '#86EFAC',
338
+ 'fill-opacity': 0.9
339
+ },
340
+ 'chart-row-milestone-wrapper': {},
341
+ 'chart-row-milestone': {},
342
+ 'chart-row-milestone-polygon': {
343
+ stroke: '#CD5C5C',
344
+ 'stroke-width': 2,
345
+ fill: '#CD5C5C',
346
+ 'fill-opacity': 0.9
347
+ },
348
+ 'chart-row-task-wrapper': {},
349
+ 'chart-row-task': {},
350
+ 'chart-row-task-polygon': {
351
+ stroke: '#3B82F6',
352
+ 'stroke-width': 1,
353
+ fill: '#3B82F6',
354
+ 'fill-opacity': 0.9
355
+ },
356
+ 'chart-row-progress-bar-wrapper': {},
357
+ 'chart-row-progress-bar': {},
358
+ 'chart-row-progress-bar-line': {
359
+ stroke: '#ffffff25',
360
+ 'stroke-width': 20
361
+ },
362
+ 'chart-row-progress-bar-solid': {
363
+ fill: '#0EAC51',
364
+ height: '20%'
365
+ },
366
+ 'chart-row-progress-bar-pattern': {
367
+ fill: 'url(#diagonalHatch)',
368
+ transform: 'translateY(0.1) scaleY(0.8)'
369
+ },
370
+ 'chart-row-progress-bar-outline': {
371
+ stroke: '#E74C3C',
372
+ 'stroke-width': 1
373
+ },
374
+ 'chart-dependency-lines-wrapper': {},
375
+ 'chart-dependency-lines-path': {
376
+ fill: 'transparent',
377
+ stroke: '#FFa00090',
378
+ 'stroke-width': 2
379
+ },
380
+ 'chart-scroll-container': {},
381
+ 'chart-scroll-container--horizontal': {
382
+ overflow: 'auto',
383
+ 'max-width': '100%'
384
+ },
385
+ 'chart-scroll-container--vertical': {
386
+ 'overflow-y': 'auto',
387
+ 'overflow-x': 'hidden',
388
+ 'max-height': '100%',
389
+ float: 'right'
390
+ },
391
+ 'chart-days-highlight-rect': {
392
+ fill: '#f3f5f780'
393
+ },
394
+ 'slot-header-beforeOptions': {
395
+ display: 'inline-block'
396
+ }
397
+ };
398
+ }
package/vue.config.js ADDED
@@ -0,0 +1,42 @@
1
+ const path = require('path');
2
+ const Dotenv = require('dotenv-webpack');
3
+ const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer');
4
+ const isBundleAnalyze = false;
5
+ module.exports = {
6
+ lintOnSave: false,
7
+ filenameHashing: false,
8
+ configureWebpack: {
9
+ entry:'./src/index.js',
10
+ resolve: {
11
+ extensions: ['.js', '.vue'],
12
+ alias: {
13
+ 'vue$': 'vue/dist/vue.esm.js',
14
+ '@': path.resolve(__dirname, 'src')
15
+ }
16
+ },
17
+ output: {
18
+ filename:(format)=>`index.${format}.js`,
19
+ path: path.resolve(__dirname, 'dist'),
20
+ },
21
+ performance:{
22
+ hints: false,
23
+ maxEntrypointSize: 512000,
24
+ maxAssetSize: 512000
25
+ },
26
+ plugins: [
27
+ new Dotenv(),
28
+ ...isBundleAnalyze ? [ new BundleAnalyzerPlugin() ] : []
29
+ ],
30
+ module: {
31
+ rules: [
32
+ {
33
+ test: /\.mjs$/,
34
+ include: /node_modules/,
35
+ type: "javascript/auto",
36
+ use: [],
37
+ }
38
+ ]
39
+ }
40
+ },
41
+ };
42
+
package/dist/demo.html DELETED
@@ -1 +0,0 @@
1
- <!doctype html><meta charset="utf-8"><title>tgganttchart demo</title><script src="./tgganttchart.umd.js"></script><link rel="stylesheet" href="./tgganttchart.css"><script>console.log(tgganttchart)</script>