Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

選択必須の選択肢を選んだら「選択した理由」の入力欄を表示するようにした #5920

Conversation

AyakaTakashima
Copy link
Contributor

@AyakaTakashima AyakaTakashima commented Dec 9, 2022

Issue

概要

アンケートのプレビュー画面(showページ)にて、「選択した理由」の回答が必須な選択肢を選んだ場合のみ、
追加の入力欄が現れるようにしました。

補足

アンケート機能自体が、完全な新機能なので補足させていただきます。
アンケート機能は、下記PRで実装しています。
関連PR: #5690

アンケート機能内で、質問を作成できる機能があります。
選択肢を選ぶ質問形式である時に、「選択した理由」の回答を必須にできるよう設定することができます。
質問を作成できる機能は、下記PRで実装されています。
関連PR: #5370

作成できる質問形式は全部で5つありますが、今回のPRで対象としている質問形式は下記の3つです。

  • ラジオボタン
  • チェックボックス
  • 均等目盛

変更確認方法

  1. feature/display-input-fields-of-reason-for-choice-only-when-answer-required-choice-choosedをローカルに取り込む
  2. bin/rails sでローカルを立ち上げる
  3. komagataでログイン(アンケート機能は管理者権限でないと入れないため)
  4. 下記にアクセス
    http://localhost:3000/survey_questions
  5. 質問形式がラジオボタン、チェックボックス、均等メモリの質問の編集画面に入り、「選択した理由」の回答が必須の選択肢はどれかを確認する(「選択した理由」の回答が必須の選択肢がなかった場合は必須にする)
  6. 下記にアクセスし、表示されているいずれかのアンケートをクリックする
    http://localhost:3000/surveys
  7. 「選択した理由」が必須の選択肢をクリックした時に、理由を入力する欄が動的に表示されるか確認する

変更前

ラジオボタン、チェックボックス、均等目盛、いずれも「選択した理由」の入力欄が常時表示されっぱなしでした。
image

image

image

変更後

ラジオボタン
Image from Gyazo

チェックボックス
Image from Gyazo

均等目盛
Image from Gyazo

@AyakaTakashima AyakaTakashima force-pushed the feature/create_surveys branch 2 times, most recently from f1041e8 to 81a5b0a Compare December 18, 2022 06:46
@AyakaTakashima AyakaTakashima force-pushed the feature/display-input-fields-of-reason-for-choice-only-when-answer-required-choice-choosed branch from 50632ab to 25cf769 Compare December 18, 2022 07:59
@AyakaTakashima AyakaTakashima marked this pull request as ready for review December 18, 2022 08:44
@AyakaTakashima
Copy link
Contributor Author

@hikarook94
お疲れ様です!!
こちらのレビューをお願いしたいのですが可能でしょうか?🙇‍♀️
もし厳しそうでしたらほかの方にお声がけするのでおっしゃっていただければ幸いです😌

@hikarook94
Copy link
Contributor

@AyakaTakashima
お疲れ様です!レビュー依頼ありがとうございます!
明後日までにはお返しできるかと思います👍

@AyakaTakashima
Copy link
Contributor Author

@hikarook94
お返事ありがとうございます!!
承知いたしました!!よろしくお願いいたします🙌

Copy link
Contributor

@hikarook94 hikarook94 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@AyakaTakashima
お疲れ様です!レビューしました!
動作確認はOKでした👍

コードについていくつかコメントさせていただいているのと、Bulletのエラーが画面に表示されておりN+1問題が発生しているかも?と思いました。
スクリーンショット 2022-12-20 17 53 47
(アイコン?に隠れていてよく見えないですが...)
surveys_contorller.rbsurvey_questionsを取得するときに一度にまとめて取得する必要があるかなと思います!違っていたらすみません!

以上、ご確認よろしくお願いします🙏

answerRequiredChoice.name
)
const checkBoxStatuses = []
choicesInSameQuestion.forEach((ChoiceInSameQuestion) => {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ChoiceInSameQuestionはキャメルケースのタイポ?だと思います!

if (answerRequiredChoice.checked) {
additionalQuestionField[0].classList.remove('is-hidden')
} else if (
!answerRequiredChoice.checked &&
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

!answerRequiredChoice.checkedはあえて明示しなくても良いかも?と思いました!

@AyakaTakashima
Copy link
Contributor Author

AyakaTakashima commented Dec 20, 2022

@hikarook94
レビューありがとうございます!
時間がかかりそうなので修正完了しましたらまたご連絡させていただきます🙇‍♀️

@AyakaTakashima AyakaTakashima force-pushed the feature/display-input-fields-of-reason-for-choice-only-when-answer-required-choice-choosed branch from ede4dfe to b9b4704 Compare December 21, 2022 10:52
@AyakaTakashima
Copy link
Contributor Author

AyakaTakashima commented Dec 21, 2022

@hikarook94
お疲れ様です!
修正できましたのでご確認お願いいたします🙇‍♀️

左隅にある赤いWarningってクリックして中身開くことができるんですね...!
「Bullet Warning」で調べてみると、N+1問題を検出してくれるgemだということがわかりました。
勉強になりました😭ありがとうございます...!

上記のエラーはshowページで発生しておりましたので、#5690 の方で修正させていただきました🙇‍♀️
#5690 のPR(レビュー中)も私が担当しており、showページはそちらのPRで実装したためです。
本PRのブランチ(feature/display-input-fields-of-reason-for-choice-only-when-answer-required-choice-choosed)は、上記の別PRのブランチが分岐元となっているので、rebaseいたしました!
エラーは出なくなっていると思いますので、ご確認いただけますと幸いです。

他のご指摘いただいた点も修正させていただきました!
ご確認よろしくお願いいたします🙇‍♀️

@hikarook94
Copy link
Contributor

@AyakaTakashima
お疲れ様です!修正ありがとうございます!

左隅にある赤いWarningってクリックして中身開くことができるんですね...!

僕も「こんなのあったっけ?」って思いました😇
Bulletというgemの存在自体は知っていたのですが、実際にエラーに気づいたのは初めてでした!

N+1問題は別PRで修正とのこと、了解しました!
Approveさせていただきます!

@AyakaTakashima
Copy link
Contributor Author

@hikarook94
そうだったんですね...!
気づいてくださり感謝です😭
approveありがとうございます!!

@AyakaTakashima
Copy link
Contributor Author

@komagata
お疲れ様です!
hikarook94さんよりapproveいただきましたので、レビューお願いいたします!

Copy link
Member

@komagata komagata left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

conflictの解消をお願い致します〜。

@AyakaTakashima AyakaTakashima force-pushed the feature/display-input-fields-of-reason-for-choice-only-when-answer-required-choice-choosed branch from b9b4704 to 644180b Compare December 28, 2022 04:38
@AyakaTakashima AyakaTakashima force-pushed the feature/display-input-fields-of-reason-for-choice-only-when-answer-required-choice-choosed branch from 644180b to 44cefa9 Compare December 28, 2022 11:06
@AyakaTakashima
Copy link
Contributor Author

@komagata
コンフリクトの解消をいたしました。
ご確認お願いします!

@@ -0,0 +1,52 @@
document.addEventListener('DOMContentLoaded', () => {
const Choices = Array.from(document.querySelectorAll('.a-toggle-checkbox'))
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

他のページでjsのエラーが出ていないかどうか調べてみていだだけるとありがたいです〜

(.a-toggle-checkboxやjs-additional_question_${choice.name}存在しないページ)

@AyakaTakashima AyakaTakashima force-pushed the feature/display-input-fields-of-reason-for-choice-only-when-answer-required-choice-choosed branch from f0c6b5a to ee2aeae Compare January 4, 2023 12:04
@AyakaTakashima
Copy link
Contributor Author

@komagata
お疲れ様です。
修正いたしましたのでご確認お願いいたします!

Copy link
Member

@komagata komagata left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

確認させて頂きました。OKです〜🙆‍♂️

@komagata komagata merged commit 2300dbb into feature/create_surveys Jan 5, 2023
@komagata komagata deleted the feature/display-input-fields-of-reason-for-choice-only-when-answer-required-choice-choosed branch January 5, 2023 03:55
@github-actions github-actions bot mentioned this pull request Jan 5, 2023
21 tasks
@AyakaTakashima
Copy link
Contributor Author

@komagata
ご確認ありがとうございます!!!!!
アンケート機能はまだ正式に実装されていないと思うので、リリースノートは書かないようにしたいと思います!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants