foreman_acd 0.0.6 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/foreman_acd/api/v2/app_definitions_controller.rb +1 -2
  3. data/app/controllers/foreman_acd/app_definitions_controller.rb +29 -1
  4. data/app/controllers/foreman_acd/app_instances_controller.rb +70 -21
  5. data/app/controllers/foreman_acd/concerns/app_definition_parameters.rb +1 -1
  6. data/app/controllers/foreman_acd/concerns/app_instance_parameters.rb +1 -1
  7. data/app/controllers/ui_acd_controller.rb +0 -1
  8. data/app/models/foreman_acd/app_definition.rb +0 -1
  9. data/app/views/foreman_acd/app_definitions/_form.html.erb +6 -14
  10. data/app/views/foreman_acd/app_definitions/import.html.erb +18 -0
  11. data/app/views/foreman_acd/app_definitions/index.html.erb +9 -5
  12. data/app/views/foreman_acd/app_instances/_form.html.erb +5 -5
  13. data/app/views/foreman_acd/app_instances/deploy.html.erb +19 -0
  14. data/app/views/foreman_acd/app_instances/index.html.erb +6 -5
  15. data/app/views/foreman_acd/app_instances/report.html.erb +19 -0
  16. data/app/views/ui_acd/app_definition.json.rabl +1 -1
  17. data/config/routes.rb +7 -0
  18. data/db/migrate/20190610202252_create_app_definitions.rb +1 -3
  19. data/db/migrate/20190625140305_create_app_instances.rb +1 -1
  20. data/lib/foreman_acd/plugin.rb +19 -2
  21. data/lib/foreman_acd/version.rb +1 -1
  22. data/webpack/components/ApplicationDefinition/ApplicationDefinition.js +261 -0
  23. data/webpack/components/ApplicationDefinition/ApplicationDefinition.scss +1 -0
  24. data/webpack/components/ApplicationDefinition/ApplicationDefinitionActions.js +211 -0
  25. data/webpack/components/ApplicationDefinition/ApplicationDefinitionConstants.js +9 -0
  26. data/webpack/components/ApplicationDefinition/ApplicationDefinitionReducer.js +147 -0
  27. data/webpack/components/ApplicationDefinition/ApplicationDefinitionSelectors.js +6 -0
  28. data/webpack/components/ApplicationDefinition/index.js +29 -0
  29. data/webpack/components/ApplicationInstance/ApplicationInstance.js +342 -0
  30. data/webpack/components/ApplicationInstance/ApplicationInstance.scss +11 -0
  31. data/webpack/components/ApplicationInstance/ApplicationInstanceActions.js +210 -0
  32. data/webpack/components/ApplicationInstance/ApplicationInstanceConstants.js +12 -0
  33. data/webpack/components/ApplicationInstance/ApplicationInstanceReducer.js +223 -0
  34. data/webpack/components/ApplicationInstance/ApplicationInstanceSelectors.js +8 -0
  35. data/webpack/components/ApplicationInstance/components/AppDefinitionSelector.js +49 -0
  36. data/webpack/components/ApplicationInstance/components/Service.js +30 -0
  37. data/webpack/components/ApplicationInstance/components/ServiceCounter.js +37 -0
  38. data/webpack/components/ApplicationInstance/index.js +33 -0
  39. data/webpack/components/ApplicationInstanceReport/ApplicationInstanceReport.js +155 -0
  40. data/webpack/components/ApplicationInstanceReport/ApplicationInstanceReport.scss +27 -0
  41. data/webpack/components/ApplicationInstanceReport/ApplicationInstanceReportActions.js +86 -0
  42. data/webpack/components/ApplicationInstanceReport/ApplicationInstanceReportConstants.js +4 -0
  43. data/webpack/components/ApplicationInstanceReport/ApplicationInstanceReportReducer.js +52 -0
  44. data/webpack/components/ApplicationInstanceReport/ApplicationInstanceReportSelectors.js +5 -0
  45. data/webpack/components/ApplicationInstanceReport/components/ReportViewer.js +26 -0
  46. data/webpack/components/ApplicationInstanceReport/index.js +27 -0
  47. data/webpack/components/ParameterSelection/ParameterSelection.js +65 -161
  48. data/webpack/components/ParameterSelection/ParameterSelection.scss +9 -0
  49. data/webpack/components/ParameterSelection/ParameterSelectionActions.js +42 -71
  50. data/webpack/components/ParameterSelection/ParameterSelectionConstants.js +12 -19
  51. data/webpack/components/ParameterSelection/ParameterSelectionHelper.js +3 -3
  52. data/webpack/components/ParameterSelection/ParameterSelectionReducer.js +76 -75
  53. data/webpack/components/ParameterSelection/ParameterSelectionSelectors.js +2 -6
  54. data/webpack/components/ParameterSelection/__fixtures__/parameterSelection.fixtures.js +12 -21
  55. data/webpack/components/ParameterSelection/__fixtures__/parameterSelectionData_1.fixtures.js +1 -1
  56. data/webpack/components/ParameterSelection/__fixtures__/parameterSelectionReducer.fixtures.js +3 -45
  57. data/webpack/components/ParameterSelection/__tests__/ParameterSelection.test.js +20 -0
  58. data/webpack/components/ParameterSelection/__tests__/ParameterSelectionReducer.test.js +22 -46
  59. data/webpack/components/ParameterSelection/__tests__/ParameterSelectionSelectors.test.js +6 -6
  60. data/webpack/components/ParameterSelection/__tests__/__snapshots__/ParameterSelection.test.js.snap +40 -265
  61. data/webpack/components/ParameterSelection/__tests__/__snapshots__/ParameterSelectionReducer.test.js.snap +11 -96
  62. data/webpack/components/ParameterSelection/__tests__/__snapshots__/ParameterSelectionSelectors.test.js.snap +3 -9
  63. data/webpack/components/ParameterSelection/index.js +4 -6
  64. data/webpack/components/common/AddTableEntry.js +30 -0
  65. data/webpack/components/common/DeleteTableEntry.js +39 -0
  66. data/webpack/components/common/ExtSelect.js +43 -0
  67. data/webpack/components/common/RailsData.js +27 -0
  68. data/webpack/components/common/__tests__/AddTableEntry.test.js +26 -0
  69. data/webpack/components/common/__tests__/DeleteTableEntry.test.js +29 -0
  70. data/webpack/components/common/__tests__/ExtSelect.test.js +38 -0
  71. data/webpack/components/common/__tests__/RailsData.test.js +16 -0
  72. data/webpack/components/common/__tests__/__snapshots__/AddParameter.test.js.snap +35 -0
  73. data/webpack/components/common/__tests__/__snapshots__/AddTableEntry.test.js.snap +35 -0
  74. data/webpack/components/common/__tests__/__snapshots__/DeleteParameter.test.js.snap +41 -0
  75. data/webpack/components/common/__tests__/__snapshots__/DeleteTableEntry.test.js.snap +41 -0
  76. data/webpack/components/common/__tests__/__snapshots__/ExtSelect.test.js.snap +18 -0
  77. data/webpack/components/common/__tests__/__snapshots__/RailsData.test.js.snap +10 -0
  78. data/webpack/helper.js +20 -0
  79. data/webpack/index.js +6 -0
  80. data/webpack/reducer.js +40 -3
  81. metadata +47 -46
@@ -0,0 +1,38 @@
1
+ import { testComponentSnapshotsWithFixtures } from 'react-redux-test-utils';
2
+
3
+ import ExtSelect from '../ExtSelect';
4
+
5
+ const noop = () => {};
6
+
7
+ const fixtures = {
8
+ 'should render selection field': {
9
+ hidden: false,
10
+ editable: false,
11
+ viewText: '',
12
+ selectValue: '1',
13
+ onChange: noop,
14
+ options: { first: 'first', second: 'second'},
15
+ additionalData: { moreData: 'moooore' },
16
+ },
17
+ 'should render hidden selection field': {
18
+ hidden: true,
19
+ editable: false,
20
+ viewText: '',
21
+ selectValue: null,
22
+ onChange: noop,
23
+ options: {},
24
+ additionalData: {},
25
+ },
26
+ 'should render disabled button': {
27
+ hidden: false,
28
+ editable: true,
29
+ viewText: 'Awesome Text',
30
+ selectValue: '0',
31
+ onChange: noop,
32
+ options: { first: 'first', second: 'second'},
33
+ additionalData: {},
34
+ },
35
+ };
36
+
37
+ describe('ExtSelect', () =>
38
+ testComponentSnapshotsWithFixtures(ExtSelect, fixtures));
@@ -0,0 +1,16 @@
1
+ import { testComponentSnapshotsWithFixtures } from 'react-redux-test-utils';
2
+
3
+ import RailsData from '../RailsData';
4
+
5
+ const noop = () => {};
6
+
7
+ const fixtures = {
8
+ 'should render rails data input field': {
9
+ view: 'nice_view',
10
+ parameter: 'nice_param',
11
+ value: 'nice_value',
12
+ },
13
+ };
14
+
15
+ describe('RailsData', () =>
16
+ testComponentSnapshotsWithFixtures(RailsData, fixtures));
@@ -0,0 +1,35 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`AddParameter should render add parameter 1`] = `
4
+ <Button
5
+ active={false}
6
+ block={false}
7
+ bsClass="btn"
8
+ bsStyle="default"
9
+ disabled={false}
10
+ onClick={[Function]}
11
+ >
12
+ <Icon
13
+ name="plus"
14
+ type="fa"
15
+ />
16
+ </Button>
17
+ `;
18
+
19
+ exports[`AddParameter should render disabled button 1`] = `
20
+ <Button
21
+ active={false}
22
+ block={false}
23
+ bsClass="btn"
24
+ bsStyle="default"
25
+ disabled={true}
26
+ onClick={[Function]}
27
+ >
28
+ <Icon
29
+ name="plus"
30
+ type="fa"
31
+ />
32
+ </Button>
33
+ `;
34
+
35
+ exports[`AddParameter should render hidden button 1`] = `""`;
@@ -0,0 +1,35 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`AddTableEntry should render add parameter 1`] = `
4
+ <Button
5
+ active={false}
6
+ block={false}
7
+ bsClass="btn"
8
+ bsStyle="default"
9
+ disabled={false}
10
+ onClick={[Function]}
11
+ >
12
+ <Icon
13
+ name="plus"
14
+ type="fa"
15
+ />
16
+ </Button>
17
+ `;
18
+
19
+ exports[`AddTableEntry should render disabled button 1`] = `
20
+ <Button
21
+ active={false}
22
+ block={false}
23
+ bsClass="btn"
24
+ bsStyle="default"
25
+ disabled={true}
26
+ onClick={[Function]}
27
+ >
28
+ <Icon
29
+ name="plus"
30
+ type="fa"
31
+ />
32
+ </Button>
33
+ `;
34
+
35
+ exports[`AddTableEntry should render hidden button 1`] = `""`;
@@ -0,0 +1,41 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`DeleteParameter should render delete parameter 1`] = `
4
+ <span>
5
+  
6
+ <Button
7
+ active={false}
8
+ block={false}
9
+ bsClass="btn"
10
+ bsStyle="default"
11
+ disabled={false}
12
+ onClick={[Function]}
13
+ >
14
+ <Icon
15
+ name="delete"
16
+ type="pf"
17
+ />
18
+ </Button>
19
+ </span>
20
+ `;
21
+
22
+ exports[`DeleteParameter should render disabled button 1`] = `
23
+ <span>
24
+  
25
+ <Button
26
+ active={false}
27
+ block={false}
28
+ bsClass="btn"
29
+ bsStyle="default"
30
+ disabled={true}
31
+ onClick={[Function]}
32
+ >
33
+ <Icon
34
+ name="delete"
35
+ type="pf"
36
+ />
37
+ </Button>
38
+ </span>
39
+ `;
40
+
41
+ exports[`DeleteParameter should render hidden button 1`] = `""`;
@@ -0,0 +1,41 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`DeleteTableEntry should render delete parameter 1`] = `
4
+ <span>
5
+  
6
+ <Button
7
+ active={false}
8
+ block={false}
9
+ bsClass="btn"
10
+ bsStyle="default"
11
+ disabled={false}
12
+ onClick={[Function]}
13
+ >
14
+ <Icon
15
+ name="delete"
16
+ type="pf"
17
+ />
18
+ </Button>
19
+ </span>
20
+ `;
21
+
22
+ exports[`DeleteTableEntry should render disabled button 1`] = `
23
+ <span>
24
+  
25
+ <Button
26
+ active={false}
27
+ block={false}
28
+ bsClass="btn"
29
+ bsStyle="default"
30
+ disabled={true}
31
+ onClick={[Function]}
32
+ >
33
+ <Icon
34
+ name="delete"
35
+ type="pf"
36
+ />
37
+ </Button>
38
+ </span>
39
+ `;
40
+
41
+ exports[`DeleteTableEntry should render hidden button 1`] = `""`;
@@ -0,0 +1,18 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`ExtSelect should render disabled button 1`] = `
4
+ <Select
5
+ onChange={[Function]}
6
+ options={
7
+ Object {
8
+ "first": "first",
9
+ "second": "second",
10
+ }
11
+ }
12
+ value="0"
13
+ />
14
+ `;
15
+
16
+ exports[`ExtSelect should render hidden selection field 1`] = `""`;
17
+
18
+ exports[`ExtSelect should render selection field 1`] = `<div />`;
@@ -0,0 +1,10 @@
1
+ // Jest Snapshot v1, https://goo.gl/fbAQLP
2
+
3
+ exports[`RailsData should render rails data input field 1`] = `
4
+ <input
5
+ id="foreman_acd_nice_view_nice_param"
6
+ name="foreman_acd_nice_view[nice_param]"
7
+ type="hidden"
8
+ value="nice_value"
9
+ />
10
+ `;
@@ -0,0 +1,20 @@
1
+ // Some small helper methods
2
+
3
+ function arrayToObject(arr, id, value) {
4
+ var rv = {};
5
+ for (var i = 0; i < arr.length; ++i)
6
+ rv[arr[i][id]] = arr[i][value];
7
+ return rv;
8
+ }
9
+
10
+ function arrayToObjectObj(arr, id) {
11
+ var rv = {};
12
+ for (var i = 0; i < arr.length; ++i)
13
+ rv[arr[i][id]] = arr[i];
14
+ return rv;
15
+ }
16
+
17
+ export {
18
+ arrayToObject,
19
+ arrayToObjectObj
20
+ };
@@ -1,8 +1,14 @@
1
1
  import componentRegistry from 'foremanReact/components/componentRegistry';
2
2
  import injectReducer from 'foremanReact/redux/reducers/registerReducer';
3
3
  import ParameterSelection from './components/ParameterSelection';
4
+ import ApplicationDefinition from './components/ApplicationDefinition';
5
+ import ApplicationInstance from './components/ApplicationInstance';
6
+ import ApplicationInstanceReport from './components/ApplicationInstanceReport';
4
7
  import reducer from './reducer';
5
8
 
6
9
  injectReducer('foremanAcd', reducer);
7
10
 
8
11
  componentRegistry.register({ name: 'ParameterSelection', type: ParameterSelection, });
12
+ componentRegistry.register({ name: 'ApplicationDefinition', type: ApplicationDefinition, });
13
+ componentRegistry.register({ name: 'ApplicationInstance', type: ApplicationInstance, });
14
+ componentRegistry.register({ name: 'ApplicationInstanceReport', type: ApplicationInstanceReport, });
@@ -1,7 +1,44 @@
1
1
  import { combineReducers } from 'redux';
2
+ import {
3
+ cloneDeep,
4
+ findIndex,
5
+ findLastIndex,
6
+ } from 'lodash';
2
7
 
3
8
  import parameterSelectionParameters from './components/ParameterSelection/ParameterSelectionReducer';
9
+ import applicationDefinitionConf from './components/ApplicationDefinition/ApplicationDefinitionReducer';
10
+ import applicationInstanceConf from './components/ApplicationInstance/ApplicationInstanceReducer';
11
+ import applicationInstanceReport from './components/ApplicationInstanceReport/ApplicationInstanceReportReducer';
4
12
 
5
- export default combineReducers({
6
- parameterSelectionParameters,
7
- });
13
+ import {
14
+ APPLICATION_DEFINITION_PARAMETER_SELECTION_MODAL_CLOSE,
15
+ } from './components/ApplicationDefinition/ApplicationDefinitionConstants';
16
+
17
+ import {
18
+ APPLICATION_INSTANCE_PARAMETER_SELECTION_MODAL_CLOSE,
19
+ } from './components/ApplicationInstance/ApplicationInstanceConstants';
20
+
21
+ const rootReducer = (state = {}, action) => {
22
+
23
+ const param_state = parameterSelectionParameters(state.parameterSelectionParameters, action);
24
+ const app_ins_report_state = applicationInstanceReport(state.applicationInstanceReport, action);
25
+
26
+ if (action.type == APPLICATION_DEFINITION_PARAMETER_SELECTION_MODAL_CLOSE) {
27
+ action.payload.serviceParameterSelection = param_state.parameters;
28
+ }
29
+ const app_def_state = applicationDefinitionConf(state.applicationDefinitionConf, action);
30
+
31
+ if (action.type == APPLICATION_INSTANCE_PARAMETER_SELECTION_MODAL_CLOSE) {
32
+ action.payload.hostParameterSelection = param_state.parameters;
33
+ }
34
+ const app_ins_state = applicationInstanceConf(state.applicationInstanceConf, action);
35
+
36
+ return {
37
+ applicationDefinitionConf: app_def_state,
38
+ applicationInstanceConf: app_ins_state,
39
+ parameterSelectionParameters: param_state,
40
+ applicationInstanceReport: app_ins_report_state,
41
+ };
42
+ };
43
+
44
+ export default rootReducer;
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foreman_acd
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - ATIX AG
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-11-27 00:00:00.000000000 Z
11
+ date: 2020-06-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubocop
@@ -16,56 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.71.0
19
+ version: 0.80.0
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.71.0
27
- - !ruby/object:Gem::Dependency
28
- name: rubocop-checkstyle_formatter
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '0.2'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: '0.2'
41
- - !ruby/object:Gem::Dependency
42
- name: rubocop-performance
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: 1.4.0
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: 1.4.0
55
- - !ruby/object:Gem::Dependency
56
- name: rubocop-rails
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: 2.0.1
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: 2.0.1
26
+ version: 0.80.0
69
27
  description: Foreman plugin to provide application centric deployment and self service
70
28
  portal
71
29
  email:
@@ -90,12 +48,15 @@ files:
90
48
  - app/models/foreman_acd/app_instance.rb
91
49
  - app/views/foreman_acd/app_definitions/_form.html.erb
92
50
  - app/views/foreman_acd/app_definitions/edit.html.erb
51
+ - app/views/foreman_acd/app_definitions/import.html.erb
93
52
  - app/views/foreman_acd/app_definitions/index.html.erb
94
53
  - app/views/foreman_acd/app_definitions/new.html.erb
95
54
  - app/views/foreman_acd/app_instances/_form.html.erb
55
+ - app/views/foreman_acd/app_instances/deploy.html.erb
96
56
  - app/views/foreman_acd/app_instances/edit.html.erb
97
57
  - app/views/foreman_acd/app_instances/index.html.erb
98
58
  - app/views/foreman_acd/app_instances/new.html.erb
59
+ - app/views/foreman_acd/app_instances/report.html.erb
99
60
  - app/views/ui_acd/app.json.rabl
100
61
  - app/views/ui_acd/app_definition.json.rabl
101
62
  - app/views/ui_acd/computeprofile.json.rabl
@@ -125,6 +86,31 @@ files:
125
86
  - test/models/app_instance_test.rb
126
87
  - test/test_plugin_helper.rb
127
88
  - webpack/__mocks__/foremanReact/components/common/forms/Select.js
89
+ - webpack/components/ApplicationDefinition/ApplicationDefinition.js
90
+ - webpack/components/ApplicationDefinition/ApplicationDefinition.scss
91
+ - webpack/components/ApplicationDefinition/ApplicationDefinitionActions.js
92
+ - webpack/components/ApplicationDefinition/ApplicationDefinitionConstants.js
93
+ - webpack/components/ApplicationDefinition/ApplicationDefinitionReducer.js
94
+ - webpack/components/ApplicationDefinition/ApplicationDefinitionSelectors.js
95
+ - webpack/components/ApplicationDefinition/index.js
96
+ - webpack/components/ApplicationInstance/ApplicationInstance.js
97
+ - webpack/components/ApplicationInstance/ApplicationInstance.scss
98
+ - webpack/components/ApplicationInstance/ApplicationInstanceActions.js
99
+ - webpack/components/ApplicationInstance/ApplicationInstanceConstants.js
100
+ - webpack/components/ApplicationInstance/ApplicationInstanceReducer.js
101
+ - webpack/components/ApplicationInstance/ApplicationInstanceSelectors.js
102
+ - webpack/components/ApplicationInstance/components/AppDefinitionSelector.js
103
+ - webpack/components/ApplicationInstance/components/Service.js
104
+ - webpack/components/ApplicationInstance/components/ServiceCounter.js
105
+ - webpack/components/ApplicationInstance/index.js
106
+ - webpack/components/ApplicationInstanceReport/ApplicationInstanceReport.js
107
+ - webpack/components/ApplicationInstanceReport/ApplicationInstanceReport.scss
108
+ - webpack/components/ApplicationInstanceReport/ApplicationInstanceReportActions.js
109
+ - webpack/components/ApplicationInstanceReport/ApplicationInstanceReportConstants.js
110
+ - webpack/components/ApplicationInstanceReport/ApplicationInstanceReportReducer.js
111
+ - webpack/components/ApplicationInstanceReport/ApplicationInstanceReportSelectors.js
112
+ - webpack/components/ApplicationInstanceReport/components/ReportViewer.js
113
+ - webpack/components/ApplicationInstanceReport/index.js
128
114
  - webpack/components/ParameterSelection/ParameterSelection.js
129
115
  - webpack/components/ParameterSelection/ParameterSelection.scss
130
116
  - webpack/components/ParameterSelection/ParameterSelectionActions.js
@@ -142,6 +128,21 @@ files:
142
128
  - webpack/components/ParameterSelection/__tests__/__snapshots__/ParameterSelectionReducer.test.js.snap
143
129
  - webpack/components/ParameterSelection/__tests__/__snapshots__/ParameterSelectionSelectors.test.js.snap
144
130
  - webpack/components/ParameterSelection/index.js
131
+ - webpack/components/common/AddTableEntry.js
132
+ - webpack/components/common/DeleteTableEntry.js
133
+ - webpack/components/common/ExtSelect.js
134
+ - webpack/components/common/RailsData.js
135
+ - webpack/components/common/__tests__/AddTableEntry.test.js
136
+ - webpack/components/common/__tests__/DeleteTableEntry.test.js
137
+ - webpack/components/common/__tests__/ExtSelect.test.js
138
+ - webpack/components/common/__tests__/RailsData.test.js
139
+ - webpack/components/common/__tests__/__snapshots__/AddParameter.test.js.snap
140
+ - webpack/components/common/__tests__/__snapshots__/AddTableEntry.test.js.snap
141
+ - webpack/components/common/__tests__/__snapshots__/DeleteParameter.test.js.snap
142
+ - webpack/components/common/__tests__/__snapshots__/DeleteTableEntry.test.js.snap
143
+ - webpack/components/common/__tests__/__snapshots__/ExtSelect.test.js.snap
144
+ - webpack/components/common/__tests__/__snapshots__/RailsData.test.js.snap
145
+ - webpack/helper.js
145
146
  - webpack/index.js
146
147
  - webpack/reducer.js
147
148
  - webpack/test_setup.js