Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion es/components/forms/SubmissionView.js
Original file line number Diff line number Diff line change
Expand Up @@ -1515,7 +1515,10 @@ var SubmissionView = /*#__PURE__*/function (_React$PureComponent) {

responseData = _response$Graph[0];
submitted_at_id = object.itemUtil.atId(responseData);
console.log("submittedAtid=", submitted_at_id);
console.log("submittedAtid=", submitted_at_id); //keyContext change - delete integer key after submission

delete keyContext[inKey];
stateToSet.keyContext = keyContext;
} // handle submission for round two


Expand Down
20 changes: 14 additions & 6 deletions es/components/forms/components/submission-fields.js
Original file line number Diff line number Diff line change
Expand Up @@ -980,6 +980,14 @@ var ObjectField = /*#__PURE__*/function (_React$PureComponent2) {
enumValues = fieldSchema["enum"] || [];
} else if (fieldType === "suggested_enum") {
enumValues = fieldSchema.suggested_enum || [];
}

var nestedObjectRequired = fieldType === 'linked object' ? false : _.contains(objectSchema.required, field);

var values = _.values(parentObject);

if (values.length < 1) {
nestedObjectRequired = false;
} // format field as <this_field>.<next_field> so top level modification
// happens correctly

Expand All @@ -995,7 +1003,7 @@ var ObjectField = /*#__PURE__*/function (_React$PureComponent2) {
key: field,
schema: fieldSchema,
disabled: false,
required: false,
required: nestedObjectRequired,
isArray: false,
isMultiSelect: isMultiSelect || false
}));
Expand Down Expand Up @@ -1457,7 +1465,7 @@ export var AliasInputField = /*#__PURE__*/function (_React$Component4) {
var onAliasChange = this.props.onAliasChange; // Also check to see if need to add first or second part, e.g. if original value passed in was '' or null.

if (!aliasParts[0] || aliasParts[0] === '') {
aliasParts[0] = this.getInitialSubmitsForPart();
aliasParts[0] = ''; //this.getInitialSubmitsForPart();
}

if (aliasParts.length === 1) {
Expand Down Expand Up @@ -1502,9 +1510,9 @@ export var AliasInputField = /*#__PURE__*/function (_React$Component4) {
isValid = _this$props22.isValid,
showErrorMsg = _this$props22.showErrorMsg;
var parts = AliasInputField.splitInTwo(value);
var submits_for_list = currentSubmittingUser && Array.isArray(currentSubmittingUser.submits_for) && currentSubmittingUser.submits_for.length > 0 && currentSubmittingUser.submits_for || null;
var initialDefaultFirstPartValue = this.getInitialSubmitsForPart();
var currFirstPartValue = parts.length > 1 && parts[0] || initialDefaultFirstPartValue; // const userEmailAsPrefix = AliasInputField.emailToString(currentSubmittingUser.email); // TODO - maybe have as dropdown option
var submits_for_list = currentSubmittingUser && Array.isArray(currentSubmittingUser.submits_for) && currentSubmittingUser.submits_for.length > 0 && currentSubmittingUser.submits_for || null; //const initialDefaultFirstPartValue = this.getInitialSubmitsForPart();

var currFirstPartValue = parts.length > 1 && parts[0]; // const userEmailAsPrefix = AliasInputField.emailToString(currentSubmittingUser.email); // TODO - maybe have as dropdown option

var firstPartSelect;

Expand All @@ -1515,7 +1523,7 @@ export var AliasInputField = /*#__PURE__*/function (_React$Component4) {
inputMode: "latin",
id: "firstPartSelect",
value: currFirstPartValue || '',
placeholder: "Lab (default: " + initialDefaultFirstPartValue + ")",
placeholder: "No value",
onChange: this.onAliasFirstPartChangeTyped,
style: {
'paddingRight': 8,
Expand Down
4 changes: 4 additions & 0 deletions scss/submission-view.scss
Original file line number Diff line number Diff line change
Expand Up @@ -843,3 +843,7 @@ div.dropdown.linkto-dropdown {

}
}

.submission-view-page-container .form-fields-container div.field-row .object-field-container {
font-size: 0.625rem !important;
}
3 changes: 3 additions & 0 deletions src/components/forms/SubmissionView.js
Original file line number Diff line number Diff line change
Expand Up @@ -1208,6 +1208,9 @@ export default class SubmissionView extends React.PureComponent{
[ responseData ] = response['@graph'];
submitted_at_id = object.itemUtil.atId(responseData);
console.log("submittedAtid=",submitted_at_id);
//keyContext change - delete integer key after submission
delete keyContext[inKey];
stateToSet.keyContext = keyContext;
}
// handle submission for round two
if (roundTwo){
Expand Down
13 changes: 8 additions & 5 deletions src/components/forms/components/submission-fields.js
Original file line number Diff line number Diff line change
Expand Up @@ -653,12 +653,15 @@ class ObjectField extends React.PureComponent {
} else if (fieldType === "suggested_enum") {
enumValues = fieldSchema.suggested_enum || [];
}
let nestedObjectRequired = fieldType === 'linked object' ? false : _.contains(objectSchema.required, field);
const values = _.values(parentObject);
if (values.length < 1) { nestedObjectRequired = false; }
// format field as <this_field>.<next_field> so top level modification
// happens correctly
const nestedField = propNestedField + '.' + field;
return (
<BuildField { ...passProps} { ...{ field, fieldType, fieldTip, enumValues, nestedField, title } }
value={fieldValue} key={field} schema={fieldSchema} disabled={false} required={false} isArray={false} isMultiSelect={isMultiSelect || false} />
value={fieldValue} key={field} schema={fieldSchema} disabled={false} required={nestedObjectRequired} isArray={false} isMultiSelect={isMultiSelect || false} />
);
});

Expand Down Expand Up @@ -1041,7 +1044,7 @@ export class AliasInputField extends React.Component {
const { onAliasChange } = this.props;
// Also check to see if need to add first or second part, e.g. if original value passed in was '' or null.
if (!aliasParts[0] || aliasParts[0] === '') {
aliasParts[0] = this.getInitialSubmitsForPart();
aliasParts[0] = ''; //this.getInitialSubmitsForPart();
}
if (aliasParts.length === 1){
aliasParts[1] = '';
Expand Down Expand Up @@ -1076,16 +1079,16 @@ export class AliasInputField extends React.Component {
const { currentSubmittingUser, errorMessage, withinModal, value, isValid, showErrorMsg } = this.props;
const parts = AliasInputField.splitInTwo(value);
const submits_for_list = (currentSubmittingUser && Array.isArray(currentSubmittingUser.submits_for) && currentSubmittingUser.submits_for.length > 0 && currentSubmittingUser.submits_for) || null;
const initialDefaultFirstPartValue = this.getInitialSubmitsForPart();
const currFirstPartValue = (parts.length > 1 && parts[0]) || initialDefaultFirstPartValue;
//const initialDefaultFirstPartValue = this.getInitialSubmitsForPart();
const currFirstPartValue = (parts.length > 1 && parts[0]);
// const userEmailAsPrefix = AliasInputField.emailToString(currentSubmittingUser.email); // TODO - maybe have as dropdown option
let firstPartSelect;

if (currentSubmittingUser && Array.isArray(currentSubmittingUser.groups) && currentSubmittingUser.groups.indexOf('admin') > -1){
// Render an ordinary input box for admins (can specify any lab).
firstPartSelect = (
<input type="text" inputMode="latin" id="firstPartSelect" value={currFirstPartValue || ''}
placeholder={"Lab (default: " + initialDefaultFirstPartValue + ")"} onChange={this.onAliasFirstPartChangeTyped}
placeholder={"No value"} onChange={this.onAliasFirstPartChangeTyped}
style={{ 'paddingRight' : 8, 'borderRight' : 'none' }}
className={"form-control" + (errorMessage ? " is-invalid" : isValid ? " is-valid" : "")} />
);
Expand Down