@dwp/govuk-casa 9.2.4 → 9.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/css/casa.css +1 -1
- package/dist/assets/css/casa.css.map +1 -1
- package/dist/lib/mount.js +1 -1
- package/dist/lib/mount.js.map +1 -1
- package/dist/routes/journey.js +6 -1
- package/dist/routes/journey.js.map +1 -1
- package/package.json +21 -22
- package/src/lib/mount.js +1 -1
- package/src/routes/journey.js +8 -0
- package/views/casa/components/journey-form/README.md +5 -3
- package/views/casa/components/journey-form/template.njk +1 -1
- package/views/casa/layouts/journey.njk +1 -0
package/dist/lib/mount.js
CHANGED
|
@@ -58,7 +58,7 @@ exports.default = ({ nunjucksEnv, mountUrl, plan, staticRouter, ancillaryRouter,
|
|
|
58
58
|
// the plan
|
|
59
59
|
if (serveFirstWaypoint && plan) {
|
|
60
60
|
const re = (0, path_to_regexp_1.pathToRegexp)(`${route}`.replace(/\/+/g, "/"));
|
|
61
|
-
app.use(re, (0, serve_first_waypoint_js_1.default)({ plan }));
|
|
61
|
+
app.use(re.regexp, (0, serve_first_waypoint_js_1.default)({ plan }));
|
|
62
62
|
}
|
|
63
63
|
// Capture the mount path of this CASA app, before any parameterised path
|
|
64
64
|
// segments exert influence over `req.baseUrl` in the `router` further below.
|
package/dist/lib/mount.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mount.js","sourceRoot":"","sources":["../../src/lib/mount.js"],"names":[],"mappings":";;;;;AAAA,qCAAiC;AACjC,mDAA8C;AAE9C,4FAAgF;AAChF,oGAAwF;AAExF;;;GAGG;AAEH;;;GAGG;AAEH;;;GAGG;AAEH;;;GAGG;AAEH;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AACH,kBAAe,CAAC,EACZ,WAAW,EACX,QAAQ,EACR,IAAI,EACJ,YAAY,EACZ,eAAe,EACf,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,cAAc,GACf,EAAE,EAAE,CACL,CAAC,GAAG,EAAE,EAAE,KAAK,GAAG,GAAG,EAAE,kBAAkB,GAAG,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE;IACxD,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACzB,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IAE9B,4EAA4E;IAC5E,0EAA0E;IAC1E,IAAI,QAAQ,EAAE,CAAC;QACb,GAAG,CAAC,GAAG,CAAC,IAAA,6BAA+B,EAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,yEAAyE;IACzE,WAAW;IACX,IAAI,kBAAkB,IAAI,IAAI,EAAE,CAAC;QAC/B,MAAM,EAAE,GAAG,IAAA,6BAAY,EAAC,GAAG,KAAK,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;QACzD,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,IAAA,iCAAmC,EAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"mount.js","sourceRoot":"","sources":["../../src/lib/mount.js"],"names":[],"mappings":";;;;;AAAA,qCAAiC;AACjC,mDAA8C;AAE9C,4FAAgF;AAChF,oGAAwF;AAExF;;;GAGG;AAEH;;;GAGG;AAEH;;;GAGG;AAEH;;;GAGG;AAEH;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AACH,kBAAe,CAAC,EACZ,WAAW,EACX,QAAQ,EACR,IAAI,EACJ,YAAY,EACZ,eAAe,EACf,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,cAAc,GACf,EAAE,EAAE,CACL,CAAC,GAAG,EAAE,EAAE,KAAK,GAAG,GAAG,EAAE,kBAAkB,GAAG,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE;IACxD,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACzB,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IAE9B,4EAA4E;IAC5E,0EAA0E;IAC1E,IAAI,QAAQ,EAAE,CAAC;QACb,GAAG,CAAC,GAAG,CAAC,IAAA,6BAA+B,EAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,yEAAyE;IACzE,WAAW;IACX,IAAI,kBAAkB,IAAI,IAAI,EAAE,CAAC;QAC/B,MAAM,EAAE,GAAG,IAAA,6BAAY,EAAC,GAAG,KAAK,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;QACzD,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,IAAA,iCAAmC,EAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,yEAAyE;IACzE,6EAA6E;IAC7E,6DAA6D;IAC7D,2EAA2E;IAC3E,uBAAuB;IACvB,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACzB,GAAG,CAAC,sBAAsB,GAAG,GAAG,CAAC,OAAO,CAAC;QACzC,IAAI,EAAE,CAAC;IACT,CAAC,CAAC,CAAC;IAEH,0EAA0E;IAC1E,0EAA0E;IAC1E,4EAA4E;IAC5E,eAAe;IACf,MAAM,kBAAkB,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC;IAC/C,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACvB,GAAG,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAE5B,MAAM,MAAM,GAAG,IAAA,gBAAM,EAAC;QACpB,0EAA0E;QAC1E,WAAW,EAAE,IAAI;KAClB,CAAC,CAAC;IAEH,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC1B,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC9B,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC3B,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACjC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC3B,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC;IACnC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;IACjC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAE3B,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAEvB,OAAO,GAAG,CAAC;AACb,CAAC,CAAC"}
|
package/dist/routes/journey.js
CHANGED
|
@@ -40,7 +40,7 @@ const renderMiddlewareFactory = (view, contextFactory) => [
|
|
|
40
40
|
(req, res, next) => {
|
|
41
41
|
res.render(view, Object.assign({
|
|
42
42
|
// Common template variables for both GET and POST requests
|
|
43
|
-
inEditMode: req.casa.editMode, editOriginUrl: req.casa.editOrigin, activeContextId: req.casa.journeyContext.identity.id }, contextFactory(req)), (err, templateString) => {
|
|
43
|
+
inEditMode: req.casa.editMode, editOriginUrl: req.casa.editOrigin, editCancelUrl: generateEditCancelUrl(req.casa.editOrigin, req.casa.waypoint), activeContextId: req.casa.journeyContext.identity.id }, contextFactory(req)), (err, templateString) => {
|
|
44
44
|
if (err) {
|
|
45
45
|
next(err);
|
|
46
46
|
}
|
|
@@ -61,6 +61,11 @@ const generateGovukErrors = (errors, req) => Object.values(errors || {}).map(([e
|
|
|
61
61
|
text: req.t(error.summary, error.variables),
|
|
62
62
|
href: error.fieldHref,
|
|
63
63
|
}));
|
|
64
|
+
const generateEditCancelUrl = (editOrigin, waypoint) => {
|
|
65
|
+
const url = new URL(editOrigin, 'https://placeholder.test/');
|
|
66
|
+
url.searchParams.set('editcancel', waypoint);
|
|
67
|
+
return `${url.pathname}${url.search}`;
|
|
68
|
+
};
|
|
64
69
|
/**
|
|
65
70
|
* Handle errorVisibility flag and function and return boolean
|
|
66
71
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"journey.js","sourceRoot":"","sources":["../../src/routes/journey.js"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"journey.js","sourceRoot":"","sources":["../../src/routes/journey.js"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dwp/govuk-casa",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.3.1",
|
|
4
4
|
"description": "A framework for building GOVUK Collect-And-Submit-Applications",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -48,58 +48,57 @@
|
|
|
48
48
|
"license": "ISC",
|
|
49
49
|
"type": "module",
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"@dagrejs/graphlib": "2.2.
|
|
51
|
+
"@dagrejs/graphlib": "2.2.4",
|
|
52
52
|
"bytes": "3.1.2",
|
|
53
53
|
"cookie-parser": "1.4.6",
|
|
54
54
|
"csrf-sync": "4.0.3",
|
|
55
|
-
"debug": "4.3.
|
|
55
|
+
"debug": "4.3.6",
|
|
56
56
|
"deepmerge": "4.3.1",
|
|
57
|
-
"express": "4.
|
|
57
|
+
"express": "4.20.0",
|
|
58
58
|
"express-session": "1.18.0",
|
|
59
|
-
"govuk-frontend": "5.
|
|
59
|
+
"govuk-frontend": "5.6.0",
|
|
60
60
|
"helmet": "7.1.0",
|
|
61
|
-
"i18next": "23.
|
|
61
|
+
"i18next": "23.14.0",
|
|
62
62
|
"i18next-http-middleware": "3.6.0",
|
|
63
63
|
"js-yaml": "4.1.0",
|
|
64
64
|
"lodash": "4.17.21",
|
|
65
|
-
"luxon": "3.
|
|
65
|
+
"luxon": "3.5.0",
|
|
66
66
|
"nunjucks": "3.2.4",
|
|
67
|
-
"path-to-regexp": "
|
|
67
|
+
"path-to-regexp": "8.1.0",
|
|
68
68
|
"validator": "13.12.0"
|
|
69
69
|
},
|
|
70
70
|
"devDependencies": {
|
|
71
|
-
"@babel/core": "7.
|
|
72
|
-
"@babel/eslint-parser": "7.
|
|
73
|
-
"@babel/preset-env": "7.
|
|
74
|
-
"@ckeditor/jsdoc-plugins": "
|
|
75
|
-
"@commitlint/config-conventional": "19.
|
|
71
|
+
"@babel/core": "7.25.2",
|
|
72
|
+
"@babel/eslint-parser": "7.25.1",
|
|
73
|
+
"@babel/preset-env": "7.25.4",
|
|
74
|
+
"@ckeditor/jsdoc-plugins": "42.1.0",
|
|
75
|
+
"@commitlint/config-conventional": "19.4.1",
|
|
76
76
|
"@dwp/casa-spiderplan": "4.0.0",
|
|
77
77
|
"@dwp/casa-spiderplan-a11y-plugin": "1.0.0",
|
|
78
78
|
"@dwp/casa-spiderplan-zap-plugin": "1.0.0",
|
|
79
79
|
"@dwp/eslint-config-base": "7.0.0",
|
|
80
80
|
"@types/express": "4.17.21",
|
|
81
|
-
"@types/node": "
|
|
81
|
+
"@types/node": "22.5.4",
|
|
82
82
|
"@types/nunjucks": "3.2.6",
|
|
83
83
|
"c8": "10.1.2",
|
|
84
84
|
"chai": "5.1.1",
|
|
85
|
-
"cheerio": "1.0.0
|
|
85
|
+
"cheerio": "1.0.0",
|
|
86
86
|
"commitlint": "19.3.0",
|
|
87
87
|
"docdash": "2.0.2",
|
|
88
88
|
"eslint": "8.57.0",
|
|
89
|
-
"eslint-plugin-import": "2.
|
|
89
|
+
"eslint-plugin-import": "2.30.0",
|
|
90
90
|
"eslint-plugin-jsdoc": "48.7.0",
|
|
91
|
-
"eslint-plugin-no-unsafe-regex": "1.0.0",
|
|
92
91
|
"eslint-plugin-security": "2.1.1",
|
|
93
|
-
"eslint-plugin-sonarjs": "0.
|
|
94
|
-
"fast-check": "3.
|
|
92
|
+
"eslint-plugin-sonarjs": "0.25.1",
|
|
93
|
+
"fast-check": "3.22.0",
|
|
95
94
|
"jsdoc": "4.0.3",
|
|
96
95
|
"jsdoc-tsimport-plugin": "1.0.5",
|
|
97
|
-
"mocha": "10.
|
|
96
|
+
"mocha": "10.7.3",
|
|
98
97
|
"prettier": "3.3.3",
|
|
99
98
|
"prettier-plugin-jsdoc": "1.3.0",
|
|
100
|
-
"sass": "1.
|
|
99
|
+
"sass": "1.78.0",
|
|
101
100
|
"sinon": "18.0.0",
|
|
102
101
|
"supertest": "7.0.0",
|
|
103
|
-
"typescript": "5.5.
|
|
102
|
+
"typescript": "5.5.4"
|
|
104
103
|
}
|
|
105
104
|
}
|
package/src/lib/mount.js
CHANGED
|
@@ -76,7 +76,7 @@ export default ({
|
|
|
76
76
|
// the plan
|
|
77
77
|
if (serveFirstWaypoint && plan) {
|
|
78
78
|
const re = pathToRegexp(`${route}`.replace(/\/+/g, "/"));
|
|
79
|
-
app.use(re, serveFirstWaypointMiddlewareFactory({ plan }));
|
|
79
|
+
app.use(re.regexp, serveFirstWaypointMiddlewareFactory({ plan }));
|
|
80
80
|
}
|
|
81
81
|
|
|
82
82
|
// Capture the mount path of this CASA app, before any parameterised path
|
package/src/routes/journey.js
CHANGED
|
@@ -44,6 +44,7 @@ const renderMiddlewareFactory = (view, contextFactory) => [
|
|
|
44
44
|
// Common template variables for both GET and POST requests
|
|
45
45
|
inEditMode: req.casa.editMode,
|
|
46
46
|
editOriginUrl: req.casa.editOrigin,
|
|
47
|
+
editCancelUrl: generateEditCancelUrl(req.casa.editOrigin, req.casa.waypoint),
|
|
47
48
|
activeContextId: req.casa.journeyContext.identity.id,
|
|
48
49
|
...contextFactory(req),
|
|
49
50
|
},
|
|
@@ -70,6 +71,13 @@ const generateGovukErrors = (errors, req) =>
|
|
|
70
71
|
text: req.t(error.summary, error.variables),
|
|
71
72
|
href: error.fieldHref,
|
|
72
73
|
}));
|
|
74
|
+
|
|
75
|
+
const generateEditCancelUrl = (editOrigin, waypoint) => {
|
|
76
|
+
const url = new URL(editOrigin, 'https://placeholder.test/');
|
|
77
|
+
url.searchParams.set('editcancel', waypoint);
|
|
78
|
+
return `${url.pathname}${url.search}`;
|
|
79
|
+
};
|
|
80
|
+
|
|
73
81
|
/**
|
|
74
82
|
* Handle errorVisibility flag and function and return boolean
|
|
75
83
|
*
|
|
@@ -13,10 +13,11 @@ A "Continue" button (and "Cancel" link if in edit mode) will also be added.
|
|
|
13
13
|
{% from "casa/components/journey-form/macro.njk" import casaJourneyForm with context %}
|
|
14
14
|
|
|
15
15
|
{% call casaJourneyForm({
|
|
16
|
-
formUrl:
|
|
16
|
+
formUrl: formUrl,
|
|
17
17
|
csrfToken: casa.csrfToken,
|
|
18
|
-
inEditMode:
|
|
19
|
-
editOriginUrl:
|
|
18
|
+
inEditMode: inEditMode,
|
|
19
|
+
editOriginUrl: editOriginUrl,
|
|
20
|
+
editCancelUrl: editCancelUrl,
|
|
20
21
|
activeContextId: activeContextId,
|
|
21
22
|
buttonBarHidden: false
|
|
22
23
|
}) %}
|
|
@@ -75,6 +76,7 @@ Note that the submit button is configured to prevent double-clicks and avoid dup
|
|
|
75
76
|
| `csrfToken` | string | Yes | Token used to protect form from CSRF (available to user's templates via the global `casa.csrfToken` variable) |
|
|
76
77
|
| `inEditMode` | boolean | No | Toggle edit-mode of the form (available to page templates using default GET/POST handlers via the local `inEditMode` variable) |
|
|
77
78
|
| `editOriginUrl` | string | No | Absolute URL to the page from which the edit request came (defaults to `review`) (available to user's templates using default GET/POST handlers via the local `editOriginUrl` variable) |
|
|
79
|
+
| `editCancelUrl` | string | No | Absolute URL to the page that will cancel edit mode. Usually the same as `editorigin` with `?editcancel=<waypoint-that-cancelled>` appended (default: same as `editorigin`) |
|
|
78
80
|
| `activeContextId` | string | No | ID of the active context to save data into. Won't be present if the "default" context is active |
|
|
79
81
|
| `buttonBarHidden` | boolean | No | Toggle the rendering of the bar containing the "Continue" button and "Cancel" link.Useful if you want to render your own buttons |
|
|
80
82
|
| `buttonText` | string | No | Overrides default button text i.e Save changes. If you need to retain the save changes switch you will need to add this logic |
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
}) }}
|
|
21
21
|
|
|
22
22
|
{% if params.inEditMode %}
|
|
23
|
-
<a href="{{ params.editOriginUrl }}" class="govuk-link govuk-link--no-visited-state">{{ t('common:form.buttons.cancel.label') }}</a>
|
|
23
|
+
<a href="{{ params.editCancelUrl if params.editCancelUrl else params.editOriginUrl }}" class="govuk-link govuk-link--no-visited-state">{{ t('common:form.buttons.cancel.label') }}</a>
|
|
24
24
|
{% endif %}
|
|
25
25
|
</div>
|
|
26
26
|
{% endif %}
|