updates wording for member data to types of data. adds non readonly fields to reviewable filter. removes dataset owners from entity header

This commit is contained in:
Seyi Adebajo 2018-03-01 14:35:29 -08:00
parent a29f90109e
commit bda8f23c09
4 changed files with 36 additions and 23 deletions

View File

@ -578,7 +578,7 @@ export default class DatasetCompliance extends Component {
}); });
/** /**
* Determines if all member data fields should be shown in the member data table i.e. show only fields contained in * Determines if all types of data fields should be shown in the table i.e. show only fields contained in
* this dataset or otherwise * this dataset or otherwise
* @type {ComputedProperty<boolean>} * @type {ComputedProperty<boolean>}
* @memberof DatasetCompliance * @memberof DatasetCompliance
@ -857,12 +857,13 @@ export default class DatasetCompliance extends Component {
const formattedAndUnformattedEntities: FormattedAndUnformattedEntities = { formatted: [], unformatted: [] }; const formattedAndUnformattedEntities: FormattedAndUnformattedEntities = { formatted: [], unformatted: [] };
// All candidate fields that can be on policy, excluding tracking type fields // All candidate fields that can be on policy, excluding tracking type fields
const changeSetEntities: Array<IComplianceEntity> = get(this, 'compliancePolicyChangeSet').map( const changeSetEntities: Array<IComplianceEntity> = get(this, 'compliancePolicyChangeSet').map(
({ identifierField, identifierType = null, logicalType, nonOwner, securityClassification }) => ({ ({ identifierField, identifierType = null, logicalType, nonOwner, securityClassification, readonly }) => ({
identifierField, identifierField,
identifierType, identifierType,
logicalType, logicalType,
nonOwner, nonOwner,
securityClassification securityClassification,
readonly
}) })
); );
@ -1028,8 +1029,8 @@ export default class DatasetCompliance extends Component {
let willMarkAllAsNo = true; let willMarkAllAsNo = true;
get(this, 'notifications').notify(NotificationEvent.confirm, { get(this, 'notifications').notify(NotificationEvent.confirm, {
content: 'Are you sure that any this dataset does not contain any of the listed types of member data?', content: 'Are you sure this dataset does not contain any of the listed types of data?',
header: 'Dataset contains no member data', header: 'Dataset contains no listed types of data',
dialogActions dialogActions
}); });

View File

@ -2,8 +2,8 @@
<header class="metadata-prompt__header"> <header class="metadata-prompt__header">
<p> <p>
{{if isEditing {{if isEditing
"Does this dataset contain the following types of Member data?" "Does this dataset contain the following types of data?"
"Types of member data contained in this dataset"}} "Types of data contained in this dataset"}}
<!--TODO: DSS-6716--> <!--TODO: DSS-6716-->
<!-- DRY out with wrapper component that takes the link as an attribute--> <!-- DRY out with wrapper component that takes the link as an attribute-->
@ -34,10 +34,10 @@
fields=datasetClassification as |table|}} fields=datasetClassification as |table|}}
{{#table.head as |head|}} {{#table.head as |head|}}
{{#head.column}}Types of member data{{/head.column}} {{#head.column}}Types of data{{/head.column}}
{{#head.column class="dataset-field-content__header"}} {{#head.column class="dataset-field-content__header"}}
<span class="dataset-field-value">Is this type of member data contained in this dataset?</span> <span class="dataset-field-value">Is this type of data contained in this dataset?</span>
{{/head.column}} {{/head.column}}
{{/table.head}} {{/table.head}}
@ -96,12 +96,19 @@
{{/body.row}} {{/body.row}}
{{else}} {{else}}
<tr class="dataset-field-content__empty dataset-field-content__empty dataset-field-content__empty"> <tr class="dataset-field-content__empty">
<td class="text-center" colspan="2"> <td>
{{empty-state <div>
heading="Dataset has not been marked as containing Member data" <header>
subHead="Click 'See More' below to view all available types of dataset member data" <strong>
}} None selected
</strong>
</header>
<p>
Click 'See More' below to view all available types of data
</p>
</div>
</td> </td>
</tr> </tr>
@ -117,11 +124,11 @@
class="nacho-button--large nacho-button--tertiary"> class="nacho-button--large nacho-button--tertiary">
{{#if shouldShowAllMemberData}} {{#if shouldShowAllMemberData}}
See Less <span class="fa fa-caret-up" aria-label="See Less Dataset Member Data"></span> See Less <span class="fa fa-caret-up" aria-label="See Less Types of Data"></span>
{{else}} {{else}}
See More <span class="fa fa-caret-down" aria-label="See More Dataset Member Data"></span> See More <span class="fa fa-caret-down" aria-label="See More Types of Data"></span>
{{/if}} {{/if}}
</button> </button>

View File

@ -45,7 +45,6 @@
</h3> </h3>
</div> </div>
{{dataset-owner-list owners=owners datasetName=model.nativeName}}
</div> </div>
{{#ivy-tabs selection=tabSelected as |tabs|}} {{#ivy-tabs selection=tabSelected as |tabs|}}

View File

@ -124,20 +124,26 @@ const isRecentSuggestion = (policyModificationTime = 0, suggestionModificationTi
/** /**
* Checks if a compliance policy changeSet field requires user attention: if a suggestion * Checks if a compliance policy changeSet field requires user attention: if a suggestion
* is available but the user has not indicated intent or a policy for the field does not currently exist remotely * is available but the user has not indicated intent or a policy for the field does not currently exist remotely
* and the related field changeSet has not been modified on the client * and the related field changeSet has not been modified on the client and isn't readonly
* @param {boolean} isDirty flag indicating the field changeSet has been modified on the client * @param {boolean} isDirty flag indicating the field changeSet has been modified on the client
* @param {object|void} suggestion the field suggestion properties * @param {object|void} suggestion the field suggestion properties
* @param {boolean} privacyPolicyExists flag indicating that the field has a current policy upstream * @param {boolean} privacyPolicyExists flag indicating that the field has a current policy upstream
* @param {string} suggestionAuthority possibly empty string indicating the user intent for the suggestion * @param {string} suggestionAuthority possibly empty string indicating the user intent for the suggestion
* @return {boolean} * @return {boolean}
*/ */
const fieldChangeSetRequiresReview = ({ isDirty, suggestion, privacyPolicyExists, suggestionAuthority } = {}) => { const fieldChangeSetRequiresReview = ({
isDirty,
suggestion,
privacyPolicyExists,
suggestionAuthority,
readonly
} = {}) => {
if (suggestion) { if (suggestion) {
return !suggestionAuthority; return !suggestionAuthority && !readonly;
} }
// If either the privacy policy exists, or user has made changes, then no review is required // If either the privacy policy exists, or user has made changes, and field is not readonly then no review is required
return !(privacyPolicyExists || isDirty); return !(privacyPolicyExists || isDirty) && !readonly;
}; };
/** /**