Skip to content

Commit

Permalink
Added warnings to editors/wizards
Browse files Browse the repository at this point in the history
  • Loading branch information
rmathis committed May 26, 2021
1 parent 6b28872 commit e88b46d
Show file tree
Hide file tree
Showing 5 changed files with 76 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,19 @@ export const EntityAttributesFilterWizard = {
return errors;
}
},
warnings: (data) => {
let warnings = {};
if (!data?.relyingPartyOverrides?.signAssertion && data?.relyingPartyOverrides?.dontSignResponse) {
warnings = {
...warnings,
'options': [
...(warnings.hasOwnProperty('options') ? warnings['options'] : []),
'message.invalid-signing'
]
};
}
return warnings;
},
parser: (changes) => {
return {
...changes,
Expand Down
15 changes: 15 additions & 0 deletions ui/src/app/metadata/domain/source/SourceDefinition.js
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,21 @@ export const SourceBase = {
return errors;
}
},

warnings: (data) => {
let warnings = {};
if (!data?.relyingPartyOverrides?.signAssertion && data?.relyingPartyOverrides?.dontSignResponse) {
warnings = {
...warnings,
'relying-party': [
...(warnings.hasOwnProperty('relying-party') ? warnings['relying-party'] : []),
'message.invalid-signing'
]
};
}
return warnings;
},

uiSchema: {
'ui:order': ['serviceProviderName', '*'],
layout: {
Expand Down
17 changes: 16 additions & 1 deletion ui/src/app/metadata/editor/MetadataEditor.js
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,8 @@ export function MetadataEditor ({ current }) {

const validator = definition.validator(data, current);

const warnings = definition.warnings && definition.warnings(metadata);

return (
<div className="container-fluid p-3">
<Prompt
Expand Down Expand Up @@ -118,9 +120,22 @@ export function MetadataEditor ({ current }) {
</button>
</div>
<div className="col-xs-12 col-lg-9 order-lg-1 order-3 align-items-start">
{warnings && warnings.hasOwnProperty(section) &&
<Alert variant="danger" className="align-self-start alert-compact mt-3 mt-lg-0">
{warnings[section].map((w, widx) =>
<p className="m-0" key={widx}>
<FontAwesomeIcon icon={faExclamationTriangle} size="lg" className="mr-2" />
<Translate value={w} />
</p>
)}
</Alert>
}
{errors.length > 0 &&
<Alert variant="danger" className="align-self-start alert-compact mt-3 mt-lg-0">
<p className="m-0"><FontAwesomeIcon icon={faExclamationTriangle} size="lg" className="mr-2" /> <Translate value="message.editor-invalid" /></p>
<p className="m-0">
<FontAwesomeIcon icon={faExclamationTriangle} size="lg" className="mr-2" />
<Translate value="message.editor-invalid" />
</p>
</Alert>
}
</div>
Expand Down
14 changes: 13 additions & 1 deletion ui/src/app/metadata/editor/MetadataFilterEditor.js
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ export function MetadataFilterEditor({children}) {

const validator = definition.validator(data, current);

const warnings = definition.warnings && definition.warnings(metadata);

return (
<div className="">
<div className="row">
Expand All @@ -56,10 +58,20 @@ export function MetadataFilterEditor({children}) {
</div>
<div className={`col-xs-12 col-lg-9 order-lg-1 order-3 align-items-start ${errors.length > 0 ? 'justify-content-between' : 'justify-content-end'}`}>
{errors.length > 0 &&
<Alert variant="danger" className="align-self-start alert-compact mt-3 mt-lg-0">
<Alert variant="danger" className="align-self-start alert-compact mt-3 mt-lg-0 mb-2">
<p className="m-0"><FontAwesomeIcon icon={faExclamationTriangle} size="lg" className="mr-2" /> <Translate value="message.editor-invalid" /></p>
</Alert>
}
{errors.length === 0 && warnings && warnings.hasOwnProperty(section) &&
<Alert variant="danger" className="align-self-start alert-compact mt-3 mt-lg-0">
{warnings[section].map((w, widx) =>
<p className="m-0" key={widx}>
<FontAwesomeIcon icon={faExclamationTriangle} size="lg" className="mr-2" />
<Translate value={w} />
</p>
)}
</Alert>
}
</div>
</div>
<hr />
Expand Down
19 changes: 19 additions & 0 deletions ui/src/app/metadata/wizard/MetadataSourceWizard.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,12 @@ import { Configuration } from '../hoc/Configuration';
import { useMetadataEntity, useMetadataSources } from '../hooks/api';
import { useHistory } from 'react-router';
import { removeNull } from '../../core/utility/remove_null';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import { faExclamationTriangle } from '@fortawesome/free-solid-svg-icons';
import Translate from '../../i18n/components/translate';
import Alert from 'react-bootstrap/esm/Alert';
import Row from 'react-bootstrap/esm/Row';
import Col from 'react-bootstrap/esm/Col';

export function MetadataSourceWizard ({ onShowNav }) {

Expand Down Expand Up @@ -60,6 +66,7 @@ export function MetadataSourceWizard ({ onShowNav }) {
}

const validator = definition.validator(data);
const warnings = definition.warnings && definition.warnings(metadata);

return (
<>
Expand All @@ -69,6 +76,18 @@ export function MetadataSourceWizard ({ onShowNav }) {
</div>
</div>
<hr />
{warnings && warnings.hasOwnProperty(current) &&
<Row className="mb-4">
<Col xs="12" lg="6" className="align-items-start">
<Alert variant="danger" className="align-self-start alert-compact mt-3 mt-lg-0">
{warnings[current].map((w, widx) =>
<p className="m-0" key={widx}><FontAwesomeIcon icon={faExclamationTriangle} size="lg" className="mr-2" /> <Translate value={w} /></p>
)}
</Alert>
</Col>
<br />
</Row>
}
<div className="row">
<div className="col-12">
<MetadataWizardForm
Expand Down

0 comments on commit e88b46d

Please sign in to comment.