From 9f4edc211ce760d059770beacf46971665f0cf8b Mon Sep 17 00:00:00 2001 From: ugur-camoglu Date: Tue, 8 Feb 2022 11:07:22 +0300 Subject: [PATCH 1/6] Show "required" on required sub object field. --- es/components/forms/components/submission-fields.js | 2 +- src/components/forms/components/submission-fields.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/es/components/forms/components/submission-fields.js b/es/components/forms/components/submission-fields.js index ac2a03c9..a5e0395d 100644 --- a/es/components/forms/components/submission-fields.js +++ b/es/components/forms/components/submission-fields.js @@ -995,7 +995,7 @@ var ObjectField = /*#__PURE__*/function (_React$PureComponent2) { key: field, schema: fieldSchema, disabled: false, - required: false, + required: _.contains(objectSchema.required, field), isArray: false, isMultiSelect: isMultiSelect || false })); diff --git a/src/components/forms/components/submission-fields.js b/src/components/forms/components/submission-fields.js index 2659c51d..2801c1fe 100644 --- a/src/components/forms/components/submission-fields.js +++ b/src/components/forms/components/submission-fields.js @@ -658,7 +658,7 @@ class ObjectField extends React.PureComponent { const nestedField = propNestedField + '.' + field; return ( + value={fieldValue} key={field} schema={fieldSchema} disabled={false} required={_.contains(objectSchema.required, field)} isArray={false} isMultiSelect={isMultiSelect || false} /> ); }); From 7d503f2fd9351627532e86495dbec984cc2fe13c Mon Sep 17 00:00:00 2001 From: ugur-camoglu Date: Thu, 17 Feb 2022 10:47:32 +0300 Subject: [PATCH 2/6] keyContext change - delete integer key --- es/components/forms/SubmissionView.js | 5 ++++- src/components/forms/SubmissionView.js | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/es/components/forms/SubmissionView.js b/es/components/forms/SubmissionView.js index 12e821fe..1259faa1 100644 --- a/es/components/forms/SubmissionView.js +++ b/es/components/forms/SubmissionView.js @@ -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 diff --git a/src/components/forms/SubmissionView.js b/src/components/forms/SubmissionView.js index 6845ed2e..5ea1542b 100644 --- a/src/components/forms/SubmissionView.js +++ b/src/components/forms/SubmissionView.js @@ -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){ From a1f10cdf2e5bc4bdbffef4581ce0a2b428c65b86 Mon Sep 17 00:00:00 2001 From: ugur-camoglu Date: Tue, 22 Feb 2022 13:31:12 +0300 Subject: [PATCH 3/6] updating allow 'null' alias values --- es/components/forms/components/submission-fields.js | 7 +++---- src/components/forms/components/submission-fields.js | 8 ++++---- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/es/components/forms/components/submission-fields.js b/es/components/forms/components/submission-fields.js index a5e0395d..33c6fb7d 100644 --- a/es/components/forms/components/submission-fields.js +++ b/es/components/forms/components/submission-fields.js @@ -1457,7 +1457,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) { @@ -1503,8 +1503,7 @@ export var AliasInputField = /*#__PURE__*/function (_React$Component4) { 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 currFirstPartValue = parts.length > 1 && parts[0]; // const userEmailAsPrefix = AliasInputField.emailToString(currentSubmittingUser.email); // TODO - maybe have as dropdown option var firstPartSelect; @@ -1515,7 +1514,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, diff --git a/src/components/forms/components/submission-fields.js b/src/components/forms/components/submission-fields.js index 2801c1fe..b36de35c 100644 --- a/src/components/forms/components/submission-fields.js +++ b/src/components/forms/components/submission-fields.js @@ -1041,7 +1041,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] = ''; @@ -1076,8 +1076,8 @@ 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; @@ -1085,7 +1085,7 @@ export class AliasInputField extends React.Component { // Render an ordinary input box for admins (can specify any lab). firstPartSelect = ( ); From c69613941f480752fff1cae57ccc13b9e041e04d Mon Sep 17 00:00:00 2001 From: ugur-camoglu Date: Tue, 22 Feb 2022 13:41:09 +0300 Subject: [PATCH 4/6] pushed es file --- es/components/forms/components/submission-fields.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/es/components/forms/components/submission-fields.js b/es/components/forms/components/submission-fields.js index 33c6fb7d..1334af97 100644 --- a/es/components/forms/components/submission-fields.js +++ b/es/components/forms/components/submission-fields.js @@ -1502,7 +1502,8 @@ 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 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; From f7fccc43ee0c3e168fc5a11170b0e4021329dac3 Mon Sep 17 00:00:00 2001 From: ugur-camoglu Date: Thu, 10 Mar 2022 16:18:03 +0300 Subject: [PATCH 5/6] remove linked object required label --- es/components/forms/components/submission-fields.js | 10 +++++++++- src/components/forms/components/submission-fields.js | 5 ++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/es/components/forms/components/submission-fields.js b/es/components/forms/components/submission-fields.js index 1334af97..50f4438b 100644 --- a/es/components/forms/components/submission-fields.js +++ b/es/components/forms/components/submission-fields.js @@ -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 . so top level modification // happens correctly @@ -995,7 +1003,7 @@ var ObjectField = /*#__PURE__*/function (_React$PureComponent2) { key: field, schema: fieldSchema, disabled: false, - required: _.contains(objectSchema.required, field), + required: nestedObjectRequired, isArray: false, isMultiSelect: isMultiSelect || false })); diff --git a/src/components/forms/components/submission-fields.js b/src/components/forms/components/submission-fields.js index b36de35c..1eec5d8b 100644 --- a/src/components/forms/components/submission-fields.js +++ b/src/components/forms/components/submission-fields.js @@ -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 . so top level modification // happens correctly const nestedField = propNestedField + '.' + field; return ( + value={fieldValue} key={field} schema={fieldSchema} disabled={false} required={nestedObjectRequired} isArray={false} isMultiSelect={isMultiSelect || false} /> ); }); From d1d33214424ac20237236ee125b57e69731e4551 Mon Sep 17 00:00:00 2001 From: ugur-camoglu Date: Fri, 11 Mar 2022 09:41:27 +0300 Subject: [PATCH 6/6] update css --- scss/submission-view.scss | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scss/submission-view.scss b/scss/submission-view.scss index 2a858a9a..4ad3b266 100644 --- a/scss/submission-view.scss +++ b/scss/submission-view.scss @@ -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; +} \ No newline at end of file