foreman-tasks 0.16.0 → 0.16.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (89) hide show
  1. checksums.yaml +4 -4
  2. data/.babelrc +4 -1
  3. data/.eslintrc +4 -13
  4. data/app/assets/stylesheets/foreman_tasks/application.css.scss +0 -37
  5. data/app/controllers/foreman_tasks/api/tasks_controller.rb +9 -5
  6. data/app/controllers/foreman_tasks/tasks_controller.rb +23 -19
  7. data/app/helpers/foreman_tasks/foreman_tasks_helper.rb +28 -29
  8. data/app/lib/actions/bulk_action.rb +1 -1
  9. data/app/models/foreman_tasks/task.rb +1 -1
  10. data/app/models/foreman_tasks/task/dynflow_task.rb +30 -0
  11. data/app/services/foreman_tasks/troubleshooting_help_generator.rb +4 -0
  12. data/app/views/foreman_tasks/api/tasks/details.json.rabl +18 -0
  13. data/app/views/foreman_tasks/layouts/react.html.erb +1 -1
  14. data/app/views/foreman_tasks/tasks/index.html.erb +3 -0
  15. data/app/views/foreman_tasks/tasks/show.html.erb +10 -134
  16. data/config/routes.rb +3 -0
  17. data/lib/foreman_tasks/engine.rb +1 -1
  18. data/lib/foreman_tasks/tasks/export_tasks.rake +1 -2
  19. data/lib/foreman_tasks/version.rb +1 -1
  20. data/package.json +6 -20
  21. data/test/controllers/tasks_controller_test.rb +11 -0
  22. data/test/helpers/foreman_tasks/foreman_tasks_helper_test.rb +39 -0
  23. data/test/unit/actions/bulk_action_test.rb +2 -0
  24. data/test/unit/task_test.rb +4 -0
  25. data/webpack/ForemanTasks/Components/TaskDetails/Components/Errors.js +60 -0
  26. data/webpack/ForemanTasks/Components/TaskDetails/Components/Locks.js +46 -0
  27. data/webpack/ForemanTasks/Components/TaskDetails/Components/Raw.js +73 -0
  28. data/webpack/ForemanTasks/Components/TaskDetails/Components/RunningSteps.js +55 -0
  29. data/webpack/ForemanTasks/Components/TaskDetails/Components/Task.js +202 -0
  30. data/webpack/ForemanTasks/Components/TaskDetails/Components/TaskHelper.js +38 -0
  31. data/webpack/ForemanTasks/Components/TaskDetails/Components/TaskInfo.js +238 -0
  32. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/Errors.test.js +36 -0
  33. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/Locks.test.js +28 -0
  34. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/Raw.test.js +27 -0
  35. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/RunningSteps.test.js +29 -0
  36. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/Task.test.js +18 -0
  37. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/TaskHelper.test.js +77 -0
  38. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/TaskInfo.test.js +60 -0
  39. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/__snapshots__/Errors.test.js.snap +77 -0
  40. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/__snapshots__/Locks.test.js.snap +108 -0
  41. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/__snapshots__/Raw.test.js.snap +174 -0
  42. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/__snapshots__/RunningSteps.test.js.snap +62 -0
  43. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/__snapshots__/Task.test.js.snap +282 -0
  44. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/__snapshots__/TaskHelper.test.js.snap +37 -0
  45. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/__snapshots__/TaskInfo.test.js.snap +568 -0
  46. data/webpack/ForemanTasks/Components/TaskDetails/TaskDetails.js +87 -0
  47. data/webpack/ForemanTasks/Components/TaskDetails/TaskDetails.scss +63 -0
  48. data/webpack/ForemanTasks/Components/TaskDetails/TaskDetails.stories.js +5 -0
  49. data/webpack/ForemanTasks/Components/TaskDetails/TaskDetailsActions.js +109 -0
  50. data/webpack/ForemanTasks/Components/TaskDetails/TaskDetailsConstants.js +18 -0
  51. data/webpack/ForemanTasks/Components/TaskDetails/TaskDetailsReducer.js +44 -0
  52. data/webpack/ForemanTasks/Components/TaskDetails/TaskDetailsSelectors.js +83 -0
  53. data/webpack/ForemanTasks/Components/TaskDetails/TasksDetailsHelper.js +1 -0
  54. data/webpack/ForemanTasks/Components/TaskDetails/__tests__/TaskDetails.test.js +12 -0
  55. data/webpack/ForemanTasks/Components/TaskDetails/__tests__/TaskDetailsActions.test.js +20 -0
  56. data/webpack/ForemanTasks/Components/TaskDetails/__tests__/TaskDetailsReducer.test.js +33 -0
  57. data/webpack/ForemanTasks/Components/TaskDetails/__tests__/__snapshots__/TaskDetails.test.js.snap +97 -0
  58. data/webpack/ForemanTasks/Components/TaskDetails/__tests__/__snapshots__/TaskDetailsActions.test.js.snap +43 -0
  59. data/webpack/ForemanTasks/Components/TaskDetails/__tests__/__snapshots__/TaskDetailsReducer.test.js.snap +26 -0
  60. data/webpack/ForemanTasks/Components/TaskDetails/__tests__/__snapshots__/integration.test.js.snap +122 -0
  61. data/webpack/ForemanTasks/Components/TaskDetails/__tests__/integration.test.js +63 -0
  62. data/webpack/ForemanTasks/Components/TaskDetails/index.js +77 -0
  63. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/PausedTasksCard/PausedTasksCard.js +6 -1
  64. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/PausedTasksCard/__snapshots__/PausedTasksCard.test.js.snap +2 -0
  65. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/RunningTasksCard/RunningTasksCard.js +6 -1
  66. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/RunningTasksCard/__snapshots__/RunningTasksCard.test.js.snap +2 -0
  67. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/ScheduledTasksCard/ScheduledTasksCard.js +3 -6
  68. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/ScheduledTasksCard/ScheduledTasksCard.scss +0 -3
  69. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/ScheduledTasksCard/__snapshots__/ScheduledTasksCard.test.js.snap +3 -0
  70. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/StoppedTasksCard.js +2 -0
  71. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/StoppedTasksCard.scss +0 -4
  72. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/StoppedTasksCardHelper.js +3 -3
  73. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/__snapshots__/StoppedTasksCard.test.js.snap +495 -54
  74. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/TasksDonutCard/TasksDonutCard.js +1 -0
  75. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/TasksDonutCard/TasksDonutCard.scss +6 -0
  76. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/TasksDonutChart/TasksDonutChart.scss +0 -3
  77. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksLabelsRow/TasksLabelsRow.scss +1 -1
  78. data/webpack/ForemanTasks/Components/TasksDashboard/TasksDashboard.scss +2 -2
  79. data/webpack/ForemanTasks/Components/common/ClickConfirmation/index.js +83 -0
  80. data/webpack/ForemanTasks/ForemanTasksReducers.js +2 -0
  81. data/webpack/__mocks__/foremanReact/common/I18n.js +2 -0
  82. data/webpack/__mocks__/foremanReact/components/Layout/LayoutActions.js +2 -0
  83. data/webpack/index.js +5 -0
  84. metadata +46 -9
  85. data/app/views/foreman_tasks/tasks/_details.html.erb +0 -195
  86. data/app/views/foreman_tasks/tasks/_errors.html.erb +0 -42
  87. data/app/views/foreman_tasks/tasks/_locks.html.erb +0 -19
  88. data/app/views/foreman_tasks/tasks/_raw.html.erb +0 -28
  89. data/app/views/foreman_tasks/tasks/_running_steps.html.erb +0 -40
@@ -4,7 +4,12 @@ import { translate as __ } from 'foremanReact/common/I18n';
4
4
  import TasksDonutCard from '../TasksDonutCard/TasksDonutCard';
5
5
 
6
6
  const PausedTasksCard = ({ ...props }) => (
7
- <TasksDonutCard title={__('Paused')} wantedQueryState="paused" {...props} />
7
+ <TasksDonutCard
8
+ title={__('Paused')}
9
+ wantedQueryState="paused"
10
+ id="paused-tasks-card"
11
+ {...props}
12
+ />
8
13
  );
9
14
 
10
15
  const filterUnwantedFields = obj => {
@@ -9,6 +9,7 @@ exports[`PausedTasksCard render with minimal props 1`] = `
9
9
  "older": 0,
10
10
  }
11
11
  }
12
+ id="paused-tasks-card"
12
13
  query={Object {}}
13
14
  time="H24"
14
15
  title="Paused"
@@ -26,6 +27,7 @@ exports[`PausedTasksCard render with some props 1`] = `
26
27
  "older": 0,
27
28
  }
28
29
  }
30
+ id="paused-tasks-card"
29
31
  query={Object {}}
30
32
  some="prop"
31
33
  time="H24"
@@ -4,7 +4,12 @@ import { translate as __ } from 'foremanReact/common/I18n';
4
4
  import TasksDonutCard from '../TasksDonutCard/TasksDonutCard';
5
5
 
6
6
  const RunningTasksCard = ({ ...props }) => (
7
- <TasksDonutCard title={__('Running')} wantedQueryState="running" {...props} />
7
+ <TasksDonutCard
8
+ title={__('Running')}
9
+ wantedQueryState="running"
10
+ id="running-tasks-card"
11
+ {...props}
12
+ />
8
13
  );
9
14
 
10
15
  const filterUnwantedFields = obj => {
@@ -9,6 +9,7 @@ exports[`RunningTasksCard render with minimal props 1`] = `
9
9
  "older": 0,
10
10
  }
11
11
  }
12
+ id="running-tasks-card"
12
13
  query={Object {}}
13
14
  time="H24"
14
15
  title="Running"
@@ -26,6 +27,7 @@ exports[`RunningTasksCard render with some props 1`] = `
26
27
  "older": 0,
27
28
  }
28
29
  }
30
+ id="running-tasks-card"
29
31
  query={Object {}}
30
32
  some="prop"
31
33
  time="H24"
@@ -27,18 +27,15 @@ const ScheduledTasksCard = ({
27
27
  className,
28
28
  {
29
29
  'selected-tasks-card': query.state === SCHEDULED,
30
+ 'not-focused': query.state && query.state !== SCHEDULED,
30
31
  }
31
32
  )}
32
33
  {...props}
34
+ id="scheduled-tasks-card"
33
35
  >
34
36
  <Card.Title onClick={onClick}>{__('Scheduled')}</Card.Title>
35
37
  <Card.Body>
36
- <div
37
- className={classNames('scheduled-data', {
38
- 'not-focused': query.state && query.state !== SCHEDULED,
39
- })}
40
- onClick={onClick}
41
- >
38
+ <div className="scheduled-data" onClick={onClick}>
42
39
  {data}
43
40
  <p>{__('Total')}</p>
44
41
  </div>
@@ -1,8 +1,5 @@
1
1
  .scheduled-tasks-card {
2
2
  text-align: center;
3
- .not-focused {
4
- opacity: 0.3;
5
- }
6
3
  .scheduled-data {
7
4
  padding-right: 15px;
8
5
  cursor: pointer;
@@ -7,6 +7,7 @@ exports[`ScheduledTasksCard render selected 1`] = `
7
7
  aggregatedMini={false}
8
8
  cardRef={null}
9
9
  className="tasks-donut-card scheduled-tasks-card selected-tasks-card"
10
+ id="scheduled-tasks-card"
10
11
  matchHeight={false}
11
12
  >
12
13
  <CardTitle
@@ -38,6 +39,7 @@ exports[`ScheduledTasksCard render with minimal props 1`] = `
38
39
  aggregatedMini={false}
39
40
  cardRef={null}
40
41
  className="tasks-donut-card scheduled-tasks-card"
42
+ id="scheduled-tasks-card"
41
43
  matchHeight={false}
42
44
  >
43
45
  <CardTitle
@@ -69,6 +71,7 @@ exports[`ScheduledTasksCard render with props 1`] = `
69
71
  aggregatedMini={false}
70
72
  cardRef={null}
71
73
  className="tasks-donut-card scheduled-tasks-card some-class"
74
+ id="scheduled-tasks-card"
72
75
  matchHeight={false}
73
76
  >
74
77
  <CardTitle
@@ -34,9 +34,11 @@ const StoppedTasksCard = ({
34
34
  className,
35
35
  {
36
36
  'selected-tasks-card': query.state === STOPPED,
37
+ 'not-focused': query.state && query.state !== STOPPED,
37
38
  }
38
39
  )}
39
40
  {...props}
41
+ id="stopped-tasks-card"
40
42
  >
41
43
  <Card.Title onClick={() => updateQuery({ state: STOPPED })}>
42
44
  {__('Stopped')}
@@ -4,10 +4,6 @@
4
4
  border: none;
5
5
  table-layout: fixed;
6
6
 
7
- .not-focused {
8
- opacity: 0.3;
9
- }
10
-
11
7
  thead {
12
8
  background-color: transparent;
13
9
  background-image: none;
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { capitalize } from 'lodash';
3
3
  import classNames from 'classnames';
4
- import { Icon } from 'patternfly-react';
4
+ import { Icon, Button } from 'patternfly-react';
5
5
  import {
6
6
  TASKS_DASHBOARD_AVAILABLE_QUERY_STATES,
7
7
  TASKS_DASHBOARD_AVAILABLE_QUERY_MODES,
@@ -40,7 +40,7 @@ export const StoppedTable = (data, query, time, updateQuery) =>
40
40
  })}
41
41
  onClick={() => updateQuery({ state: STOPPED, result })}
42
42
  >
43
- {total}
43
+ <Button bsStyle="link">{total}</Button>
44
44
  </td>
45
45
  <td
46
46
  className={classNames('data-col', {
@@ -56,7 +56,7 @@ export const StoppedTable = (data, query, time, updateQuery) =>
56
56
  })
57
57
  }
58
58
  >
59
- {last}
59
+ <Button bsStyle="link">{last}</Button>
60
60
  </td>
61
61
  </tr>
62
62
  );
@@ -7,6 +7,7 @@ exports[`StoppedTasksCard render error-last selected 1`] = `
7
7
  aggregatedMini={false}
8
8
  cardRef={null}
9
9
  className="tasks-donut-card stopped-tasks-card selected-tasks-card"
10
+ id="stopped-tasks-card"
10
11
  matchHeight={false}
11
12
  >
12
13
  <CardTitle
@@ -47,13 +48,29 @@ exports[`StoppedTasksCard render error-last selected 1`] = `
47
48
  className="data-col not-focused"
48
49
  onClick={[Function]}
49
50
  >
50
- 0
51
+ <Button
52
+ active={false}
53
+ block={false}
54
+ bsClass="btn"
55
+ bsStyle="link"
56
+ disabled={false}
57
+ >
58
+ 0
59
+ </Button>
51
60
  </td>
52
61
  <td
53
62
  className="data-col active"
54
63
  onClick={[Function]}
55
64
  >
56
- 0
65
+ <Button
66
+ active={false}
67
+ block={false}
68
+ bsClass="btn"
69
+ bsStyle="link"
70
+ disabled={false}
71
+ >
72
+ 0
73
+ </Button>
57
74
  </td>
58
75
  </tr>
59
76
  <tr
@@ -70,13 +87,29 @@ exports[`StoppedTasksCard render error-last selected 1`] = `
70
87
  className="data-col not-focused"
71
88
  onClick={[Function]}
72
89
  >
73
- 0
90
+ <Button
91
+ active={false}
92
+ block={false}
93
+ bsClass="btn"
94
+ bsStyle="link"
95
+ disabled={false}
96
+ >
97
+ 0
98
+ </Button>
74
99
  </td>
75
100
  <td
76
101
  className="data-col not-focused"
77
102
  onClick={[Function]}
78
103
  >
79
- 0
104
+ <Button
105
+ active={false}
106
+ block={false}
107
+ bsClass="btn"
108
+ bsStyle="link"
109
+ disabled={false}
110
+ >
111
+ 0
112
+ </Button>
80
113
  </td>
81
114
  </tr>
82
115
  <tr
@@ -93,13 +126,29 @@ exports[`StoppedTasksCard render error-last selected 1`] = `
93
126
  className="data-col not-focused"
94
127
  onClick={[Function]}
95
128
  >
96
- 0
129
+ <Button
130
+ active={false}
131
+ block={false}
132
+ bsClass="btn"
133
+ bsStyle="link"
134
+ disabled={false}
135
+ >
136
+ 0
137
+ </Button>
97
138
  </td>
98
139
  <td
99
140
  className="data-col not-focused"
100
141
  onClick={[Function]}
101
142
  >
102
- 0
143
+ <Button
144
+ active={false}
145
+ block={false}
146
+ bsClass="btn"
147
+ bsStyle="link"
148
+ disabled={false}
149
+ >
150
+ 0
151
+ </Button>
103
152
  </td>
104
153
  </tr>
105
154
  </tbody>
@@ -115,6 +164,7 @@ exports[`StoppedTasksCard render error-total selected 1`] = `
115
164
  aggregatedMini={false}
116
165
  cardRef={null}
117
166
  className="tasks-donut-card stopped-tasks-card selected-tasks-card"
167
+ id="stopped-tasks-card"
118
168
  matchHeight={false}
119
169
  >
120
170
  <CardTitle
@@ -155,13 +205,29 @@ exports[`StoppedTasksCard render error-total selected 1`] = `
155
205
  className="data-col active"
156
206
  onClick={[Function]}
157
207
  >
158
- 0
208
+ <Button
209
+ active={false}
210
+ block={false}
211
+ bsClass="btn"
212
+ bsStyle="link"
213
+ disabled={false}
214
+ >
215
+ 0
216
+ </Button>
159
217
  </td>
160
218
  <td
161
219
  className="data-col not-focused"
162
220
  onClick={[Function]}
163
221
  >
164
- 0
222
+ <Button
223
+ active={false}
224
+ block={false}
225
+ bsClass="btn"
226
+ bsStyle="link"
227
+ disabled={false}
228
+ >
229
+ 0
230
+ </Button>
165
231
  </td>
166
232
  </tr>
167
233
  <tr
@@ -178,13 +244,29 @@ exports[`StoppedTasksCard render error-total selected 1`] = `
178
244
  className="data-col not-focused"
179
245
  onClick={[Function]}
180
246
  >
181
- 0
247
+ <Button
248
+ active={false}
249
+ block={false}
250
+ bsClass="btn"
251
+ bsStyle="link"
252
+ disabled={false}
253
+ >
254
+ 0
255
+ </Button>
182
256
  </td>
183
257
  <td
184
258
  className="data-col not-focused"
185
259
  onClick={[Function]}
186
260
  >
187
- 0
261
+ <Button
262
+ active={false}
263
+ block={false}
264
+ bsClass="btn"
265
+ bsStyle="link"
266
+ disabled={false}
267
+ >
268
+ 0
269
+ </Button>
188
270
  </td>
189
271
  </tr>
190
272
  <tr
@@ -201,13 +283,29 @@ exports[`StoppedTasksCard render error-total selected 1`] = `
201
283
  className="data-col not-focused"
202
284
  onClick={[Function]}
203
285
  >
204
- 0
286
+ <Button
287
+ active={false}
288
+ block={false}
289
+ bsClass="btn"
290
+ bsStyle="link"
291
+ disabled={false}
292
+ >
293
+ 0
294
+ </Button>
205
295
  </td>
206
296
  <td
207
297
  className="data-col not-focused"
208
298
  onClick={[Function]}
209
299
  >
210
- 0
300
+ <Button
301
+ active={false}
302
+ block={false}
303
+ bsClass="btn"
304
+ bsStyle="link"
305
+ disabled={false}
306
+ >
307
+ 0
308
+ </Button>
211
309
  </td>
212
310
  </tr>
213
311
  </tbody>
@@ -223,6 +321,7 @@ exports[`StoppedTasksCard render selected 1`] = `
223
321
  aggregatedMini={false}
224
322
  cardRef={null}
225
323
  className="tasks-donut-card stopped-tasks-card selected-tasks-card"
324
+ id="stopped-tasks-card"
226
325
  matchHeight={false}
227
326
  >
228
327
  <CardTitle
@@ -263,13 +362,29 @@ exports[`StoppedTasksCard render selected 1`] = `
263
362
  className="data-col"
264
363
  onClick={[Function]}
265
364
  >
266
- 0
365
+ <Button
366
+ active={false}
367
+ block={false}
368
+ bsClass="btn"
369
+ bsStyle="link"
370
+ disabled={false}
371
+ >
372
+ 0
373
+ </Button>
267
374
  </td>
268
375
  <td
269
376
  className="data-col"
270
377
  onClick={[Function]}
271
378
  >
272
- 0
379
+ <Button
380
+ active={false}
381
+ block={false}
382
+ bsClass="btn"
383
+ bsStyle="link"
384
+ disabled={false}
385
+ >
386
+ 0
387
+ </Button>
273
388
  </td>
274
389
  </tr>
275
390
  <tr
@@ -286,13 +401,29 @@ exports[`StoppedTasksCard render selected 1`] = `
286
401
  className="data-col"
287
402
  onClick={[Function]}
288
403
  >
289
- 0
404
+ <Button
405
+ active={false}
406
+ block={false}
407
+ bsClass="btn"
408
+ bsStyle="link"
409
+ disabled={false}
410
+ >
411
+ 0
412
+ </Button>
290
413
  </td>
291
414
  <td
292
415
  className="data-col"
293
416
  onClick={[Function]}
294
417
  >
295
- 0
418
+ <Button
419
+ active={false}
420
+ block={false}
421
+ bsClass="btn"
422
+ bsStyle="link"
423
+ disabled={false}
424
+ >
425
+ 0
426
+ </Button>
296
427
  </td>
297
428
  </tr>
298
429
  <tr
@@ -309,13 +440,29 @@ exports[`StoppedTasksCard render selected 1`] = `
309
440
  className="data-col"
310
441
  onClick={[Function]}
311
442
  >
312
- 0
443
+ <Button
444
+ active={false}
445
+ block={false}
446
+ bsClass="btn"
447
+ bsStyle="link"
448
+ disabled={false}
449
+ >
450
+ 0
451
+ </Button>
313
452
  </td>
314
453
  <td
315
454
  className="data-col"
316
455
  onClick={[Function]}
317
456
  >
318
- 0
457
+ <Button
458
+ active={false}
459
+ block={false}
460
+ bsClass="btn"
461
+ bsStyle="link"
462
+ disabled={false}
463
+ >
464
+ 0
465
+ </Button>
319
466
  </td>
320
467
  </tr>
321
468
  </tbody>
@@ -331,6 +478,7 @@ exports[`StoppedTasksCard render success-last selected 1`] = `
331
478
  aggregatedMini={false}
332
479
  cardRef={null}
333
480
  className="tasks-donut-card stopped-tasks-card selected-tasks-card"
481
+ id="stopped-tasks-card"
334
482
  matchHeight={false}
335
483
  >
336
484
  <CardTitle
@@ -371,13 +519,29 @@ exports[`StoppedTasksCard render success-last selected 1`] = `
371
519
  className="data-col not-focused"
372
520
  onClick={[Function]}
373
521
  >
374
- 0
522
+ <Button
523
+ active={false}
524
+ block={false}
525
+ bsClass="btn"
526
+ bsStyle="link"
527
+ disabled={false}
528
+ >
529
+ 0
530
+ </Button>
375
531
  </td>
376
532
  <td
377
533
  className="data-col not-focused"
378
534
  onClick={[Function]}
379
535
  >
380
- 0
536
+ <Button
537
+ active={false}
538
+ block={false}
539
+ bsClass="btn"
540
+ bsStyle="link"
541
+ disabled={false}
542
+ >
543
+ 0
544
+ </Button>
381
545
  </td>
382
546
  </tr>
383
547
  <tr
@@ -394,13 +558,29 @@ exports[`StoppedTasksCard render success-last selected 1`] = `
394
558
  className="data-col not-focused"
395
559
  onClick={[Function]}
396
560
  >
397
- 0
561
+ <Button
562
+ active={false}
563
+ block={false}
564
+ bsClass="btn"
565
+ bsStyle="link"
566
+ disabled={false}
567
+ >
568
+ 0
569
+ </Button>
398
570
  </td>
399
571
  <td
400
572
  className="data-col not-focused"
401
573
  onClick={[Function]}
402
574
  >
403
- 0
575
+ <Button
576
+ active={false}
577
+ block={false}
578
+ bsClass="btn"
579
+ bsStyle="link"
580
+ disabled={false}
581
+ >
582
+ 0
583
+ </Button>
404
584
  </td>
405
585
  </tr>
406
586
  <tr
@@ -417,13 +597,29 @@ exports[`StoppedTasksCard render success-last selected 1`] = `
417
597
  className="data-col not-focused"
418
598
  onClick={[Function]}
419
599
  >
420
- 0
600
+ <Button
601
+ active={false}
602
+ block={false}
603
+ bsClass="btn"
604
+ bsStyle="link"
605
+ disabled={false}
606
+ >
607
+ 0
608
+ </Button>
421
609
  </td>
422
610
  <td
423
611
  className="data-col active"
424
612
  onClick={[Function]}
425
613
  >
426
- 0
614
+ <Button
615
+ active={false}
616
+ block={false}
617
+ bsClass="btn"
618
+ bsStyle="link"
619
+ disabled={false}
620
+ >
621
+ 0
622
+ </Button>
427
623
  </td>
428
624
  </tr>
429
625
  </tbody>
@@ -439,6 +635,7 @@ exports[`StoppedTasksCard render success-total selected 1`] = `
439
635
  aggregatedMini={false}
440
636
  cardRef={null}
441
637
  className="tasks-donut-card stopped-tasks-card selected-tasks-card"
638
+ id="stopped-tasks-card"
442
639
  matchHeight={false}
443
640
  >
444
641
  <CardTitle
@@ -479,13 +676,29 @@ exports[`StoppedTasksCard render success-total selected 1`] = `
479
676
  className="data-col not-focused"
480
677
  onClick={[Function]}
481
678
  >
482
- 0
679
+ <Button
680
+ active={false}
681
+ block={false}
682
+ bsClass="btn"
683
+ bsStyle="link"
684
+ disabled={false}
685
+ >
686
+ 0
687
+ </Button>
483
688
  </td>
484
689
  <td
485
690
  className="data-col not-focused"
486
691
  onClick={[Function]}
487
692
  >
488
- 0
693
+ <Button
694
+ active={false}
695
+ block={false}
696
+ bsClass="btn"
697
+ bsStyle="link"
698
+ disabled={false}
699
+ >
700
+ 0
701
+ </Button>
489
702
  </td>
490
703
  </tr>
491
704
  <tr
@@ -502,13 +715,29 @@ exports[`StoppedTasksCard render success-total selected 1`] = `
502
715
  className="data-col not-focused"
503
716
  onClick={[Function]}
504
717
  >
505
- 0
718
+ <Button
719
+ active={false}
720
+ block={false}
721
+ bsClass="btn"
722
+ bsStyle="link"
723
+ disabled={false}
724
+ >
725
+ 0
726
+ </Button>
506
727
  </td>
507
728
  <td
508
729
  className="data-col not-focused"
509
730
  onClick={[Function]}
510
731
  >
511
- 0
732
+ <Button
733
+ active={false}
734
+ block={false}
735
+ bsClass="btn"
736
+ bsStyle="link"
737
+ disabled={false}
738
+ >
739
+ 0
740
+ </Button>
512
741
  </td>
513
742
  </tr>
514
743
  <tr
@@ -525,13 +754,29 @@ exports[`StoppedTasksCard render success-total selected 1`] = `
525
754
  className="data-col active"
526
755
  onClick={[Function]}
527
756
  >
528
- 0
757
+ <Button
758
+ active={false}
759
+ block={false}
760
+ bsClass="btn"
761
+ bsStyle="link"
762
+ disabled={false}
763
+ >
764
+ 0
765
+ </Button>
529
766
  </td>
530
767
  <td
531
768
  className="data-col not-focused"
532
769
  onClick={[Function]}
533
770
  >
534
- 0
771
+ <Button
772
+ active={false}
773
+ block={false}
774
+ bsClass="btn"
775
+ bsStyle="link"
776
+ disabled={false}
777
+ >
778
+ 0
779
+ </Button>
535
780
  </td>
536
781
  </tr>
537
782
  </tbody>
@@ -547,6 +792,7 @@ exports[`StoppedTasksCard render warning-last selected 1`] = `
547
792
  aggregatedMini={false}
548
793
  cardRef={null}
549
794
  className="tasks-donut-card stopped-tasks-card selected-tasks-card"
795
+ id="stopped-tasks-card"
550
796
  matchHeight={false}
551
797
  >
552
798
  <CardTitle
@@ -587,13 +833,29 @@ exports[`StoppedTasksCard render warning-last selected 1`] = `
587
833
  className="data-col not-focused"
588
834
  onClick={[Function]}
589
835
  >
590
- 0
836
+ <Button
837
+ active={false}
838
+ block={false}
839
+ bsClass="btn"
840
+ bsStyle="link"
841
+ disabled={false}
842
+ >
843
+ 0
844
+ </Button>
591
845
  </td>
592
846
  <td
593
847
  className="data-col not-focused"
594
848
  onClick={[Function]}
595
849
  >
596
- 0
850
+ <Button
851
+ active={false}
852
+ block={false}
853
+ bsClass="btn"
854
+ bsStyle="link"
855
+ disabled={false}
856
+ >
857
+ 0
858
+ </Button>
597
859
  </td>
598
860
  </tr>
599
861
  <tr
@@ -610,13 +872,29 @@ exports[`StoppedTasksCard render warning-last selected 1`] = `
610
872
  className="data-col not-focused"
611
873
  onClick={[Function]}
612
874
  >
613
- 0
875
+ <Button
876
+ active={false}
877
+ block={false}
878
+ bsClass="btn"
879
+ bsStyle="link"
880
+ disabled={false}
881
+ >
882
+ 0
883
+ </Button>
614
884
  </td>
615
885
  <td
616
886
  className="data-col active"
617
887
  onClick={[Function]}
618
888
  >
619
- 0
889
+ <Button
890
+ active={false}
891
+ block={false}
892
+ bsClass="btn"
893
+ bsStyle="link"
894
+ disabled={false}
895
+ >
896
+ 0
897
+ </Button>
620
898
  </td>
621
899
  </tr>
622
900
  <tr
@@ -633,13 +911,29 @@ exports[`StoppedTasksCard render warning-last selected 1`] = `
633
911
  className="data-col not-focused"
634
912
  onClick={[Function]}
635
913
  >
636
- 0
914
+ <Button
915
+ active={false}
916
+ block={false}
917
+ bsClass="btn"
918
+ bsStyle="link"
919
+ disabled={false}
920
+ >
921
+ 0
922
+ </Button>
637
923
  </td>
638
924
  <td
639
925
  className="data-col not-focused"
640
926
  onClick={[Function]}
641
927
  >
642
- 0
928
+ <Button
929
+ active={false}
930
+ block={false}
931
+ bsClass="btn"
932
+ bsStyle="link"
933
+ disabled={false}
934
+ >
935
+ 0
936
+ </Button>
643
937
  </td>
644
938
  </tr>
645
939
  </tbody>
@@ -655,6 +949,7 @@ exports[`StoppedTasksCard render warning-total selected 1`] = `
655
949
  aggregatedMini={false}
656
950
  cardRef={null}
657
951
  className="tasks-donut-card stopped-tasks-card selected-tasks-card"
952
+ id="stopped-tasks-card"
658
953
  matchHeight={false}
659
954
  >
660
955
  <CardTitle
@@ -695,13 +990,29 @@ exports[`StoppedTasksCard render warning-total selected 1`] = `
695
990
  className="data-col not-focused"
696
991
  onClick={[Function]}
697
992
  >
698
- 0
993
+ <Button
994
+ active={false}
995
+ block={false}
996
+ bsClass="btn"
997
+ bsStyle="link"
998
+ disabled={false}
999
+ >
1000
+ 0
1001
+ </Button>
699
1002
  </td>
700
1003
  <td
701
1004
  className="data-col not-focused"
702
1005
  onClick={[Function]}
703
1006
  >
704
- 0
1007
+ <Button
1008
+ active={false}
1009
+ block={false}
1010
+ bsClass="btn"
1011
+ bsStyle="link"
1012
+ disabled={false}
1013
+ >
1014
+ 0
1015
+ </Button>
705
1016
  </td>
706
1017
  </tr>
707
1018
  <tr
@@ -718,13 +1029,29 @@ exports[`StoppedTasksCard render warning-total selected 1`] = `
718
1029
  className="data-col active"
719
1030
  onClick={[Function]}
720
1031
  >
721
- 0
1032
+ <Button
1033
+ active={false}
1034
+ block={false}
1035
+ bsClass="btn"
1036
+ bsStyle="link"
1037
+ disabled={false}
1038
+ >
1039
+ 0
1040
+ </Button>
722
1041
  </td>
723
1042
  <td
724
1043
  className="data-col not-focused"
725
1044
  onClick={[Function]}
726
1045
  >
727
- 0
1046
+ <Button
1047
+ active={false}
1048
+ block={false}
1049
+ bsClass="btn"
1050
+ bsStyle="link"
1051
+ disabled={false}
1052
+ >
1053
+ 0
1054
+ </Button>
728
1055
  </td>
729
1056
  </tr>
730
1057
  <tr
@@ -741,13 +1068,29 @@ exports[`StoppedTasksCard render warning-total selected 1`] = `
741
1068
  className="data-col not-focused"
742
1069
  onClick={[Function]}
743
1070
  >
744
- 0
1071
+ <Button
1072
+ active={false}
1073
+ block={false}
1074
+ bsClass="btn"
1075
+ bsStyle="link"
1076
+ disabled={false}
1077
+ >
1078
+ 0
1079
+ </Button>
745
1080
  </td>
746
1081
  <td
747
1082
  className="data-col not-focused"
748
1083
  onClick={[Function]}
749
1084
  >
750
- 0
1085
+ <Button
1086
+ active={false}
1087
+ block={false}
1088
+ bsClass="btn"
1089
+ bsStyle="link"
1090
+ disabled={false}
1091
+ >
1092
+ 0
1093
+ </Button>
751
1094
  </td>
752
1095
  </tr>
753
1096
  </tbody>
@@ -763,6 +1106,7 @@ exports[`StoppedTasksCard render with minimal props 1`] = `
763
1106
  aggregatedMini={false}
764
1107
  cardRef={null}
765
1108
  className="tasks-donut-card stopped-tasks-card"
1109
+ id="stopped-tasks-card"
766
1110
  matchHeight={false}
767
1111
  >
768
1112
  <CardTitle
@@ -803,13 +1147,29 @@ exports[`StoppedTasksCard render with minimal props 1`] = `
803
1147
  className="data-col"
804
1148
  onClick={[Function]}
805
1149
  >
806
- 0
1150
+ <Button
1151
+ active={false}
1152
+ block={false}
1153
+ bsClass="btn"
1154
+ bsStyle="link"
1155
+ disabled={false}
1156
+ >
1157
+ 0
1158
+ </Button>
807
1159
  </td>
808
1160
  <td
809
1161
  className="data-col"
810
1162
  onClick={[Function]}
811
1163
  >
812
- 0
1164
+ <Button
1165
+ active={false}
1166
+ block={false}
1167
+ bsClass="btn"
1168
+ bsStyle="link"
1169
+ disabled={false}
1170
+ >
1171
+ 0
1172
+ </Button>
813
1173
  </td>
814
1174
  </tr>
815
1175
  <tr
@@ -826,13 +1186,29 @@ exports[`StoppedTasksCard render with minimal props 1`] = `
826
1186
  className="data-col"
827
1187
  onClick={[Function]}
828
1188
  >
829
- 0
1189
+ <Button
1190
+ active={false}
1191
+ block={false}
1192
+ bsClass="btn"
1193
+ bsStyle="link"
1194
+ disabled={false}
1195
+ >
1196
+ 0
1197
+ </Button>
830
1198
  </td>
831
1199
  <td
832
1200
  className="data-col"
833
1201
  onClick={[Function]}
834
1202
  >
835
- 0
1203
+ <Button
1204
+ active={false}
1205
+ block={false}
1206
+ bsClass="btn"
1207
+ bsStyle="link"
1208
+ disabled={false}
1209
+ >
1210
+ 0
1211
+ </Button>
836
1212
  </td>
837
1213
  </tr>
838
1214
  <tr
@@ -849,13 +1225,29 @@ exports[`StoppedTasksCard render with minimal props 1`] = `
849
1225
  className="data-col"
850
1226
  onClick={[Function]}
851
1227
  >
852
- 0
1228
+ <Button
1229
+ active={false}
1230
+ block={false}
1231
+ bsClass="btn"
1232
+ bsStyle="link"
1233
+ disabled={false}
1234
+ >
1235
+ 0
1236
+ </Button>
853
1237
  </td>
854
1238
  <td
855
1239
  className="data-col"
856
1240
  onClick={[Function]}
857
1241
  >
858
- 0
1242
+ <Button
1243
+ active={false}
1244
+ block={false}
1245
+ bsClass="btn"
1246
+ bsStyle="link"
1247
+ disabled={false}
1248
+ >
1249
+ 0
1250
+ </Button>
859
1251
  </td>
860
1252
  </tr>
861
1253
  </tbody>
@@ -871,6 +1263,7 @@ exports[`StoppedTasksCard render with props 1`] = `
871
1263
  aggregatedMini={false}
872
1264
  cardRef={null}
873
1265
  className="tasks-donut-card stopped-tasks-card"
1266
+ id="stopped-tasks-card"
874
1267
  matchHeight={false}
875
1268
  >
876
1269
  <CardTitle
@@ -911,13 +1304,29 @@ exports[`StoppedTasksCard render with props 1`] = `
911
1304
  className="data-col"
912
1305
  onClick={[Function]}
913
1306
  >
914
- 9
1307
+ <Button
1308
+ active={false}
1309
+ block={false}
1310
+ bsClass="btn"
1311
+ bsStyle="link"
1312
+ disabled={false}
1313
+ >
1314
+ 9
1315
+ </Button>
915
1316
  </td>
916
1317
  <td
917
1318
  className="data-col"
918
1319
  onClick={[Function]}
919
1320
  >
920
- 1
1321
+ <Button
1322
+ active={false}
1323
+ block={false}
1324
+ bsClass="btn"
1325
+ bsStyle="link"
1326
+ disabled={false}
1327
+ >
1328
+ 1
1329
+ </Button>
921
1330
  </td>
922
1331
  </tr>
923
1332
  <tr
@@ -934,13 +1343,29 @@ exports[`StoppedTasksCard render with props 1`] = `
934
1343
  className="data-col"
935
1344
  onClick={[Function]}
936
1345
  >
937
- 8
1346
+ <Button
1347
+ active={false}
1348
+ block={false}
1349
+ bsClass="btn"
1350
+ bsStyle="link"
1351
+ disabled={false}
1352
+ >
1353
+ 8
1354
+ </Button>
938
1355
  </td>
939
1356
  <td
940
1357
  className="data-col"
941
1358
  onClick={[Function]}
942
1359
  >
943
- 2
1360
+ <Button
1361
+ active={false}
1362
+ block={false}
1363
+ bsClass="btn"
1364
+ bsStyle="link"
1365
+ disabled={false}
1366
+ >
1367
+ 2
1368
+ </Button>
944
1369
  </td>
945
1370
  </tr>
946
1371
  <tr
@@ -957,13 +1382,29 @@ exports[`StoppedTasksCard render with props 1`] = `
957
1382
  className="data-col"
958
1383
  onClick={[Function]}
959
1384
  >
960
- 7
1385
+ <Button
1386
+ active={false}
1387
+ block={false}
1388
+ bsClass="btn"
1389
+ bsStyle="link"
1390
+ disabled={false}
1391
+ >
1392
+ 7
1393
+ </Button>
961
1394
  </td>
962
1395
  <td
963
1396
  className="data-col"
964
1397
  onClick={[Function]}
965
1398
  >
966
- 3
1399
+ <Button
1400
+ active={false}
1401
+ block={false}
1402
+ bsClass="btn"
1403
+ bsStyle="link"
1404
+ disabled={false}
1405
+ >
1406
+ 3
1407
+ </Button>
967
1408
  </td>
968
1409
  </tr>
969
1410
  </tbody>