diff --git a/app/models/registration-schema.ts b/app/models/registration-schema.ts index c264e3c09..67a342b83 100644 --- a/app/models/registration-schema.ts +++ b/app/models/registration-schema.ts @@ -23,6 +23,7 @@ export interface Question extends AbstractQuestion { title: string; nav: string; help?: string; + readonly?: boolean; } export interface Page { diff --git a/lib/osf-components/addon/components/validated-input/text/component.ts b/lib/osf-components/addon/components/validated-input/text/component.ts index 50586fbbf..327231cd6 100644 --- a/lib/osf-components/addon/components/validated-input/text/component.ts +++ b/lib/osf-components/addon/components/validated-input/text/component.ts @@ -27,23 +27,13 @@ export default class ValidatedText extends BaseValidatedComp readonly: boolean = defaultTo(this.readonly, false); didInsertElement() { - if (this.datetimeUpdated instanceof Date && !isNaN(this.datetimeUpdated.getTime()) - && this.datetimeInitiated instanceof Date - && !isNaN(this.datetimeInitiated.getTime())) { - const diffInMs = this.datetimeUpdated.getTime() - this.datetimeInitiated.getTime(); - const diffInMinutes = diffInMs / 1000 / 60; - - if ( - (this.retrievalTitle === 'auto_retrieval' || this.retrievalTitle === 'dual_retrieval') - && diffInMinutes <= 1 - ) { + if (this.retrievalTitle === 'auto_retrieval' || this.retrievalTitle === 'dual_retrieval') { + if (!this.value) { // 空の場合のみ this.set('value', this.title); } - - if ( - (this.retrievalDate === 'auto_retrieval' || this.retrievalDate === 'dual_retrieval') - && diffInMinutes <= 1 - ) { + } + if (this.retrievalDate === 'auto_retrieval' || this.retrievalDate === 'dual_retrieval') { + if (!this.value) { // 空の場合のみ const now = new Date(); const year = now.getFullYear(); const month = String(now.getMonth() + 1).padStart(2, '0'); @@ -51,10 +41,7 @@ export default class ValidatedText extends BaseValidatedComp this.set('value', `${year}-${month}-${date}`); } - } else { - // Invalid date values for datetimeInitiated or datetimeUpdated. } - this.set('readonly', this.readonly === true); if (this.retrievalVersion !== '') { diff --git a/lib/registries/addon/drafts/draft/-components/right-nav/component.ts b/lib/registries/addon/drafts/draft/-components/right-nav/component.ts index 73295d3e6..337f22575 100644 --- a/lib/registries/addon/drafts/draft/-components/right-nav/component.ts +++ b/lib/registries/addon/drafts/draft/-components/right-nav/component.ts @@ -75,6 +75,9 @@ export default class RightNav extends Component { for (const page of registrationSchema.schema.pages) { for (const question of page.questions) { + if (question.readonly) { + continue; + } const regKey = question.qid; isMetadataUsed = false;