|
| 1 | +@using DigitalLearningSolutions.Web.Extensions |
| 2 | +@using DigitalLearningSolutions.Web.ViewModels.Frameworks.Import |
| 3 | + |
| 4 | +@model AddAssessmentQuestionsViewModel |
| 5 | + |
| 6 | +@{ |
| 7 | + ViewData["Application"] = "Framework Service"; |
| 8 | + ViewData["HeaderPathName"] = "Framework Service"; |
| 9 | + var errorHasOccurred = !ViewData.ModelState.IsValid; |
| 10 | + var checkListErrorClass = !ViewData.ModelState.IsValid && Model.AddDefaultAssessmentQuestions == null ? "nhsuk-form-group nhsuk-form-group--error" : "nhsuk-form-group"; |
| 11 | + ViewData["Title"] = errorHasOccurred ? "Error: Add Assessment Questions" : "Add Assessment Questions"; |
| 12 | + var cancelLinkData = Html.GetRouteValues(); |
| 13 | + var hintTextString = Model.NewCompetencies != 0 && Model.ExistingCompetencies != 0 ? "new and/or updated " : (Model.NewCompetencies == 0 ? "updated " : "new "); |
| 14 | +} |
| 15 | +<link rel="stylesheet" href="@Url.Content("~/css/frameworks/frameworksShared.css")" asp-append-version="true"> |
| 16 | +@section NavMenuItems { |
| 17 | + <partial name="Shared/_NavMenuItems" /> |
| 18 | +} |
| 19 | +@section NavBreadcrumbs { |
| 20 | + <nav class="nhsuk-breadcrumb" aria-label="Breadcrumb"> |
| 21 | + <div class="nhsuk-width-container"> |
| 22 | + <ol class="nhsuk-breadcrumb__list"> |
| 23 | + <li class="nhsuk-breadcrumb__item"><a class="nhsuk-breadcrumb__link trigger-loader" asp-action="ViewFrameworks" asp-route-tabname="Mine">Frameworks</a></li> |
| 24 | + <li class="nhsuk-breadcrumb__item"><a class="nhsuk-breadcrumb__link trigger-loader" asp-action="ViewFramework" asp-route-frameworkId="@ViewContext.RouteData.Values["frameworkId"]" asp-route-tabname="Structure">Framework Structure</a></li> |
| 25 | + <li class="nhsuk-breadcrumb__item">Bulk upload</li> |
| 26 | + </ol> |
| 27 | + <p class="nhsuk-breadcrumb__back"><a class="nhsuk-breadcrumb__backlink" asp-action="ViewFramework" asp-route-frameworkId="@ViewContext.RouteData.Values["frameworkId"]" asp-route-tabname="Structure">Back to framework structure</a></p> |
| 28 | + </div> |
| 29 | + </nav> |
| 30 | +} |
| 31 | +<div class="nhsuk-grid-row"> |
| 32 | + <div class="nhsuk-grid-column-full"> |
| 33 | + <div class="nhsuk-u-reading-width"> |
| 34 | + @if (errorHasOccurred) |
| 35 | + { |
| 36 | + <vc:error-summary order-of-property-names="@(new []{ nameof(AddAssessmentQuestionsFormData.DefaultAssessmentQuestionIDs), nameof(AddAssessmentQuestionsFormData.CustomAssessmentQuestionID) })" /> |
| 37 | + } |
| 38 | + <form enctype="multipart/form-data" method="post"> |
| 39 | + <div class="nhsuk-form-group"> |
| 40 | + <fieldset class="nhsuk-fieldset" aria-describedby="@(!ViewData.ModelState.IsValid && Model.AddDefaultAssessmentQuestions == true && !Model.DefaultAssessmentQuestionIDs.Any() ? "check-list-error" : "")"> |
| 41 | + <legend class="nhsuk-fieldset__legend nhsuk-fieldset__legend--l"> |
| 42 | + <h1 class="nhsuk-fieldset__heading"> |
| 43 | + @ViewData["Title"] |
| 44 | + </h1> |
| 45 | + </legend> |
| 46 | + <div class="nhsuk-hint" id="contact-hint"> |
| 47 | + Which assessment questions would you like to attach to the @hintTextString @Model.FrameworkVocabularyPlural.ToLower()? |
| 48 | + </div> |
| 49 | + <div class="nhsuk-checkboxes nhsuk-checkboxes--conditional"> |
| 50 | + @if (Model.DefaultQuestions.Any()) |
| 51 | + { |
| 52 | + <div class="nhsuk-checkboxes__item"> |
| 53 | + <input class="nhsuk-checkboxes__input" id="defaultQuestions" type="checkbox" asp-for="@Model.AddDefaultAssessmentQuestions" aria-controls="conditional-default-questions" aria-expanded="false"> |
| 54 | + <label class="nhsuk-label nhsuk-checkboxes__label" for="defaultQuestions"> |
| 55 | + Default framework questions |
| 56 | + </label> |
| 57 | + <div class="nhsuk-hint nhsuk-checkboxes__hint" id="custom-question-hint"> |
| 58 | + choose which default questions associated with this framework to add to the imported and/or updated @Model.FrameworkVocabularyPlural.ToLower() |
| 59 | + </div> |
| 60 | + <div class="nhsuk-checkboxes__conditional nhsuk-checkboxes__conditional--hidden" id="conditional-default-questions"> |
| 61 | + |
| 62 | + <div class="nhsuk-form-group"> |
| 63 | + <div class="nhsuk-checkboxes"> |
| 64 | + @foreach (var (defaultQuestion, index) in Model.DefaultQuestions.Select((t, i) => (t, i))) |
| 65 | + { |
| 66 | + <div class="nhsuk-checkboxes__item"> |
| 67 | + <input class="nhsuk-checkboxes__input default-question-checkbox" |
| 68 | + type="checkbox" |
| 69 | + name="DefaultAssessmentQuestionIDs" |
| 70 | + |
| 71 | + checked="@Model.DefaultAssessmentQuestionIDs.Contains(@defaultQuestion.ID)" |
| 72 | + value="@defaultQuestion.ID" /> |
| 73 | + < label class= "nhsuk-label nhsuk-checkboxes__label word-break" for= "[email protected]"> |
| 74 | + @defaultQuestion.Question |
| 75 | + </label> |
| 76 | + </div> |
| 77 | + } |
| 78 | + </div> |
| 79 | + </div> |
| 80 | + </div> |
| 81 | + </div> |
| 82 | + } |
| 83 | + <div class="nhsuk-checkboxes__item"> |
| 84 | + <input class="nhsuk-checkboxes__input" id="customQuestion" type="checkbox" asp-for="@Model.AddCustomAssessmentQuestion" aria-controls="conditional-custom-question" aria-expanded="false" aria-describedby="custom-question-hint"> |
| 85 | + <label class="nhsuk-label nhsuk-checkboxes__label" for="customQuestion"> |
| 86 | + Custom assessment question |
| 87 | + </label> |
| 88 | + </div> |
| 89 | + <div class="nhsuk-checkboxes__conditional nhsuk-checkboxes__conditional--hidden" id="conditional-custom-question"> |
| 90 | + |
| 91 | + <label class="nhsuk-label" for="select-question"> |
| 92 | + Add an existing assessment question to the uploaded @Model.FrameworkVocabularyPlural.ToLower() |
| 93 | + </label> |
| 94 | + <select class="nhsuk-select nhsuk-u-width-three-quarters" id="select-question" asp-items="@Model.QuestionSelectList" asp-for="@Model.CustomAssessmentQuestionID"></select> |
| 95 | + </div> |
| 96 | + </div> |
| 97 | + </fieldset> |
| 98 | + </div> |
| 99 | + <button class="nhsuk-button" type="submit">Next</button> |
| 100 | + </form> |
| 101 | + <vc:back-link asp-controller="Frameworks" asp-action="Index" asp-all-route-data="@null" link-text="Cancel" /> |
| 102 | + </div> |
| 103 | + </div> |
| 104 | +</div> |
0 commit comments