Skip to content

Commit

Permalink
research, vault, deposit equalized
Browse files Browse the repository at this point in the history
  • Loading branch information
HarmdR committed Aug 2, 2023
1 parent 30088e3 commit 6ccf747
Show file tree
Hide file tree
Showing 12 changed files with 127 additions and 35 deletions.
29 changes: 25 additions & 4 deletions deposit/metadata-form/src/AffiliationIdentifier.js
Original file line number Diff line number Diff line change
Expand Up @@ -135,12 +135,20 @@ class AffiliationIdentifier extends React.Component {
}
}

let labelClasses = 'form-label';
if (reqName=='*') {
labelClasses += ' select-required';
if (namePresent) {
// select-filled only has meaning when in combination with select-required (for totalisation of completeness purposes)
labelClasses += ' select-filled';
}
}

return (
<div className='d-flex'>
<div className='col compound-field'>
<label className='form-label select-required select-filled'>{titleAffiliationName}{reqName}</label>
<label className={labelClasses}>{titleAffiliationName}{reqName}</label>
<CreatableSelect
className='select-box is-invalid'
options={this.options}
required={reqName === '*'}
isDisabled={this.props.readonly}
Expand All @@ -158,13 +166,26 @@ class AffiliationIdentifier extends React.Component {
<div className='col compound-field'>
<div className='mb-0 form-group'>
<label className='form-label'>{titleAffiliationIdentifier}{reqIdf}</label>
<input

{reqIdf=='*' &&
(<input
type='text'
required
className={classesIdf} // 'form-control is-invalid'
readOnly={this.props.readonly}
onChange={this.handleChangeIdentifier}
value={Affiliation_Identifier}
/>
/>)}

{reqIdf=='' &&
(<input
type='text'
className={classesIdf} // 'form-control is-invalid'
readOnly={this.props.readonly}
onChange={this.handleChangeIdentifier}
value={Affiliation_Identifier}
/>)}

{helpAffiliationIdentifier && (
<small className='text-muted form-text'>
<p className='help-block'>{helpAffiliationIdentifier}</p>
Expand Down
30 changes: 26 additions & 4 deletions deposit/metadata-form/src/PersonIdentifier.js
Original file line number Diff line number Diff line change
Expand Up @@ -165,10 +165,19 @@ class PersonIdentifier extends React.Component {
searchLink = <a class='btn btn-sm btn-primary float-end' href={searchUrl} target='_blank' rel='noreferrer'><i class='fa-solid fa-magnifying-glass' aria-hidden='true' /> Lookup {Name_Identifier_Scheme}</a>
}

let labelClasses = 'form-label';
if (requiredScheme=='*') {
labelClasses += ' select-required';
if ((typeof Name_Identifier_Scheme !== 'undefined') && Name_Identifier_Scheme.length > 0) {
// select-filled only has meaning when in combination with select-required (for totalisation of completeness purposes)
labelClasses += ' select-filled';
}
}

return (
<div className='d-flex'>
<div className='col compound-field'>
<label className='form-label'>{titleScheme}{requiredScheme}</label>
<label className={labelClasses}>{titleScheme}{requiredScheme}</label>
<Select
className='select-box'
options={options}
Expand All @@ -183,11 +192,24 @@ class PersonIdentifier extends React.Component {
</small>
)}
</div>

<div className='col compound-field'>
<div className='mb-0 form-group'>
<label className='form-label'>{titleIdentifier}{requiredIdentifier}</label>
<InputMask
{requiredIdentifier=='*' &&
(<InputMask
className={classesIdentifierField}
required
readOnly={this.props.readonly}
isDisabled={this.props.readonly}
value={Name_Identifier}
placeholder={placeholder}
onChange={this.handleIdentifierChange}
mask={mask}
formatChars={formatChars}
/>)}

{requiredIdentifier=='' &&
(<InputMask
className={classesIdentifierField}
readOnly={this.props.readonly}
isDisabled={this.props.readonly}
Expand All @@ -196,7 +218,7 @@ class PersonIdentifier extends React.Component {
onChange={this.handleIdentifierChange}
mask={mask}
formatChars={formatChars}
/>
/>)}

{searchLink}

Expand Down
14 changes: 9 additions & 5 deletions deposit/metadata-form/src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,6 @@ const enumWidget = (props) => {
let i = enumArray.indexOf(props['value']);
let placeholder = enumNames[i] == null ? ' ' : enumNames[i];

let title = props.label || props.uiSchema["ui:title"]
let label = <label className="form-label">{title}</label>
let customStyles = {
control: styles => ({
...styles,
Expand Down Expand Up @@ -82,8 +80,13 @@ const enumWidget = (props) => {
required = formProperties.data.schema.required.includes(name_hierarchy[0]);
}

// will hold classes (select-required, select-filled) as indications for totalization purposes.
// For that purpose element <selectTotals> will be added.
let selectCompletenessClasses = '';

if((props.rawErrors !== undefined && props.rawErrors.indexOf(error) >= 0) || (required && props.value == null)) {
label = <label className="text-danger form-label select-required">{title}*</label>
// Indicate that this element is required and should be counted as total
selectCompletenessClasses = 'select-required';
customStyles = {
control: styles => ({
...styles,
Expand All @@ -95,12 +98,13 @@ const enumWidget = (props) => {
})
};
} else if (required) {
label = <label className="form-label select-required select-filled">{title}*</label>
// Indicate that this element is required and holds a value
selectCompletenessClasses = 'select-required select-filled';
}

return (
<div>

<selectTotals class={selectCompletenessClasses}></selectTotals>
<Select className={'select-box'}
placeholder={placeholder}
required={required}
Expand Down
2 changes: 1 addition & 1 deletion deposit/static/deposit/js/metadata-form.js

Large diffs are not rendered by default.

1 change: 0 additions & 1 deletion research/metadata-form/src/AffiliationIdentifier.js
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,6 @@ class AffiliationIdentifier extends React.Component {
<div className='col compound-field'>
<label className={labelClasses}>{titleAffiliationName}{reqName}</label>
<CreatableSelect
className='select-box is-invalid'
options={this.options}
required={reqName === '*'}
isDisabled={this.props.readonly}
Expand Down
1 change: 0 additions & 1 deletion research/metadata-form/src/PersonIdentifier.js
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,6 @@ class PersonIdentifier extends React.Component {
searchLink = <a class='btn btn-sm btn-primary float-end' href={searchUrl} target='_blank' rel='noreferrer'><i class='fa-solid fa-magnifying-glass' aria-hidden='true' /> Lookup {Name_Identifier_Scheme}</a>
}

// Hier moet nog in meegenomen worden of de parent daadwerkelijk verplicht is!!!! klopt dit!?
let labelClasses = 'form-label';
if (requiredScheme=='*') {
labelClasses += ' select-required';
Expand Down
9 changes: 4 additions & 5 deletions research/metadata-form/src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,6 @@ const enumWidget = (props) => {
let i = enumArray.indexOf(props['value']);
let placeholder = enumNames[i] == null ? ' ' : enumNames[i];

// let title = props.label || props.uiSchema["ui:title"]
// met label en title wordt niks gedaan
// let label = <label className="form-label">{title}</label>
let customStyles = {
control: styles => ({
...styles,
Expand Down Expand Up @@ -83,10 +80,12 @@ const enumWidget = (props) => {
required = formProperties.data.schema.required.includes(name_hierarchy[0]);
}

// will hold classes (select-required, select-filled) as indications for totalization purposes.
// For that purpose element <selectTotals> will be added.
let selectCompletenessClasses = '';

if((props.rawErrors !== undefined && props.rawErrors.indexOf(error) >= 0) || (required && props.value == null)) {
// label = <test className="text-danger form-label select-required">{title}*</test>
// Indicate that this element is required and should be counted as total
selectCompletenessClasses = 'select-required';
customStyles = {
control: styles => ({
Expand All @@ -99,7 +98,7 @@ const enumWidget = (props) => {
})
};
} else if (required) {
// label = <test className="form-label select-required select-filled">{title}*</test>
// Indicate that this element is required and holds a value
selectCompletenessClasses = 'select-required select-filled';
}

Expand Down
2 changes: 1 addition & 1 deletion research/static/research/js/metadata-form.js

Large diffs are not rendered by default.

30 changes: 25 additions & 5 deletions vault/metadata-form/src/AffiliationIdentifier.js
Original file line number Diff line number Diff line change
Expand Up @@ -135,12 +135,20 @@ class AffiliationIdentifier extends React.Component {
}
}

let labelClasses = 'form-label';
if (reqName=='*') {
labelClasses += ' select-required';
if (namePresent) {
// select-filled only has meaning when in combination with select-required (for totalisation of completeness purposes)
labelClasses += ' select-filled';
}
}

return (
<div className='d-flex'>
<div className='col compound-field'>
<label className='form-label select-required select-filled'>{titleAffiliationName}{reqName}</label>
<label className={labelClasses}>{titleAffiliationName}{reqName}</label>
<CreatableSelect
className='select-box is-invalid'
options={this.options}
required={reqName === '*'}
isDisabled={this.props.readonly}
Expand All @@ -154,17 +162,29 @@ class AffiliationIdentifier extends React.Component {
</small>
)}
</div>

<div className='col compound-field'>
<div className='mb-0 form-group'>
<label className='form-label'>{titleAffiliationIdentifier}{reqIdf}</label>
<input

{reqIdf=='*' &&
(<input
type='text'
required
className={classesIdf} // 'form-control is-invalid'
readOnly={this.props.readonly}
onChange={this.handleChangeIdentifier}
value={Affiliation_Identifier}
/>)}

{reqIdf=='' &&
(<input
type='text'
className={classesIdf} // 'form-control is-invalid'
readOnly={this.props.readonly}
onChange={this.handleChangeIdentifier}
value={Affiliation_Identifier}
/>
/>)}

{helpAffiliationIdentifier && (
<small className='text-muted form-text'>
<p className='help-block'>{helpAffiliationIdentifier}</p>
Expand Down
29 changes: 26 additions & 3 deletions vault/metadata-form/src/PersonIdentifier.js
Original file line number Diff line number Diff line change
Expand Up @@ -165,10 +165,19 @@ class PersonIdentifier extends React.Component {
searchLink = <a class='btn btn-sm btn-primary float-end' href={searchUrl} target='_blank' rel='noreferrer'><i class='fa-solid fa-magnifying-glass' aria-hidden='true' /> Lookup {Name_Identifier_Scheme}</a>
}

let labelClasses = 'form-label';
if (requiredScheme=='*') {
labelClasses += ' select-required';
if ((typeof Name_Identifier_Scheme !== 'undefined') && Name_Identifier_Scheme.length > 0) {
// select-filled only has meaning when in combination with select-required (for totalisation of completeness purposes)
labelClasses += ' select-filled';
}
}

return (
<div className='d-flex'>
<div className='col compound-field'>
<label className='form-label'>{titleScheme}{requiredScheme}</label>
<label className={labelClasses}>{titleScheme}{requiredScheme}</label>
<Select
className='select-box'
options={options}
Expand All @@ -187,7 +196,21 @@ class PersonIdentifier extends React.Component {
<div className='col compound-field'>
<div className='mb-0 form-group'>
<label className='form-label'>{titleIdentifier}{requiredIdentifier}</label>
<InputMask
{requiredIdentifier=='*' &&
(<InputMask
className={classesIdentifierField}
required
readOnly={this.props.readonly}
isDisabled={this.props.readonly}
value={Name_Identifier}
placeholder={placeholder}
onChange={this.handleIdentifierChange}
mask={mask}
formatChars={formatChars}
/>)}

{requiredIdentifier=='' &&
(<InputMask
className={classesIdentifierField}
readOnly={this.props.readonly}
isDisabled={this.props.readonly}
Expand All @@ -196,7 +219,7 @@ class PersonIdentifier extends React.Component {
onChange={this.handleIdentifierChange}
mask={mask}
formatChars={formatChars}
/>
/>)}

{searchLink}

Expand Down
13 changes: 9 additions & 4 deletions vault/metadata-form/src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,6 @@ const enumWidget = (props) => {
let i = enumArray.indexOf(props['value']);
let placeholder = enumNames[i] == null ? ' ' : enumNames[i];

let title = props.label || props.uiSchema["ui:title"]
let label = <label className="form-label">{title}</label>
let customStyles = {
control: styles => ({
...styles,
Expand Down Expand Up @@ -83,8 +81,13 @@ const enumWidget = (props) => {
required = formProperties.data.schema.required.includes(name_hierarchy[0]);
}

// will hold classes (select-required, select-filled) as indications for totalization purposes.
// For that purpose element <selectTotals> will be added.
let selectCompletenessClasses = '';

if((props.rawErrors !== undefined && props.rawErrors.indexOf(error) >= 0) || (required && props.value == null)) {
label = <label className="text-danger form-label select-required">{title}*</label>
// Indicate that this element is required and should be counted as total
selectCompletenessClasses = 'select-required';
customStyles = {
control: styles => ({
...styles,
Expand All @@ -96,11 +99,13 @@ const enumWidget = (props) => {
})
};
} else if (required) {
label = <label className="form-label select-required select-filled">{title}*</label>
// Indicate that this element is required and holds a value
selectCompletenessClasses = 'select-required select-filled';
}

return (
<div>
<selectTotals class={selectCompletenessClasses}></selectTotals>
<Select className={'select-box'}
placeholder={placeholder}
required={required}
Expand Down
2 changes: 1 addition & 1 deletion vault/static/vault/js/metadata-form.js

Large diffs are not rendered by default.

0 comments on commit 6ccf747

Please sign in to comment.