Taichi Masuyama 3 лет назад
Родитель
Сommit
cd77bf6902

+ 2 - 2
packages/app/src/components/Questionnaire/QuestionnaireToast.tsx

@@ -59,11 +59,11 @@ const QuestionnaireToast = ({ questionnaireOrder }: QuestionnaireToastProps): JS
     }
   }, [questionnaireOrder._id]);
 
-  const questionnaireOrderTitle = lang === 'en_US' ? questionnaireOrder.title.en_US : questionnaireOrder.title.ja_JP;
+  const questionnaireOrderShortTitle = lang === 'en_US' ? questionnaireOrder.shortTitle.en_US : questionnaireOrder.shortTitle.ja_JP;
 
   return <div className={`toast ${isOpen ? 'show' : 'hide'}`}>
     <div className="toast-header bg-info">
-      <strong className="mr-auto text-light">{questionnaireOrderTitle}</strong>
+      <strong className="mr-auto text-light">{questionnaireOrderShortTitle}</strong>
       <button type="button" className="ml-2 mb-1 close" onClick={closeBtnClickHandler}>
         <span aria-hidden="true" className="text-light">&times;</span>
       </button>

+ 7 - 12
packages/app/src/interfaces/questionnaire/questionnaire-order.ts

@@ -3,24 +3,19 @@ import { HasObjectId } from '@growi/core';
 import { ICondition, IConditionHasId } from './condition';
 import { IQuestion, IQuestionHasId } from './question';
 
-export interface IQuestionnaireOrder {
-  title: {
+export interface IQuestionnaireOrder<TQUESTION = IQuestion, TCONDITION = ICondition> {
+  shortTitle: {
     ja_JP: string
     en_US: string
   }
-  showFrom: Date
-  showUntil: Date
-  questions: IQuestion[]
-  condition: ICondition
-}
-
-export type IQuestionnaireOrderHasId = {
   title: {
     ja_JP: string
     en_US: string
   }
   showFrom: Date
   showUntil: Date
-  questions: IQuestionHasId[]
-  condition: IConditionHasId
-} & HasObjectId;
+  questions: TQUESTION[]
+  condition: TCONDITION
+}
+
+export type IQuestionnaireOrderHasId = IQuestionnaireOrder<IQuestionHasId, IConditionHasId> & HasObjectId;

+ 1 - 0
packages/app/src/server/models/questionnaire/questionnaire-order.ts

@@ -16,6 +16,7 @@ const questionnaireOrderTitleSchema = new Schema<IQuestionnaireOrder['title']>({
 }, { _id: false });
 
 const questionnaireOrderSchema = new Schema<QuestionnaireOrderDocument>({
+  shortTitle: { type: questionnaireOrderTitleSchema, required: true },
   title: { type: questionnaireOrderTitleSchema, required: true },
   showFrom: { type: Date, required: true },
   showUntil: {