Skip to content

Commit 539e3a2

Browse files
authored
Merge pull request #1091 from nasa/develop
Merge develop to master for v12.0.0
2 parents 319e830 + 9fffb55 commit 539e3a2

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+37982
-13916
lines changed

.eslintrc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@
4343
"react/jsx-uses-vars": 2,
4444
"react/no-danger": 0,
4545
"react/no-deprecated": 2,
46-
"react/no-did-mount-set-state": 2,
47-
"react/no-did-update-set-state": 2,
46+
"react/no-did-mount-set-state": 0,
47+
"react/no-did-update-set-state": 0,
4848
"react/no-direct-mutation-state": 2,
4949
"react/no-is-mounted": 2,
5050
"react/no-unknown-property": 2,

CHANGELOG.md

Lines changed: 51 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,30 +7,48 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
77

88
## [Unreleased]
99

10-
## [v11.0.0] - 2022-04-19
10+
## [v12.0.0] - 2023-01-23
1111

1212
## Breaking Changes
1313

14-
This version of the dashboard requires Cumulus API v11.1.0
14+
This version of the dashboard requires Cumulus API >= v14.0.0
1515

1616
### Added
1717

18-
- **CUMULUS-2704**
19-
- Added option to create ORCA Reconciliation Report to dashboard
20-
21-
- **CUMULUS-2748**
22-
- Added ORCA Reconciliation Report display to dashboard
18+
- **CUMULUS-2717**
19+
- Added `Show/Hide Recovery Status` button to granule detail page
20+
- **CUMULUS-2915**
21+
- Added download button to execution pages
22+
- Updated dashboard to use alpha version `@cumulus/api@13.3.3-alpha.0` for testing
23+
- Used npm 8.6.0
24+
- Upgraded localstack to 0.12.13 to work with latest Cumulus
25+
- Added action to list pages to refresh cumulus db connection
26+
- Updated `git+ssh://git@` to `git+https://` for npm 8.6.0 generated package-lock.json,
27+
and this is an [known issue](https://github.com/npm/cli/issues/2610) with npm 8.6.0
2328

2429
### Changed
2530

26-
- **CUMULUS-2903**
27-
- Bumped Node version from 12.18.0 to 14.19.1 to match Core
31+
- **CUMULUS-2763**
32+
- Replaces disabled button interaction with hidden buttons for bulk actions.
33+
- **CUMULUS-2960**
34+
- Fixed the following Axe accessibility issues:
35+
+ Specified title, level-one heading, and modal as main landmark on `/auth`
36+
+ Increased link-background contrast in the header
37+
+ Slight color adjustments for accessibility
38+
- Updated dependencies with severe security vulnerabilities:
39+
+ `@cumulus/api` to `13.1.0`
40+
+ `moment` to `2.29.4`
41+
+ `terser-webpack-plugin` to `5.3.3`
42+
- **CUMULUS-3001**
43+
- Removed `precss` dependency
44+
- **Snyk Security Fix**
45+
- Upgraded jsonwebtoken from 8.5.1 to 9.0.0
2846

29-
## [v10.0.0] - 2022-02-25
47+
## [v11.0.0] - 2022-04-19
3048

3149
## Breaking Changes
3250

33-
This version of the dashboard requires Cumulus API v10.1.1
51+
This version of the dashboard requires Cumulus API v11.1.0
3452

3553
- **CUMULUS-2728**
3654
- Removes kibana links and Metrics integration. To get this functionality,
@@ -47,10 +65,30 @@ This version of the dashboard requires Cumulus API v10.1.1
4765
+ `SHOW_DISTRIBUTION_API_METRICS`
4866
+ `SHOW_TEA_METRICS`
4967

68+
### Added
69+
70+
- **CUMULUS-2704**
71+
- Added option to create ORCA Reconciliation Report to dashboard
72+
73+
- **CUMULUS-2748**
74+
- Added ORCA Reconciliation Report display to dashboard
75+
5076
### Changed
5177

5278
- **CUMULUS-NONE**
5379
- Updates Cumulus development dependencies to v10.1.1 and upgrades localstack to 0.11.5 to work with latest Cumulus.
80+
81+
- **CUMULUS-2903**
82+
- Bumped Node version from 12.18.0 to 14.19.1 to match Core
83+
84+
## [v10.0.0] - 2022-02-25
85+
86+
## Breaking Changes
87+
88+
This version of the dashboard requires Cumulus API v10.1.1
89+
90+
### Changed
91+
5492
- **CUMULUS-2843**
5593
- Create provider and create rule modals now dislpay the provider [rule]
5694
schema title directly as read from the Cumulus API.
@@ -1275,7 +1313,8 @@ Fix for serving the dashboard through the Cumulus API.
12751313
### Added
12761314

12771315
- Versioning and changelog [CUMULUS-197] by @kkelly51
1278-
[Unreleased]: https://github.com/nasa/cumulus-dashboard/compare/v11.0.0...HEAD
1316+
[Unreleased]: https://github.com/nasa/cumulus-dashboard/compare/v12.0.0...HEAD
1317+
[v12.0.0]: https://github.com/nasa/cumulus-dashboard/compare/v11.0.0...v12.0.0
12791318
[v11.0.0]: https://github.com/nasa/cumulus-dashboard/compare/v10.0.0...v11.0.0
12801319
[v10.0.0]: https://github.com/nasa/cumulus-dashboard/compare/v9.0.0...v10.0.0
12811320
[v9.0.0]: https://github.com/nasa/cumulus-dashboard/compare/v8.0.0...v9.0.0

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ In this example, the dashboard would be available at `http://localhost:3000/` in
9999
The dashboard uses node v14.19.1. To build/run the dashboard on your local machine, install [nvm](https://github.com/creationix/nvm) and run `nvm install v14.19.1`.
100100

101101
#### install requirements
102-
We use npm for local package management, to install the requirements:
102+
We use npm for local package management, run `npm install -g npm@8.6.0` to install npm 8.6.0. To install the requirements:
103103
```bash
104104
$ nvm use
105105
$ npm ci

app/src/css/_buttons.scss

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,11 @@ $delete-btn-hover-bg-color: darken($error-red, 10%);
3232
pointer-events: none;
3333
}
3434

35+
&--hidden {
36+
visibility: hidden;
37+
display: none;
38+
}
39+
3540
&:hover{
3641
background-color: $midnight-blue;
3742
color: $white;

app/src/css/utils/variables/_colors.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/* EUI Colors */
22
$light-green: #20ce6f;
3-
$ocean-blue: #2276ac;
3+
$ocean-blue: #2072a4;
44
$midnight-blue: #2c3e50;
55
$royal-purple: #673285;
66
$dolphin-grey: #95a5a6;

app/src/js/actions/index.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,10 @@ export const getCumulusInstanceMetadata = () => ({
168168
}
169169
});
170170

171+
export const refreshCumulusDbConnection = () => (dispatch) => dispatch(
172+
getGranule('fake-granuleid-refresh-connection')
173+
);
174+
171175
export const getGranule = (granuleId, params) => ({
172176
[CALL_API]: {
173177
type: types.GRANULE,
@@ -178,6 +182,16 @@ export const getGranule = (granuleId, params) => ({
178182
}
179183
});
180184

185+
export const getGranuleRecoveryStatus = (granuleId) => ({
186+
[CALL_API]: {
187+
type: types.RECOVERY_GRANULE,
188+
method: 'POST',
189+
id: granuleId,
190+
path: 'orca/recovery/granules',
191+
data: { granuleId }
192+
}
193+
});
194+
181195
export const listGranules = (options) => (dispatch, getState) => {
182196
const timeFilters = fetchCurrentTimeFilters(getState().datepicker);
183197
return dispatch({

app/src/js/actions/types.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -272,3 +272,7 @@ export const TIMER_SET_COUNTDOWN = 'TIMER_SET_COUNTDOWN';
272272
export const TOGGLE_SIDEBAR = 'TOGGLE_SIDEBAR';
273273
// Sorting Mechanism
274274
export const SORTS = 'SORTS';
275+
// ORCA recovery status
276+
export const RECOVERY_GRANULE = 'RECOVERY_GRANULE';
277+
export const RECOVERY_GRANULE_INFLIGHT = 'RECOVERY_GRANULE_INFLIGHT';
278+
export const RECOVERY_GRANULE_ERROR = 'RECOVERY_GRANULE_ERROR';

app/src/js/components/AsyncCommands/AsyncCommands.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ const AsyncCommand = ({
1919
confirmAction,
2020
confirmText,
2121
confirmOptions,
22-
disabled,
22+
hidden,
2323
element = 'button',
2424
error,
2525
postActionText,
@@ -33,7 +33,7 @@ const AsyncCommand = ({
3333
const inflight = status === 'inflight';
3434
const props = {
3535
className: element !== 'button' ? elementClass(inflight) : buttonClass(inflight),
36-
onClick: disabled ? preventDefault : handleClick
36+
onClick: hidden ? preventDefault : handleClick
3737
};
3838
if (element === 'a') props.href = '#';
3939
const children = (
@@ -61,7 +61,7 @@ const AsyncCommand = ({
6161
return [
6262
'button button--small form-group__element',
6363
`${processing ? 'button--loading' : ''}`,
64-
`${disabled ? 'button--disabled' : ''}`,
64+
`${hidden ? 'button--hidden' : ''}`,
6565
`${className || 'button__group'}`
6666
].join(' ');
6767
}
@@ -70,7 +70,7 @@ const AsyncCommand = ({
7070
function elementClass (processing) {
7171
let newClassName = 'async__element';
7272
if (processing) newClassName += ' async__element--loading';
73-
if (disabled) newClassName += ' async__element--disabled';
73+
if (hidden) newClassName += ' async__element--disabled';
7474
if (className) newClassName += ` ${className}`;
7575
return newClassName;
7676
}
@@ -79,7 +79,7 @@ const AsyncCommand = ({
7979
e.preventDefault();
8080
if (confirmAction) {
8181
setConfirmModal(true);
82-
} else if (status !== 'inflight' && !disabled) {
82+
} else if (status !== 'inflight' && !hidden) {
8383
// prevent duplicate action if the action is already inflight.
8484
action();
8585
}
@@ -135,7 +135,7 @@ AsyncCommand.propTypes = {
135135
status: PropTypes.string,
136136
text: PropTypes.string,
137137
className: PropTypes.string,
138-
disabled: PropTypes.bool,
138+
hidden: PropTypes.bool,
139139
element: PropTypes.string,
140140
confirmAction: PropTypes.bool,
141141
confirmText: PropTypes.oneOfType([PropTypes.string, PropTypes.array]),

app/src/js/components/BatchAsyncCommands/BatchAsyncCommands.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,7 @@ export class BatchCommand extends React.Component {
229229
action={this.handleClick}
230230
text={text}
231231
className={className}
232-
disabled={!activeModal && (!todo || !!inflight)}
232+
hidden={!activeModal && (!todo || !!inflight)}
233233
status={!activeModal && inflight ? 'inflight' : null}
234234
/>
235235
{activeModal && <div className="modal__cover"></div>}

app/src/js/components/Collections/overview.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import {
1818
listWorkflows,
1919
applyWorkflowToGranule,
2020
applyRecoveryWorkflowToGranule,
21+
refreshCumulusDbConnection,
2122
} from '../../actions';
2223
import {
2324
collectionName as collectionLabelForId,
@@ -89,6 +90,7 @@ const CollectionOverview = ({
8990
const [selected, setSelected] = useState([]);
9091

9192
useEffect(() => {
93+
dispatch(refreshCumulusDbConnection());
9294
dispatch(listCollections());
9395
dispatch(getCumulusInstanceMetadata());
9496
dispatch(getCollection(collectionName, decodedVersion));

0 commit comments

Comments
 (0)