-
Notifications
You must be signed in to change notification settings - Fork 9
/
GovukTextarea.scala.html
46 lines (42 loc) · 1.93 KB
/
GovukTextarea.scala.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
@*
* Copyright 2023 HM Revenue & Customs
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*@
@import uk.gov.hmrc.govukfrontend.views.html.components._
@import uk.gov.hmrc.govukfrontend.views.html.helpers._
@this(govukLabel: GovukLabel, govukFormGroup: GovukFormGroup, govukHintAndErrorMessage: GovukHintAndErrorMessage)
@(params: Textarea)
@import params._
@require(name.nonEmpty && id.nonEmpty)
@govukFormGroup(formGroup, errorMessage) {
@govukLabel(Label(
forAttr = Some(id),
isPageHeading = label.isPageHeading,
classes = label.classes,
attributes = label.attributes,
content = label.content
))
@govukHintAndErrorMessage(id, describedBy, hint, errorMessage)(textareaSnippet)
@formGroup.afterInput.map(_.asHtml)
}
@textareaSnippet(describedBy: String) = {
@defining {
@autocomplete.mapNonEmpty { autocomplete =>autocomplete="@autocomplete"}
} { autocompleteAttr =>
@defining {
id="@id" name="@name" rows="@if(rows != 0) {@rows} else {5}"@if(describedBy.nonEmpty) { aria-describedby="@describedBy"}@autocompleteAttr@if(spellcheck.nonEmpty){spellcheck="@if(spellcheck.getOrElse(true)){true}else{false}"}@if(disabled.getOrElse(false)) { disabled} @toAttributes(attributes)
} { attrs =>
@formGroup.beforeInput.map(_.asHtml) <textarea class="@toClasses("govuk-textarea", errorMessage.fold("")(_ => "govuk-textarea--error"), classes)" @attrs>@value.mapNonEmpty { value =>@HtmlFormat.escape(value)}</textarea>
}}
}