diff --git a/app/filters.js b/app/filters.js index 47ab9ed0ec..7e472f20e2 100644 --- a/app/filters.js +++ b/app/filters.js @@ -38,6 +38,8 @@ module.exports = function (env) { ------------------------------------------------------------------ */ + filters.merge = (...args) => Object.assign({}, ...args) + /* ------------------------------------------------------------------ keep the following line to return your filters to the app ------------------------------------------------------------------ */ diff --git a/app/views/layout.html b/app/views/layout.html index 2869931059..6518c46ca3 100644 --- a/app/views/layout.html +++ b/app/views/layout.html @@ -31,6 +31,33 @@ {% from "govuk/components/textarea/macro.njk" import govukTextarea %} {% from "govuk/components/warning-text/macro.njk" import govukWarningText %} +{% set _govukCheckboxes = govukCheckboxes %} + +{% macro govukCheckboxes(options) %} + {% set options = options | merge({ + checkedValues: data[options.name] + }) %} + {{ _govukCheckboxes(options) }} +{% endmacro %} + +{% set _govukRadios = govukRadios %} + +{% macro govukRadios(options) %} + {% set options = options | merge({ + checkedValue: data[options.name] + }) %} + {{ _govukRadios(options) }} +{% endmacro %} + +{% set _govukSelect = govukSelect %} + +{% macro govukSelect(options) %} + {% set options = options | merge({ + selectedValue: data[options.name] + }) %} + {{ _govukSelect(options) }} +{% endmacro %} + {% block head %} {% include "includes/head.html" %} {% endblock %} diff --git a/app/views/test.html b/app/views/test.html new file mode 100644 index 0000000000..e4494c56d8 --- /dev/null +++ b/app/views/test.html @@ -0,0 +1,111 @@ +{% extends "layout.html" %} + +{% block pageTitle %} + Question page template – {{ serviceName }} – GOV.UK Prototype Kit +{% endblock %} + +{% block beforeContent %} + Back +{% endblock %} + +{% block content %} + +
+
+ +
+ + {{ govukCheckboxes({ + idPrefix: "waste", + name: "waste", + fieldset: { + legend: { + text: "Which types of waste do you transport?", + isPageHeading: true, + classes: "govuk-fieldset__legend--l" + } + }, + hint: { + text: "Select all that apply." + }, + items: [ + { + value: "carcasses", + text: "Waste from animal carcasses" + }, + { + value: "mines", + text: "Waste from mines or quarries" + }, + { + value: "farm", + text: "Farm or agricultural waste" + } + ] + }) }} + + {{ govukRadios({ + idPrefix: "where-do-you-live", + name: "where-do-you-live", + fieldset: { + legend: { + text: "Where do you live?", + isPageHeading: true, + classes: "govuk-fieldset__legend--l" + } + }, + items: [ + { + value: "england", + text: "England" + }, + { + value: "scotland", + text: "Scotland" + }, + { + value: "wales", + text: "Wales" + }, + { + value: "northern-ireland", + text: "Northern Ireland" + } + ] + }) }} + + {{ govukSelect({ + id: "sort", + name: "sort", + label: { + text: "Sort by" + }, + items: [ + { + value: "published", + text: "Recently published" + }, + { + value: "updated", + text: "Recently updated", + selected: true + }, + { + value: "views", + text: "Most views" + }, + { + value: "comments", + text: "Most comments" + } + ] + }) }} + + + +
+ +
+
+ +{% endblock %} diff --git a/package-lock.json b/package-lock.json index 04dff53775..30c6459e16 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23,7 +23,7 @@ "govuk_frontend_toolkit": "^7.5.0", "govuk_template_jinja": "^0.24.1", "govuk-elements-sass": "^3.1.3", - "govuk-frontend": "^4.0.1", + "govuk-frontend": "github:alphagov/govuk-frontend#52ccc47b", "gray-matter": "^4.0.3", "gulp": "^4.0.2", "gulp-nodemon": "^2.2.1", @@ -6564,8 +6564,8 @@ }, "node_modules/govuk-frontend": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/govuk-frontend/-/govuk-frontend-4.0.1.tgz", - "integrity": "sha512-X+B88mqYHoxAz0ID87Uxo3oHqdKBRnNHd3Cz8+u8nvQUAsrEzROFLK+t7sAu7e+fKqCCrJyIgx6Cmr6dIGnohQ==", + "resolved": "git+ssh://git@github.com/alphagov/govuk-frontend.git#52ccc47bec8bf955b2764ab9a34807adc8a7f9a5", + "license": "MIT", "engines": { "node": ">= 4.2.0" } @@ -20049,9 +20049,8 @@ } }, "govuk-frontend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/govuk-frontend/-/govuk-frontend-4.0.1.tgz", - "integrity": "sha512-X+B88mqYHoxAz0ID87Uxo3oHqdKBRnNHd3Cz8+u8nvQUAsrEzROFLK+t7sAu7e+fKqCCrJyIgx6Cmr6dIGnohQ==" + "version": "git+ssh://git@github.com/alphagov/govuk-frontend.git#52ccc47bec8bf955b2764ab9a34807adc8a7f9a5", + "from": "govuk-frontend@alphagov/govuk-frontend#52ccc47b" }, "graceful-fs": { "version": "4.2.8", diff --git a/package.json b/package.json index 44d76abfb2..2335d9a279 100644 --- a/package.json +++ b/package.json @@ -25,10 +25,10 @@ "express": "^4.17.1", "express-session": "^1.13.0", "fancy-log": "^1.3.3", - "govuk-elements-sass": "^3.1.3", - "govuk-frontend": "^4.0.1", "govuk_frontend_toolkit": "^7.5.0", "govuk_template_jinja": "^0.24.1", + "govuk-elements-sass": "^3.1.3", + "govuk-frontend": "github:alphagov/govuk-frontend#52ccc47b", "gray-matter": "^4.0.3", "gulp": "^4.0.2", "gulp-nodemon": "^2.2.1",