foreman-tasks 0.17.6 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (198) hide show
  1. checksums.yaml +4 -4
  2. data/.eslintrc +2 -22
  3. data/.rubocop.yml +12 -12
  4. data/.rubocop_todo.yml +34 -116
  5. data/.travis.yml +2 -2
  6. data/app/controllers/foreman_tasks/api/recurring_logics_controller.rb +20 -1
  7. data/app/controllers/foreman_tasks/api/tasks_controller.rb +66 -11
  8. data/app/controllers/foreman_tasks/concerns/hosts_controller_extension.rb +1 -1
  9. data/app/controllers/foreman_tasks/recurring_logics_controller.rb +19 -0
  10. data/app/controllers/foreman_tasks/tasks_controller.rb +3 -11
  11. data/app/helpers/foreman_tasks/foreman_tasks_helper.rb +0 -2
  12. data/app/lib/actions/helpers/humanizer.rb +1 -3
  13. data/app/lib/actions/proxy_action.rb +33 -12
  14. data/app/lib/foreman_tasks/concerns/polling_action_extensions.rb +12 -0
  15. data/app/models/foreman_tasks/concerns/action_triggering.rb +1 -1
  16. data/app/models/foreman_tasks/recurring_logic.rb +1 -0
  17. data/app/models/foreman_tasks/remote_task.rb +1 -0
  18. data/app/models/foreman_tasks/task.rb +8 -0
  19. data/app/models/foreman_tasks/task/dynflow_task.rb +1 -1
  20. data/app/models/foreman_tasks/task/search.rb +11 -1
  21. data/app/models/setting/foreman_tasks.rb +7 -2
  22. data/app/services/ui_notifications/tasks/task_bulk_cancel.rb +36 -0
  23. data/app/services/ui_notifications/tasks/task_bulk_resume.rb +38 -0
  24. data/app/services/ui_notifications/tasks/task_bulk_stop.rb +36 -0
  25. data/app/views/foreman_tasks/api/recurring_logics/base.json.rabl +2 -1
  26. data/app/views/foreman_tasks/api/tasks/details.json.rabl +1 -1
  27. data/app/views/foreman_tasks/api/tasks/show.json.rabl +1 -1
  28. data/app/views/foreman_tasks/recurring_logics/index.html.erb +30 -0
  29. data/app/views/foreman_tasks/tasks/show.html.erb +3 -0
  30. data/babel.config.js +3 -0
  31. data/config/routes.rb +8 -0
  32. data/db/migrate/20200517215015_rename_bookmarks_controller.rb +35 -0
  33. data/db/migrate/20200519093217_drop_dynflow_allow_dangerous_actions_setting.foreman_tasks.rb +5 -0
  34. data/db/seeds.d/30-notification_blueprints.rb +21 -0
  35. data/foreman-tasks.gemspec +5 -6
  36. data/gemfile.d/foreman-tasks.rb +1 -0
  37. data/lib/foreman_tasks/dynflow/console_authorizer.rb +2 -2
  38. data/lib/foreman_tasks/engine.rb +17 -14
  39. data/lib/foreman_tasks/tasks/cleanup.rake +1 -1
  40. data/lib/foreman_tasks/tasks/export_tasks.rake +2 -2
  41. data/lib/foreman_tasks/test_extensions.rb +1 -1
  42. data/lib/foreman_tasks/version.rb +1 -1
  43. data/locale/action_names.rb +2 -2
  44. data/locale/en/foreman_tasks.po +227 -41
  45. data/locale/foreman_tasks.pot +579 -288
  46. data/package.json +19 -79
  47. data/script/rails +2 -2
  48. data/script/travis_run_js_tests.sh +2 -2
  49. data/test/controllers/api/tasks_controller_test.rb +9 -0
  50. data/test/factories/task_factory.rb +34 -2
  51. data/test/foreman_tasks_test_helper.rb +4 -0
  52. data/test/lib/concerns/polling_action_extensions_test.rb +34 -0
  53. data/test/unit/actions/action_with_sub_plans_test.rb +1 -1
  54. data/test/unit/task_test.rb +160 -74
  55. data/webpack/ForemanTasks/Components/TaskActions/TaskAction.test.js +60 -0
  56. data/webpack/ForemanTasks/Components/TaskActions/TaskActionHelpers.js +67 -0
  57. data/webpack/ForemanTasks/Components/TaskActions/TaskActionHelpers.test.js +46 -0
  58. data/webpack/ForemanTasks/Components/TaskActions/TaskActionsConstants.js +16 -0
  59. data/webpack/ForemanTasks/Components/TaskActions/UnlockModals.js +60 -0
  60. data/webpack/ForemanTasks/Components/TaskActions/UnlockModals.test.js +14 -0
  61. data/webpack/ForemanTasks/Components/TaskActions/__snapshots__/TaskAction.test.js.snap +233 -0
  62. data/webpack/ForemanTasks/Components/TaskActions/__snapshots__/UnlockModals.test.js.snap +25 -0
  63. data/webpack/ForemanTasks/Components/TaskActions/index.js +115 -0
  64. data/webpack/ForemanTasks/Components/TaskDetails/Components/Task.js +132 -150
  65. data/webpack/ForemanTasks/Components/TaskDetails/Components/TaskInfo.js +1 -4
  66. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/Errors.test.js +1 -1
  67. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/Locks.test.js +1 -1
  68. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/Raw.test.js +1 -1
  69. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/RunningSteps.test.js +1 -1
  70. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/Task.test.js +68 -3
  71. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/TaskInfo.test.js +1 -2
  72. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/__snapshots__/Task.test.js.snap +104 -71
  73. data/webpack/ForemanTasks/Components/TaskDetails/Components/__tests__/__snapshots__/TaskInfo.test.js.snap +9 -15
  74. data/webpack/ForemanTasks/Components/TaskDetails/TaskDetails.stories.js +6 -2
  75. data/webpack/ForemanTasks/Components/TaskDetails/TaskDetailsActions.js +2 -17
  76. data/webpack/ForemanTasks/Components/TaskDetails/TaskDetailsConstants.js +0 -5
  77. data/webpack/ForemanTasks/Components/TaskDetails/TaskDetailsReducer.js +0 -6
  78. data/webpack/ForemanTasks/Components/TaskDetails/TaskDetailsSelectors.js +3 -9
  79. data/webpack/ForemanTasks/Components/TaskDetails/TasksDetailsHelper.js +6 -1
  80. data/webpack/ForemanTasks/Components/TaskDetails/__tests__/TaskDetails.test.js +6 -1
  81. data/webpack/ForemanTasks/Components/TaskDetails/__tests__/TaskDetailsActions.test.js +1 -1
  82. data/webpack/ForemanTasks/Components/TaskDetails/__tests__/TaskDetailsReducer.test.js +1 -1
  83. data/webpack/ForemanTasks/Components/TaskDetails/__tests__/__snapshots__/TaskDetails.test.js.snap +3 -7
  84. data/webpack/ForemanTasks/Components/TaskDetails/__tests__/integration.test.js +5 -1
  85. data/webpack/ForemanTasks/Components/TaskDetails/index.js +6 -8
  86. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/PausedTasksCard/PausedTasksCard.stories.js +44 -40
  87. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/PausedTasksCard/PausedTasksCard.test.js +1 -1
  88. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/RunningTasksCard/RunningTasksCard.stories.js +45 -40
  89. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/RunningTasksCard/RunningTasksCard.test.js +1 -1
  90. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/ScheduledTasksCard/ScheduledTasksCard.stories.js +27 -22
  91. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/ScheduledTasksCard/ScheduledTasksCard.test.js +1 -1
  92. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/StoppedTasksCard.stories.js +61 -56
  93. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/StoppedTasksCard/StoppedTasksCard.test.js +1 -1
  94. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/TasksDonutCard/TasksDonutCard.stories.js +40 -35
  95. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/TasksDonutCard/TasksDonutCard.test.js +1 -1
  96. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/TasksDonutChart/TasksDonutChart.stories.js +21 -20
  97. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/Components/TasksDonutChart/TasksDonutChart.test.js +1 -1
  98. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/TasksCardsGrid.stories.js +40 -39
  99. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksCardsGrid/TasksCardsGrid.test.js +1 -1
  100. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksLabelsRow/TasksLabelsRow.stories.js +16 -17
  101. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksLabelsRow/TasksLabelsRow.test.js +1 -2
  102. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksTimeRow/Components/TimeDropDown/TimeDropDown.stories.mdx +57 -0
  103. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksTimeRow/Components/TimeDropDown/TimeDropDown.test.js +1 -1
  104. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksTimeRow/TasksTimeRow.stories.js +36 -18
  105. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksTimeRow/TasksTimeRow.test.js +1 -1
  106. data/webpack/ForemanTasks/Components/TasksDashboard/TasksDashboardConstants.js +5 -0
  107. data/webpack/ForemanTasks/Components/TasksDashboard/TasksDashboardHelper.js +3 -2
  108. data/webpack/ForemanTasks/Components/TasksDashboard/__tests__/TasksDashboard.test.js +1 -1
  109. data/webpack/ForemanTasks/Components/TasksDashboard/__tests__/TasksDashboardActions.test.js +1 -1
  110. data/webpack/ForemanTasks/Components/TasksDashboard/__tests__/TasksDashboardReducer.test.js +1 -1
  111. data/webpack/ForemanTasks/Components/TasksDashboard/__tests__/TasksDashboardSelectors.test.js +1 -1
  112. data/webpack/ForemanTasks/Components/TasksTable/Components/ActionSelectButton.js +14 -1
  113. data/webpack/ForemanTasks/Components/TasksTable/Components/ConfirmModal/ConfirmModal.js +83 -0
  114. data/webpack/ForemanTasks/Components/TasksTable/Components/ConfirmModal/ConfirmModalActions.js +106 -0
  115. data/webpack/ForemanTasks/Components/TasksTable/Components/ConfirmModal/ConfirmModalReducer.js +38 -0
  116. data/webpack/ForemanTasks/Components/TasksTable/Components/ConfirmModal/ConfirmModalSelectors.js +45 -0
  117. data/webpack/ForemanTasks/Components/TasksTable/Components/ConfirmModal/__test__/ConfirmModal.test.js +36 -0
  118. data/webpack/ForemanTasks/Components/TasksTable/Components/ConfirmModal/__test__/ConfirmModalActions.test.js +205 -0
  119. data/webpack/ForemanTasks/Components/TasksTable/Components/ConfirmModal/__test__/ConfirmModalReducer.test.js +27 -0
  120. data/webpack/ForemanTasks/Components/TasksTable/Components/ConfirmModal/__test__/ConfirmModalSelectors.test.js +54 -0
  121. data/webpack/ForemanTasks/Components/TasksTable/Components/ConfirmModal/__test__/__snapshots__/ConfirmModal.test.js.snap +41 -0
  122. data/webpack/ForemanTasks/Components/TasksTable/Components/ConfirmModal/__test__/__snapshots__/ConfirmModalReducer.test.js.snap +19 -0
  123. data/webpack/ForemanTasks/Components/TasksTable/Components/ConfirmModal/__test__/__snapshots__/ConfirmModalSelectors.test.js.snap +30 -0
  124. data/webpack/ForemanTasks/Components/TasksTable/Components/ConfirmModal/index.js +29 -0
  125. data/webpack/ForemanTasks/Components/TasksTable/Components/SelectAllAlert.js +43 -0
  126. data/webpack/ForemanTasks/Components/TasksTable/Components/__test__/ActionSelectButton.test.js +2 -1
  127. data/webpack/ForemanTasks/Components/TasksTable/Components/__test__/SelectAllAlert.test.js +29 -0
  128. data/webpack/ForemanTasks/Components/TasksTable/Components/__test__/TableSelectionCell.test.js +1 -1
  129. data/webpack/ForemanTasks/Components/TasksTable/Components/__test__/TableSelectionHeaderCell.test.js +1 -1
  130. data/webpack/ForemanTasks/Components/TasksTable/Components/__test__/__snapshots__/ActionSelectButton.test.js.snap +11 -0
  131. data/webpack/ForemanTasks/Components/TasksTable/Components/__test__/__snapshots__/SelectAllAlert.test.js.snap +75 -0
  132. data/webpack/ForemanTasks/Components/TasksTable/SubTasksPage.js +4 -1
  133. data/webpack/ForemanTasks/Components/TasksTable/TasksBulkActions.js +247 -0
  134. data/webpack/ForemanTasks/Components/TasksTable/TasksTable.js +50 -22
  135. data/webpack/ForemanTasks/Components/TasksTable/TasksTableActions.js +62 -101
  136. data/webpack/ForemanTasks/Components/TasksTable/TasksTableConstants.js +18 -5
  137. data/webpack/ForemanTasks/Components/TasksTable/TasksTableHelpers.js +4 -3
  138. data/webpack/ForemanTasks/Components/TasksTable/TasksTablePage.js +65 -38
  139. data/webpack/ForemanTasks/Components/TasksTable/TasksTableReducer.js +26 -9
  140. data/webpack/ForemanTasks/Components/TasksTable/TasksTableSchema.js +2 -2
  141. data/webpack/ForemanTasks/Components/TasksTable/TasksTableSelectors.js +27 -16
  142. data/webpack/ForemanTasks/Components/TasksTable/__tests__/SubTasksPage.test.js +1 -1
  143. data/webpack/ForemanTasks/Components/TasksTable/__tests__/TasksBulkActions.test.js +147 -0
  144. data/webpack/ForemanTasks/Components/TasksTable/__tests__/TasksIndexPage.test.js +1 -1
  145. data/webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTable.fixtures.js +4 -7
  146. data/webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTable.test.js +1 -1
  147. data/webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTableActions.test.js +46 -74
  148. data/webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTableHelpers.test.js +17 -1
  149. data/webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTablePage.test.js +10 -2
  150. data/webpack/ForemanTasks/Components/TasksTable/__tests__/TasksTableReducer.test.js +28 -8
  151. data/webpack/ForemanTasks/Components/TasksTable/__tests__/__snapshots__/SubTasksPage.test.js.snap +5 -7
  152. data/webpack/ForemanTasks/Components/TasksTable/__tests__/__snapshots__/TasksBulkActions.test.js.snap +336 -0
  153. data/webpack/ForemanTasks/Components/TasksTable/__tests__/__snapshots__/TasksIndexPage.test.js.snap +4 -7
  154. data/webpack/ForemanTasks/Components/TasksTable/__tests__/__snapshots__/TasksTableActions.test.js.snap +22 -158
  155. data/webpack/ForemanTasks/Components/TasksTable/__tests__/__snapshots__/TasksTablePage.test.js.snap +66 -44
  156. data/webpack/ForemanTasks/Components/TasksTable/__tests__/__snapshots__/TasksTableReducer.test.js.snap +43 -16
  157. data/webpack/ForemanTasks/Components/TasksTable/formatters/__test__/selectionHeaderCellFormatter.test.js +1 -1
  158. data/webpack/ForemanTasks/Components/TasksTable/formatters/selectionHeaderCellFormatter.js +2 -2
  159. data/webpack/ForemanTasks/Components/TasksTable/index.js +11 -4
  160. data/webpack/ForemanTasks/Components/common/ActionButtons/ActionButton.js +49 -21
  161. data/webpack/ForemanTasks/Components/common/ActionButtons/ActionButton.test.js +61 -14
  162. data/webpack/ForemanTasks/Components/common/ActionButtons/__snapshots__/ActionButton.test.js.snap +80 -21
  163. data/webpack/ForemanTasks/Components/common/ClickConfirmation/ClickConfirmation.scss +9 -0
  164. data/webpack/ForemanTasks/Components/common/ClickConfirmation/ClickConfirmation.test.js +44 -0
  165. data/webpack/ForemanTasks/Components/common/ClickConfirmation/__snapshots__/ClickConfirmation.test.js.snap +52 -0
  166. data/webpack/ForemanTasks/Components/common/ClickConfirmation/index.js +59 -66
  167. data/webpack/ForemanTasks/Components/common/ToastsHelpers/ToastTypesConstants.js +11 -0
  168. data/webpack/ForemanTasks/Components/common/ToastsHelpers/index.js +15 -0
  169. data/webpack/ForemanTasks/ForemanTasks.test.js +1 -1
  170. data/webpack/ForemanTasks/ForemanTasksReducers.js +2 -0
  171. data/webpack/ForemanTasks/Routes/ForemanTasksRouter.test.js +1 -1
  172. data/webpack/ForemanTasks/Routes/ForemanTasksRoutes.test.js +4 -4
  173. data/webpack/ForemanTasks/Routes/ShowTask/__tests__/ShowTask.test.js +1 -1
  174. data/webpack/__mocks__/foremanReact/components/ForemanModal/ForemanModalActions.js +2 -0
  175. data/webpack/__mocks__/foremanReact/components/ForemanModal/ForemanModalHooks.js +10 -0
  176. data/webpack/__mocks__/foremanReact/components/ForemanModal/index.js +18 -0
  177. data/webpack/__mocks__/foremanReact/components/common/ActionButtons/ActionButtons.js +3 -0
  178. metadata +71 -30
  179. data/.babelrc +0 -35
  180. data/.storybook/addons.js +0 -2
  181. data/.storybook/config.js +0 -7
  182. data/.storybook/webpack.config.js +0 -63
  183. data/webpack/ForemanTasks/Components/TasksDashboard/Components/TasksTimeRow/Components/TimeDropDown/TimeDropDown.stories.js +0 -23
  184. data/webpack/ForemanTasks/Components/TasksTable/Components/ActionConfirmation.js +0 -49
  185. data/webpack/ForemanTasks/Components/TasksTable/Components/CancelResumeConfirm.js +0 -51
  186. data/webpack/ForemanTasks/Components/TasksTable/Components/__test__/ActionConfirmation.test.js +0 -18
  187. data/webpack/ForemanTasks/Components/TasksTable/Components/__test__/CancelResumeConfirm.test.js +0 -28
  188. data/webpack/ForemanTasks/Components/TasksTable/Components/__test__/__snapshots__/ActionConfirmation.test.js.snap +0 -89
  189. data/webpack/ForemanTasks/Components/TasksTable/Components/__test__/__snapshots__/CancelResumeConfirm.test.js.snap +0 -37
  190. data/webpack/ForemanTasks/Components/common/ActionButtons/CancelButton.js +0 -23
  191. data/webpack/ForemanTasks/Components/common/ActionButtons/CancelButton.test.js +0 -27
  192. data/webpack/ForemanTasks/Components/common/ActionButtons/ResumeButton.js +0 -23
  193. data/webpack/ForemanTasks/Components/common/ActionButtons/ResumeButton.test.js +0 -27
  194. data/webpack/ForemanTasks/Components/common/ActionButtons/__snapshots__/CancelButton.test.js.snap +0 -15
  195. data/webpack/ForemanTasks/Components/common/ActionButtons/__snapshots__/ResumeButton.test.js.snap +0 -15
  196. data/webpack/stories/index.js +0 -10
  197. data/webpack/stories/index.scss +0 -7
  198. data/webpack/test_setup.js +0 -6
@@ -1,7 +1,6 @@
1
1
  import React from 'react';
2
- import { storiesOf } from '@storybook/react';
3
- import { withKnobs, number, select } from '@storybook/addon-knobs';
4
- import { action } from '@storybook/addon-actions';
2
+ import { number, select, action } from '@theforeman/stories';
3
+
5
4
  import { withCardsDecorator } from '../../../../../../../stories/decorators';
6
5
 
7
6
  import {
@@ -11,41 +10,47 @@ import {
11
10
  } from '../../../../TasksDashboardConstants';
12
11
  import RunningTasksCard from './RunningTasksCard';
13
12
 
14
- storiesOf('TasksDashboard/TasksCardsGrid', module)
15
- .addDecorator(withKnobs)
16
- .addDecorator(withCardsDecorator)
17
- .add('RunningTasksCard', () => {
18
- const selectTime = select(
19
- 'time',
20
- TASKS_DASHBOARD_AVAILABLE_TIMES,
21
- RunningTasksCard.defaultProps.time
22
- );
13
+ export default {
14
+ title: 'TasksDashboard/TasksCardsGrid/Cards/RunningTasksCard',
15
+ component: RunningTasksCard,
16
+ decorators: [withCardsDecorator],
17
+ parameters: {
18
+ centered: { disable: true },
19
+ },
20
+ };
21
+
22
+ export const Basic = () => {
23
+ const selectTime = select(
24
+ 'time',
25
+ TASKS_DASHBOARD_AVAILABLE_TIMES,
26
+ RunningTasksCard.defaultProps.time
27
+ );
23
28
 
24
- const selectMode = select(
25
- 'mode',
26
- { ...TASKS_DASHBOARD_AVAILABLE_QUERY_MODES, NONE: 'none', TOTAL: null },
27
- 'none'
28
- );
29
- return (
30
- <RunningTasksCard
31
- data={{
32
- last: number('data.last', 3),
33
- older: number('data.older', 5),
34
- }}
35
- time={selectTime}
36
- query={{
37
- state: select(
38
- 'query.state',
39
- {
40
- ...TASKS_DASHBOARD_AVAILABLE_QUERY_STATES,
41
- NONE: null,
42
- },
43
- TASKS_DASHBOARD_AVAILABLE_QUERY_STATES.RUNNING
44
- ),
45
- mode: selectMode,
46
- time: selectTime,
47
- }}
48
- updateQuery={action('updateQuery')}
49
- />
50
- );
51
- });
29
+ const selectMode = select(
30
+ 'mode',
31
+ { ...TASKS_DASHBOARD_AVAILABLE_QUERY_MODES, NONE: 'none', TOTAL: null },
32
+ 'none'
33
+ );
34
+ return (
35
+ <RunningTasksCard
36
+ data={{
37
+ last: number('data.last', 3),
38
+ older: number('data.older', 5),
39
+ }}
40
+ time={selectTime}
41
+ query={{
42
+ state: select(
43
+ 'query.state',
44
+ {
45
+ ...TASKS_DASHBOARD_AVAILABLE_QUERY_STATES,
46
+ NONE: null,
47
+ },
48
+ TASKS_DASHBOARD_AVAILABLE_QUERY_STATES.RUNNING
49
+ ),
50
+ mode: selectMode,
51
+ time: selectTime,
52
+ }}
53
+ updateQuery={action('updateQuery')}
54
+ />
55
+ );
56
+ };
@@ -1,4 +1,4 @@
1
- import { testComponentSnapshotsWithFixtures } from 'react-redux-test-utils';
1
+ import { testComponentSnapshotsWithFixtures } from '@theforeman/test';
2
2
 
3
3
  import RunningTasksCard from './RunningTasksCard';
4
4
 
@@ -1,28 +1,33 @@
1
1
  import React from 'react';
2
- import { storiesOf } from '@storybook/react';
3
- import { withKnobs, number, select } from '@storybook/addon-knobs';
4
- import { action } from '@storybook/addon-actions';
2
+ import { number, select, action } from '@theforeman/stories';
3
+
5
4
  import { withCardsDecorator } from '../../../../../../../stories/decorators';
6
5
 
7
6
  import { TASKS_DASHBOARD_AVAILABLE_QUERY_STATES } from '../../../../TasksDashboardConstants';
8
7
  import ScheduledTasksCard from './ScheduledTasksCard';
9
8
 
10
- storiesOf('TasksDashboard/TasksCardsGrid', module)
11
- .addDecorator(withKnobs)
12
- .addDecorator(withCardsDecorator)
13
- .add('ScheduledTasksCard', () => {
14
- const selectState = select(
15
- 'query.state',
16
- { ...TASKS_DASHBOARD_AVAILABLE_QUERY_STATES, NONE: 'none' },
17
- 'none'
18
- );
19
- return (
20
- <ScheduledTasksCard
21
- data={number('data', 1)}
22
- query={{
23
- state: selectState,
24
- }}
25
- updateQuery={action('updateQuery')}
26
- />
27
- );
28
- });
9
+ export default {
10
+ title: 'TasksDashboard/TasksCardsGrid/Cards/ScheduledTasksCard',
11
+ component: ScheduledTasksCard,
12
+ decorators: [withCardsDecorator],
13
+ parameters: {
14
+ centered: { disable: true },
15
+ },
16
+ };
17
+
18
+ export const Basic = () => {
19
+ const selectState = select(
20
+ 'query.state',
21
+ { ...TASKS_DASHBOARD_AVAILABLE_QUERY_STATES, NONE: 'none' },
22
+ 'none'
23
+ );
24
+ return (
25
+ <ScheduledTasksCard
26
+ data={number('data', 1)}
27
+ query={{
28
+ state: selectState,
29
+ }}
30
+ updateQuery={action('updateQuery')}
31
+ />
32
+ );
33
+ };
@@ -1,4 +1,4 @@
1
- import { testComponentSnapshotsWithFixtures } from 'react-redux-test-utils';
1
+ import { testComponentSnapshotsWithFixtures } from '@theforeman/test';
2
2
 
3
3
  import { TASKS_DASHBOARD_AVAILABLE_QUERY_STATES } from '../../../../TasksDashboardConstants';
4
4
  import ScheduledTasksCard from './ScheduledTasksCard';
@@ -1,7 +1,6 @@
1
1
  import React from 'react';
2
- import { storiesOf } from '@storybook/react';
3
- import { withKnobs, number, select } from '@storybook/addon-knobs';
4
- import { action } from '@storybook/addon-actions';
2
+ import { number, select, action } from '@theforeman/stories';
3
+
5
4
  import { withCardsDecorator } from '../../../../../../../stories/decorators';
6
5
 
7
6
  import {
@@ -12,56 +11,62 @@ import {
12
11
  } from '../../../../TasksDashboardConstants';
13
12
  import StoppedTasksCard from './StoppedTasksCard';
14
13
 
15
- storiesOf('TasksDashboard/TasksCardsGrid', module)
16
- .addDecorator(withKnobs)
17
- .addDecorator(withCardsDecorator)
18
- .add('StoppedTasksCard', () => {
19
- const selectTime = select(
20
- 'time',
21
- TASKS_DASHBOARD_AVAILABLE_TIMES,
22
- StoppedTasksCard.defaultProps.time
23
- );
24
- const selectState = select(
25
- 'query.state',
26
- { ...TASKS_DASHBOARD_AVAILABLE_QUERY_STATES, NONE: null },
27
- TASKS_DASHBOARD_AVAILABLE_QUERY_STATES.STOPPED
28
- );
29
- const selectResult = select(
30
- 'query.result',
31
- { ...TASKS_DASHBOARD_AVAILABLE_QUERY_RESULTS, NONE: null },
32
- null
33
- );
34
- const selectMode = select(
35
- 'query.mode',
36
- { ...TASKS_DASHBOARD_AVAILABLE_QUERY_MODES, NONE: null },
37
- null
38
- );
39
- return (
40
- <div>
41
- <StoppedTasksCard
42
- data={{
43
- error: {
44
- total: number('errorTotal', 8),
45
- last: number('errorLast', 1),
46
- },
47
- warning: {
48
- total: number('warningTotal', 20),
49
- last: number('warningLast', 2),
50
- },
51
- success: {
52
- total: number('successTotal', 25),
53
- last: number('successLast', 3),
54
- },
55
- }}
56
- time={selectTime}
57
- query={{
58
- state: selectState,
59
- result: selectResult,
60
- mode: selectMode,
61
- time: selectTime,
62
- }}
63
- updateQuery={action('updateQuery')}
64
- />
65
- </div>
66
- );
67
- });
14
+ export default {
15
+ title: 'TasksDashboard/TasksCardsGrid/Cards/StoppedTasksCard',
16
+ component: StoppedTasksCard,
17
+ decorators: [withCardsDecorator],
18
+ parameters: {
19
+ centered: { disable: true },
20
+ },
21
+ };
22
+
23
+ export const Basic = () => {
24
+ const selectTime = select(
25
+ 'time',
26
+ TASKS_DASHBOARD_AVAILABLE_TIMES,
27
+ StoppedTasksCard.defaultProps.time
28
+ );
29
+ const selectState = select(
30
+ 'query.state',
31
+ { ...TASKS_DASHBOARD_AVAILABLE_QUERY_STATES, NONE: null },
32
+ TASKS_DASHBOARD_AVAILABLE_QUERY_STATES.STOPPED
33
+ );
34
+ const selectResult = select(
35
+ 'query.result',
36
+ { ...TASKS_DASHBOARD_AVAILABLE_QUERY_RESULTS, NONE: null },
37
+ null
38
+ );
39
+ const selectMode = select(
40
+ 'query.mode',
41
+ { ...TASKS_DASHBOARD_AVAILABLE_QUERY_MODES, NONE: null },
42
+ null
43
+ );
44
+ return (
45
+ <div>
46
+ <StoppedTasksCard
47
+ data={{
48
+ error: {
49
+ total: number('errorTotal', 8),
50
+ last: number('errorLast', 1),
51
+ },
52
+ warning: {
53
+ total: number('warningTotal', 20),
54
+ last: number('warningLast', 2),
55
+ },
56
+ success: {
57
+ total: number('successTotal', 25),
58
+ last: number('successLast', 3),
59
+ },
60
+ }}
61
+ time={selectTime}
62
+ query={{
63
+ state: selectState,
64
+ result: selectResult,
65
+ mode: selectMode,
66
+ time: selectTime,
67
+ }}
68
+ updateQuery={action('updateQuery')}
69
+ />
70
+ </div>
71
+ );
72
+ };
@@ -1,4 +1,4 @@
1
- import { testComponentSnapshotsWithFixtures } from 'react-redux-test-utils';
1
+ import { testComponentSnapshotsWithFixtures } from '@theforeman/test';
2
2
  import {
3
3
  TASKS_DASHBOARD_AVAILABLE_TIMES,
4
4
  TASKS_DASHBOARD_AVAILABLE_QUERY_STATES,
@@ -1,7 +1,6 @@
1
1
  import React from 'react';
2
- import { storiesOf } from '@storybook/react';
3
- import { withKnobs, number, text, select } from '@storybook/addon-knobs';
4
- import { action } from '@storybook/addon-actions';
2
+ import { number, text, select, action } from '@theforeman/stories';
3
+
5
4
  import { withCardsDecorator } from '../../../../../../../stories/decorators';
6
5
 
7
6
  import {
@@ -10,37 +9,43 @@ import {
10
9
  } from '../../../../TasksDashboardConstants';
11
10
  import TasksDonutCard from './TasksDonutCard';
12
11
 
13
- storiesOf('TasksDashboard/TasksCardsGrid', module)
14
- .addDecorator(withKnobs)
15
- .addDecorator(withCardsDecorator)
16
- .add('TasksDonutCard', () => {
17
- const selectTime = select(
18
- 'time',
19
- TASKS_DASHBOARD_AVAILABLE_TIMES,
20
- TasksDonutCard.defaultProps.time
21
- );
12
+ export default {
13
+ title: 'TasksDashboard/TasksCardsGrid/Cards/TasksDonutCard',
14
+ component: TasksDonutCard,
15
+ decorators: [withCardsDecorator],
16
+ parameters: {
17
+ centered: { disable: true },
18
+ },
19
+ };
20
+
21
+ export const Basic = () => {
22
+ const selectTime = select(
23
+ 'time',
24
+ TASKS_DASHBOARD_AVAILABLE_TIMES,
25
+ TasksDonutCard.defaultProps.time
26
+ );
22
27
 
23
- const selectMode = select(
24
- 'mode',
25
- { ...TASKS_DASHBOARD_AVAILABLE_QUERY_MODES, NONE: 'none' },
26
- 'none'
27
- );
28
+ const selectMode = select(
29
+ 'mode',
30
+ { ...TASKS_DASHBOARD_AVAILABLE_QUERY_MODES, NONE: 'none' },
31
+ 'none'
32
+ );
28
33
 
29
- return (
30
- <TasksDonutCard
31
- title={text('title', 'Some Title')}
32
- data={{
33
- last: number('data.last', 3),
34
- older: number('data.older', 5),
35
- }}
36
- time={selectTime}
37
- query={{
38
- state: text('query.state', 'some-state'),
39
- mode: selectMode,
40
- time: selectTime,
41
- }}
42
- wantedQueryState={text('wantedQueryState', 'wanted-state')}
43
- updateQuery={action('updateQuery')}
44
- />
45
- );
46
- });
34
+ return (
35
+ <TasksDonutCard
36
+ title={text('title', 'Some Title')}
37
+ data={{
38
+ last: number('data.last', 3),
39
+ older: number('data.older', 5),
40
+ }}
41
+ time={selectTime}
42
+ query={{
43
+ state: text('query.state', 'some-state'),
44
+ mode: selectMode,
45
+ time: selectTime,
46
+ }}
47
+ wantedQueryState={text('wantedQueryState', 'wanted-state')}
48
+ updateQuery={action('updateQuery')}
49
+ />
50
+ );
51
+ };
@@ -1,4 +1,4 @@
1
- import { testComponentSnapshotsWithFixtures } from 'react-redux-test-utils';
1
+ import { testComponentSnapshotsWithFixtures } from '@theforeman/test';
2
2
 
3
3
  import {
4
4
  TASKS_DASHBOARD_AVAILABLE_TIMES,
@@ -1,25 +1,26 @@
1
1
  import React from 'react';
2
- import { storiesOf } from '@storybook/react';
3
- import { withKnobs, number, text, select } from '@storybook/addon-knobs';
4
- import { action } from '@storybook/addon-actions';
2
+ import { number, text, select, action } from '@theforeman/stories';
5
3
 
6
4
  import { TASKS_DONUT_CHART_FOCUSED_ON_OPTIONS_ARRAY } from './TasksDonutChartConstants';
7
5
  import TasksDonutChart from './TasksDonutChart';
8
6
 
9
- storiesOf('TasksDashboard/TasksCardsGrid', module)
10
- .addDecorator(withKnobs)
11
- .add('TasksDonutChart', () => (
12
- <TasksDonutChart
13
- last={number('last', 3)}
14
- older={number('older', 5)}
15
- time={text('time', '24h')}
16
- focusedOn={select(
17
- 'focusedOn',
18
- TASKS_DONUT_CHART_FOCUSED_ON_OPTIONS_ARRAY,
19
- TasksDonutChart.defaultProps.focusedOn
20
- )}
21
- onTotalClick={action('onTotalClick')}
22
- onLastClick={action('onLastClick')}
23
- onOlderClick={action('onOlderClick')}
24
- />
25
- ));
7
+ export default {
8
+ title: 'TasksDashboard/TasksCardsGrid/Charts/TasksDonutChart',
9
+ component: TasksDonutChart,
10
+ };
11
+
12
+ export const Basic = () => (
13
+ <TasksDonutChart
14
+ last={number('last', 3)}
15
+ older={number('older', 5)}
16
+ time={text('time', '24h')}
17
+ focusedOn={select(
18
+ 'focusedOn',
19
+ TASKS_DONUT_CHART_FOCUSED_ON_OPTIONS_ARRAY,
20
+ TasksDonutChart.defaultProps.focusedOn
21
+ )}
22
+ onTotalClick={action('onTotalClick')}
23
+ onLastClick={action('onLastClick')}
24
+ onOlderClick={action('onOlderClick')}
25
+ />
26
+ );
@@ -1,4 +1,4 @@
1
- import { testComponentSnapshotsWithFixtures } from 'react-redux-test-utils';
1
+ import { testComponentSnapshotsWithFixtures } from '@theforeman/test';
2
2
 
3
3
  import { TASKS_DONUT_CHART_FOCUSED_ON_OPTIONS_ARRAY } from './TasksDonutChartConstants';
4
4
  import TasksDonutChart from './TasksDonutChart';
@@ -1,7 +1,5 @@
1
1
  import React from 'react';
2
- import { storiesOf } from '@storybook/react';
3
- import { withKnobs, object, select } from '@storybook/addon-knobs';
4
- import { action } from '@storybook/addon-actions';
2
+ import { object, select, action } from '@theforeman/stories';
5
3
 
6
4
  import {
7
5
  TASKS_DASHBOARD_AVAILABLE_TIMES,
@@ -12,43 +10,46 @@ import {
12
10
  import { MOCKED_DATA } from './TasksCardsGrid.fixtures';
13
11
  import TasksCardsGrid from './TasksCardsGrid';
14
12
 
13
+ export default {
14
+ title: 'TasksDashboard/TasksCardsGrid/TasksCardsGrid',
15
+ component: TasksCardsGrid,
16
+ };
17
+
15
18
  const createSelect = (name, options) =>
16
19
  select(name, { ...options, NONE: 'none' }, 'none');
17
20
 
18
- storiesOf('TasksDashboard/TasksCardsGrid', module)
19
- .addDecorator(withKnobs)
20
- .add('TasksCardsGrid', () => {
21
- const selectTime = select(
22
- 'time',
23
- TASKS_DASHBOARD_AVAILABLE_TIMES,
24
- TasksCardsGrid.defaultProps.time
25
- );
26
- const selectState = createSelect(
27
- 'query.state',
28
- TASKS_DASHBOARD_AVAILABLE_QUERY_STATES
29
- );
30
- const selectResult = createSelect(
31
- 'query.result',
32
- TASKS_DASHBOARD_AVAILABLE_QUERY_RESULTS
33
- );
34
- const selectMode = createSelect(
35
- 'query.mode',
36
- TASKS_DASHBOARD_AVAILABLE_QUERY_MODES
37
- );
21
+ export const Basic = () => {
22
+ const selectTime = select(
23
+ 'time',
24
+ TASKS_DASHBOARD_AVAILABLE_TIMES,
25
+ TasksCardsGrid.defaultProps.time
26
+ );
27
+ const selectState = createSelect(
28
+ 'query.state',
29
+ TASKS_DASHBOARD_AVAILABLE_QUERY_STATES
30
+ );
31
+ const selectResult = createSelect(
32
+ 'query.result',
33
+ TASKS_DASHBOARD_AVAILABLE_QUERY_RESULTS
34
+ );
35
+ const selectMode = createSelect(
36
+ 'query.mode',
37
+ TASKS_DASHBOARD_AVAILABLE_QUERY_MODES
38
+ );
38
39
 
39
- return (
40
- <div>
41
- <TasksCardsGrid
42
- time={selectTime}
43
- query={{
44
- state: selectState,
45
- result: selectResult,
46
- mode: selectMode,
47
- time: selectTime,
48
- }}
49
- data={object('data', MOCKED_DATA)}
50
- updateQuery={action('updateQuery')}
51
- />
52
- </div>
53
- );
54
- });
40
+ return (
41
+ <div>
42
+ <TasksCardsGrid
43
+ time={selectTime}
44
+ query={{
45
+ state: selectState,
46
+ result: selectResult,
47
+ mode: selectMode,
48
+ time: selectTime,
49
+ }}
50
+ data={object('data', MOCKED_DATA)}
51
+ updateQuery={action('updateQuery')}
52
+ />
53
+ </div>
54
+ );
55
+ };