From 0ebf1d6062ed6188811f08250c9342da5945b902 Mon Sep 17 00:00:00 2001 From: kahokago Date: Thu, 26 Feb 2026 09:10:48 +0000 Subject: [PATCH 1/2] Preserve readonly fields on clipboard paste --- app/models/registration-schema.ts | 1 + .../addon/drafts/draft/-components/right-nav/component.ts | 3 +++ 2 files changed, 4 insertions(+) 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/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; From 8116de77e8a82b30e23c37028eb60972c3a9064d Mon Sep 17 00:00:00 2001 From: kahokago Date: Wed, 25 Mar 2026 06:25:27 +0000 Subject: [PATCH 2/2] Modified insert method to metadata form of mebyo schema. --- .../validated-input/text/component.ts | 23 ++++--------------- 1 file changed, 5 insertions(+), 18 deletions(-) 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 !== '') {