foreman-tasks 0.17.6 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2b4e3250fe2916ec688e6f9c00499f89b5bebe513ddbd783850a3fe7e9c990f7
4
- data.tar.gz: bcbd6c4b489aab5f9a166b5ba48cac75849746d13f5f9f40d425dae792db3629
3
+ metadata.gz: eb59b3cde7c9b2cf5ffb6164584597ee6cf50ff827567ab3ac650446f9bc6b24
4
+ data.tar.gz: 0c98300b211d4949b800fd2c2ee5b64f33a3dbb12bfe8bbb0284a6922eb2c422
5
5
  SHA512:
6
- metadata.gz: a7c6f1a0aefbc547a84c10ff6e64c96631de2a9056638084184c423274dfeaed77924f58b827c4fea8b1a53b19d12e049ce85d8d79489700b2aaa3c339942e42
7
- data.tar.gz: 3741f57f5fc0b34109f254afda46ccadcb80e46ab4e828ce185ecfd4c1f6952d2fae114314e5a1a3207759f0cbac03797cc59ef093a054249120b8ba5bc23563
6
+ metadata.gz: ddb084939964bfdada51a988c183e9c3cd2187c87b39c20e22eae9c4b254c8e5a45bf0d96462db545119fd9e5c1b1c910c96a306e01c74bfcdd3214275ea5959
7
+ data.tar.gz: 46470595733a1b94473b63f73d7e3d554176e15e8c005e9173aea05b28a10334fba5cad1f22e3f6038f3fd8ff3b87c563bea85b3e74b29ec02514e9af7c10fb7
data/.babelrc.js ADDED
@@ -0,0 +1,3 @@
1
+ module.exports = {
2
+ presets: ['@theforeman/builder/babel'],
3
+ };
@@ -1,3 +1,4 @@
1
+ const babelOptions = require('../.babelrc.js');
1
2
  let path = require('path');
2
3
 
3
4
  module.exports = {
@@ -7,22 +8,11 @@ module.exports = {
7
8
  test: /\.js$/,
8
9
  exclude: /node_modules/,
9
10
  loader: 'babel-loader',
10
- options: {
11
- presets: [
12
- path.join(__dirname, '..', 'node_modules/babel-preset-react'),
13
- path.join(__dirname, '..', 'node_modules/babel-preset-env')
14
- ],
15
- plugins: [
16
- path.join(__dirname, '..', 'node_modules/babel-plugin-transform-class-properties'),
17
- path.join(__dirname, '..', 'node_modules/babel-plugin-transform-object-rest-spread'),
18
- path.join(__dirname, '..', 'node_modules/babel-plugin-transform-object-assign'),
19
- path.join(__dirname, '..', 'node_modules/babel-plugin-syntax-dynamic-import')
20
- ]
21
- }
11
+ options: babelOptions,
22
12
  },
23
13
  {
24
14
  test: /(\.png|\.gif)$/,
25
- loader: 'url-loader?limit=32767'
15
+ loader: 'url-loader?limit=32767',
26
16
  },
27
17
  {
28
18
  test: /\.css$/,
@@ -30,30 +20,61 @@ module.exports = {
30
20
  },
31
21
  {
32
22
  test: /\.scss$/,
33
- loaders: ['style-loader', 'css-loader', {
34
- loader: 'sass-loader',
35
- options: {
36
- includePaths: [
37
- // teach webpack to resolve patternfly dependencies
38
- path.resolve(__dirname, '..', 'node_modules', 'patternfly', 'dist', 'sass'),
39
- path.resolve(__dirname, '..', 'node_modules', 'bootstrap-sass', 'assets', 'stylesheets'),
40
- path.resolve(__dirname, '..', 'node_modules', 'font-awesome-sass', 'assets', 'stylesheets')
41
- ]
42
- }
43
- }]
23
+ loaders: [
24
+ 'style-loader',
25
+ 'css-loader',
26
+ {
27
+ loader: 'sass-loader',
28
+ options: {
29
+ includePaths: [
30
+ // teach webpack to resolve patternfly dependencies
31
+ path.resolve(
32
+ __dirname,
33
+ '..',
34
+ 'node_modules',
35
+ 'patternfly',
36
+ 'dist',
37
+ 'sass'
38
+ ),
39
+ path.resolve(
40
+ __dirname,
41
+ '..',
42
+ 'node_modules',
43
+ 'bootstrap-sass',
44
+ 'assets',
45
+ 'stylesheets'
46
+ ),
47
+ path.resolve(
48
+ __dirname,
49
+ '..',
50
+ 'node_modules',
51
+ 'font-awesome-sass',
52
+ 'assets',
53
+ 'stylesheets'
54
+ ),
55
+ ],
56
+ },
57
+ },
58
+ ],
44
59
  },
45
60
  {
46
61
  test: /\.md$/,
47
- loaders: ['raw-loader']
62
+ loaders: ['raw-loader'],
48
63
  },
49
64
  {
50
65
  test: /(\.ttf|\.woff|\.woff2|\.eot|\.svg|\.jpg)$/,
51
- loaders: ['url-loader']
66
+ loaders: ['url-loader'],
52
67
  },
53
68
  ],
54
69
  },
55
70
 
56
71
  resolve: {
72
+ alias: {
73
+ foremanReact: path.join(
74
+ __dirname,
75
+ '../../foreman/webpack/assets/javascripts/react_app'
76
+ ),
77
+ },
57
78
  modules: [
58
79
  path.join(__dirname, '..', 'webpack'),
59
80
  path.join(__dirname, '..', 'node_modules'),
data/.travis.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  language: node_js
2
2
  node_js:
3
- - '8' # current LTS
4
- - '10' # future LTS
3
+ - '10'
4
+ - '12'
5
5
  script: ./script/travis_run_js_tests.sh
@@ -28,7 +28,7 @@ module ForemanTasks
28
28
  def troubleshooting_info_text
29
29
  return if @task.state != 'paused' || @task.main_action.nil?
30
30
  helper = TroubleshootingHelpGenerator.new(@task.main_action)
31
- helper.generate_html
31
+ helper.generate_text
32
32
  end
33
33
 
34
34
  def username_link_task(owner, username)
@@ -44,6 +44,10 @@ module ForemanTasks
44
44
  # rubocop:enable Rails/OutputSafety
45
45
  end
46
46
 
47
+ def generate_text
48
+ (description + link_descriptions_html).join("\n")
49
+ end
50
+
47
51
  def link_descriptions_html
48
52
  links.map do |link|
49
53
  link.description % { link: %(<a href="%{href}">%{title}</a>) % link.to_h }
@@ -34,7 +34,7 @@ module ForemanTasks
34
34
 
35
35
  initializer 'foreman_tasks.register_plugin', :before => :finisher_hook do |_app|
36
36
  Foreman::Plugin.register :"foreman-tasks" do
37
- requires_foreman '>= 1.24.0'
37
+ requires_foreman '>= 1.25.0'
38
38
  divider :top_menu, :parent => :monitor_menu, :last => true, :caption => N_('Foreman Tasks')
39
39
  menu :top_menu, :tasks,
40
40
  :url_hash => { :controller => 'foreman_tasks/tasks', :action => :index },
@@ -1,3 +1,3 @@
1
1
  module ForemanTasks
2
- VERSION = '0.17.6'.freeze
2
+ VERSION = '1.0.0'.freeze
3
3
  end
data/package.json CHANGED
@@ -22,40 +22,32 @@
22
22
  "url": "http://projects.theforeman.org/projects/foreman-tasks/issues"
23
23
  },
24
24
  "dependencies": {
25
- "@theforeman/vendor": "^1.4.0",
25
+ "@theforeman/vendor": "^3.3.2",
26
26
  "c3": "^0.4.11",
27
27
  "humanize-duration": "^3.20.1",
28
- "react-html-parser": "^2.0.2",
29
28
  "react-intl": "^2.8.0"
30
29
  },
31
30
  "devDependencies": {
31
+ "@babel/core": "^7.7.0",
32
32
  "@storybook/addon-actions": "^5.0.1",
33
33
  "@storybook/addon-knobs": "^5.0.1",
34
34
  "@storybook/react": "^5.0.1",
35
- "@theforeman/vendor-dev": "^1.4.0",
36
- "babel-cli": "^6.10.1",
37
- "babel-core": "^6.26.3",
38
- "babel-eslint": "^8.2.3",
39
- "babel-jest": "^23.6.0",
40
- "babel-loader": "^7.1.1",
41
- "babel-plugin-dynamic-import-node": "^2.0.0",
42
- "babel-plugin-module-resolver": "^3.2.0",
43
- "babel-plugin-syntax-dynamic-import": "^6.18.0",
44
- "babel-plugin-transform-class-properties": "^6.24.1",
45
- "babel-plugin-transform-object-assign": "^6.8.0",
46
- "babel-plugin-transform-object-rest-spread": "^6.8.0",
47
- "babel-preset-env": "^1.7.0",
48
- "babel-preset-react": "^6.5.0",
35
+ "@theforeman/env": "^3.3.2",
36
+ "@theforeman/builder": "^3.3.2",
37
+ "@theforeman/vendor-dev": "^3.3.2",
38
+ "babel-eslint": "^10.0.3",
39
+ "babel-jest": "^24.9.0",
40
+ "babel-loader": "^8.0.0",
49
41
  "coveralls": "^3.0.0",
50
42
  "enzyme": "^3.4.0",
51
43
  "enzyme-adapter-react-16": "^1.4.0",
52
44
  "enzyme-to-json": "^3.2.1",
53
45
  "eslint": "^4.10.0",
54
- "eslint-import-resolver-babel-module": "^4.0.0",
46
+ "eslint-import-resolver-babel-module": "^5.1.0",
55
47
  "eslint-plugin-patternfly-react": "0.2.0",
56
48
  "identity-obj-proxy": "^3.0.0",
57
49
  "jed": "^1.1.1",
58
- "jest-cli": "^23.6.0",
50
+ "jest-cli": "^24.9.0",
59
51
  "jest-prop-type-error": "^1.1.0",
60
52
  "node-sass": "^4.5.0",
61
53
  "patternfly": "^3.58.0",
@@ -96,6 +88,7 @@
96
88
  "^.+\\.js$": "babel-jest"
97
89
  },
98
90
  "moduleDirectories": [
91
+ "node_modules/@theforeman/vendor-core/node_modules",
99
92
  "node_modules",
100
93
  "webpack"
101
94
  ],
@@ -4,7 +4,6 @@ import { Grid, Row, Col, ProgressBar } from 'patternfly-react';
4
4
  import { translate as __ } from 'foremanReact/common/I18n';
5
5
  import EllipsisWithTooltip from 'react-ellipsis-with-tooltip';
6
6
  import RelativeDateTime from 'foremanReact/components/common/dates/RelativeDateTime';
7
- import ReactHtmlParser from 'react-html-parser';
8
7
 
9
8
  class TaskInfo extends Component {
10
9
  isDelayed = () => {
@@ -174,7 +173,14 @@ class TaskInfo extends Component {
174
173
  <b>{__('Troubleshooting')}</b>
175
174
  </span>
176
175
  </p>
177
- <p>{ReactHtmlParser(help)}</p>
176
+ <p>
177
+ {help.split('\n').map((item, i) => (
178
+ <React.Fragment key={i}>
179
+ {item}
180
+ <br />
181
+ </React.Fragment>
182
+ ))}
183
+ </p>
178
184
  </Col>
179
185
  </Row>
180
186
  )}
@@ -56,7 +56,7 @@ exports[`TaskInfo rendering render with Props 1`] = `
56
56
  md={3}
57
57
  sm={6}
58
58
  >
59
- <Component
59
+ <_default
60
60
  date="2019-06-17 16:04:09 +0300"
61
61
  defaultValue="N/A"
62
62
  />
@@ -115,7 +115,7 @@ exports[`TaskInfo rendering render with Props 1`] = `
115
115
  md={3}
116
116
  sm={6}
117
117
  >
118
- <Component
118
+ <_default
119
119
  date="2019-06-17 16:04:09 +0300"
120
120
  defaultValue="N/A"
121
121
  />
@@ -168,7 +168,7 @@ exports[`TaskInfo rendering render with Props 1`] = `
168
168
  md={3}
169
169
  sm={6}
170
170
  >
171
- <Component
171
+ <_default
172
172
  date={null}
173
173
  defaultValue="N/A"
174
174
  />
@@ -359,7 +359,7 @@ exports[`TaskInfo rendering render without Props 1`] = `
359
359
  md={3}
360
360
  sm={6}
361
361
  >
362
- <Component
362
+ <_default
363
363
  date=""
364
364
  defaultValue="N/A"
365
365
  />
@@ -418,7 +418,7 @@ exports[`TaskInfo rendering render without Props 1`] = `
418
418
  md={3}
419
419
  sm={6}
420
420
  >
421
- <Component
421
+ <_default
422
422
  date=""
423
423
  defaultValue="N/A"
424
424
  />
@@ -469,7 +469,7 @@ exports[`TaskInfo rendering render without Props 1`] = `
469
469
  md={3}
470
470
  sm={6}
471
471
  >
472
- <Component
472
+ <_default
473
473
  date=""
474
474
  defaultValue="N/A"
475
475
  />
@@ -66,10 +66,10 @@ export const fetchTaskDetails = (
66
66
  id,
67
67
  timeoutId,
68
68
  refetchTaskDetailsAction
69
- ) => dispatch => {
69
+ ) => async dispatch => {
70
70
  showLoading();
71
71
  dispatch(startRequest());
72
- getTasksDetails(id, dispatch, timeoutId, refetchTaskDetailsAction);
72
+ await getTasksDetails(id, dispatch, timeoutId, refetchTaskDetailsAction);
73
73
  };
74
74
 
75
75
  const getTasksDetails = async (
@@ -30,7 +30,7 @@ export const selectErrors = state => {
30
30
 
31
31
  export const selectProgress = state =>
32
32
  selectTaskDetails(state).progress
33
- ? parseFloat((selectTaskDetails(state).progress * 100).toFixed(2))
33
+ ? selectTaskDetails(state).progress.toFixed(4) * 100
34
34
  : 0;
35
35
 
36
36
  export const selectUsername = state =>
@@ -1,6 +1,10 @@
1
1
  import { getControllerSearchProps } from 'foremanReact/constants';
2
2
 
3
3
  export const TASKS_TABLE_ID = 'TASKS_TABLE';
4
+ export const TASKS_CONTROLLER = 'tasks';
5
+ export const TASKS_SUCCESS = 'TASKS_SUCCESS';
6
+ export const TASKS_REQUEST = 'TASKS_REQUEST';
7
+ export const TASKS_FAILURE = 'TASKS_FAILURE';
4
8
  export const SELECT_ROWS = 'SELECT_ROWS';
5
9
  export const UNSELECT_ROWS = 'UNSELECT_ROWS';
6
10
  export const UNSELECT_ALL_ROWS = 'UNSELECT_ALL_ROWS';
@@ -9,7 +13,4 @@ export const RESUME = 'RESUME';
9
13
  export const CLOSED = 'CLOSED';
10
14
 
11
15
  export const TASKS_TABLE_SELECTED_MODAL = 'TASKS_TABLE_SELECTED_MODAL';
12
- export const TASKS_SEARCH_PROPS = {
13
- ...getControllerSearchProps('tasks'),
14
- controller: 'foreman_tasks/tasks'
15
- };
16
+ export const TASKS_SEARCH_PROPS = getControllerSearchProps('tasks');
@@ -13,7 +13,7 @@ exports[`TasksTablePage rendering render with Breadcrubs 1`] = `
13
13
  />
14
14
  <PageLayout
15
15
  beforeToolbarComponent={
16
- <Connect(TasksDashboard)
16
+ <UNDEFINED
17
17
  history={
18
18
  Object {
19
19
  "location": Object {
@@ -137,7 +137,7 @@ exports[`TasksTablePage rendering render with minimal props 1`] = `
137
137
  />
138
138
  <PageLayout
139
139
  beforeToolbarComponent={
140
- <Connect(TasksDashboard)
140
+ <UNDEFINED
141
141
  history={
142
142
  Object {
143
143
  "location": Object {
@@ -1,4 +1,5 @@
1
- import 'babel-polyfill';
1
+ import 'core-js/shim';
2
+ import 'regenerator-runtime/runtime';
2
3
 
3
4
  import { configure } from 'enzyme';
4
5
  import Adapter from 'enzyme-adapter-react-16';
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foreman-tasks
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.17.6
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ivan Nečas
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-02-27 00:00:00.000000000 Z
11
+ date: 2019-12-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: foreman-tasks-core
@@ -107,7 +107,7 @@ extra_rdoc_files:
107
107
  - README.md
108
108
  - LICENSE
109
109
  files:
110
- - ".babelrc"
110
+ - ".babelrc.js"
111
111
  - ".eslintrc"
112
112
  - ".gitignore"
113
113
  - ".prettierrc"
data/.babelrc DELETED
@@ -1,35 +0,0 @@
1
- {
2
- "presets": [
3
- "env",
4
- "react"
5
- ],
6
- "plugins": [
7
- ["module-resolver", {
8
- "alias": {
9
- "root": ["./"],
10
- "foremanReact": "../foreman/webpack/assets/javascripts/react_app"
11
- }
12
- }],
13
- "transform-class-properties",
14
- "transform-object-rest-spread",
15
- "transform-object-assign",
16
- "syntax-dynamic-import"
17
- ],
18
- "env": {
19
- "test": {
20
- "presets": ["@theforeman/vendor-dev/babel.preset.js"],
21
- "plugins": [
22
- ["module-resolver", {
23
- "alias": {
24
- "root": ["./"],
25
- "foremanReact": "./webpack/__mocks__/foremanReact"
26
- }
27
- }],
28
- "dynamic-import-node"
29
- ]
30
- },
31
- "storybook": {
32
- "presets": ["@theforeman/vendor-dev/babel.preset.js"]
33
- }
34
- }
35
- }