@ministryofjustice/hmpps-digital-prison-reporting-frontend 4.26.1 → 4.26.2
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/dpr/DprQueryParamClass.mjs +2 -0
- package/dpr/all.scss +7 -3
- package/dpr/components/_charts/chart/styles.scss +1 -1
- package/dpr/components/_filters/filters-selected/clientClass.mjs +1 -0
- package/dpr/components/_reports/report-data-table/style.scss +6 -2
- package/dpr/components/_reports/report-data-table/view.njk +11 -9
- package/dpr/routes/journeys/view-report/utils.js +1 -1
- package/dpr/routes/journeys/view-report/utils.js.map +2 -2
- package/dpr/routes/journeys/view-report/utils.ts +1 -1
- package/package.json +1 -1
package/dpr/all.scss
CHANGED
|
@@ -861,7 +861,6 @@ ul.dpr-card-group__item__filters-list {
|
|
|
861
861
|
|
|
862
862
|
.dpr-table-container {
|
|
863
863
|
position: relative;
|
|
864
|
-
// overflow: scroll;
|
|
865
864
|
|
|
866
865
|
td {
|
|
867
866
|
padding: govuk-spacing(2);
|
|
@@ -1058,7 +1057,12 @@ ul.dpr-card-group__item__filters-list {
|
|
|
1058
1057
|
}
|
|
1059
1058
|
|
|
1060
1059
|
.dpr-table-wrapper {
|
|
1061
|
-
overflow: scroll;
|
|
1060
|
+
overflow-x: scroll;
|
|
1061
|
+
transform: rotateX(180deg);
|
|
1062
|
+
|
|
1063
|
+
.dpr-table-content {
|
|
1064
|
+
transform: rotateX(180deg);
|
|
1065
|
+
}
|
|
1062
1066
|
}
|
|
1063
1067
|
|
|
1064
1068
|
.table-row-count {
|
|
@@ -1855,7 +1859,7 @@ ul.dpr-card-group__item__filters-list {
|
|
|
1855
1859
|
background-color: govuk-colour("dark-blue")
|
|
1856
1860
|
}
|
|
1857
1861
|
|
|
1858
|
-
@for $i from 1 through
|
|
1862
|
+
@for $i from 1 through 200 {
|
|
1859
1863
|
.dpr-chart-height-#{$i} {
|
|
1860
1864
|
height: $i * 80px !important;
|
|
1861
1865
|
}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
.dpr-table-container {
|
|
4
4
|
position: relative;
|
|
5
|
-
// overflow: scroll;
|
|
6
5
|
|
|
7
6
|
td {
|
|
8
7
|
padding: govuk-spacing(2);
|
|
@@ -199,7 +198,12 @@
|
|
|
199
198
|
}
|
|
200
199
|
|
|
201
200
|
.dpr-table-wrapper {
|
|
202
|
-
overflow: scroll;
|
|
201
|
+
overflow-x: scroll;
|
|
202
|
+
transform: rotateX(180deg);
|
|
203
|
+
|
|
204
|
+
.dpr-table-content {
|
|
205
|
+
transform: rotateX(180deg);
|
|
206
|
+
}
|
|
203
207
|
}
|
|
204
208
|
|
|
205
209
|
.table-row-count {
|
|
@@ -8,15 +8,17 @@
|
|
|
8
8
|
<div id="table-container" class='dpr-table-container' data-dpr-module="data-table" aria-labelledby="dpr-report-name">
|
|
9
9
|
<div class="dpr-overflow-gradient" id="dpr-overflow-gradient"></div>
|
|
10
10
|
<div class="dpr-table-wrapper" id="dpr-table-wrapper">
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
11
|
+
<div class="dpr-table-content">
|
|
12
|
+
{{ govukTable({
|
|
13
|
+
head: head,
|
|
14
|
+
rows: rows,
|
|
15
|
+
attributes: {
|
|
16
|
+
'id': 'dpr-data-table',
|
|
17
|
+
'data-classification': classification,
|
|
18
|
+
'data-col-length': colCount
|
|
19
|
+
}
|
|
20
|
+
}) }}
|
|
21
|
+
</div>
|
|
20
22
|
</div>
|
|
21
23
|
</div>
|
|
22
24
|
{% endmacro %}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var x=Object.create;var g=Object.defineProperty;var E=Object.getOwnPropertyDescriptor;var T=Object.getOwnPropertyNames;var j=Object.getPrototypeOf,z=Object.prototype.hasOwnProperty;var B=(e,o)=>{for(var t in o)g(e,t,{get:o[t],enumerable:!0})},C=(e,o,t,i)=>{if(o&&typeof o=="object"||typeof o=="function")for(let n of T(o))!z.call(e,n)&&n!==t&&g(e,n,{get:()=>o[n],enumerable:!(i=E(o,n))||i.enumerable});return e};var D=(e,o,t)=>(t=e!=null?x(j(e)):{},C(o||!e||!e.__esModule?g(t,"default",{value:e,enumerable:!0}):t,e)),M=e=>C(g({},"__esModule",{value:!0}),e);var H={};B(H,{applyDashboardInteractiveQuery:()=>P,applyReportInteractiveQuery:()=>A,default:()=>$});module.exports=M(H);var f=require("../../../components/_filters/filter-input/enum"),y=D(require("../../../utils/localsHelper")),F=D(require("../../../utils/definitionUtils")),I=D(require("../../../utils/DateMapper/DateMapper")),V=D(require("../../../components/_reports/report-columns-form/utils"));const A=async(e,o,t,i)=>{const{reportId:n,id:r}=e.params,{token:l,definitionsPath:a}=y.default.getValues(o),s=(await t.reportingService.getDefinition(l,n,r,a)).variant.specification?.fields||[];return L(e,o,t,i,s)},P=async(e,o,t,i)=>{const{reportId:n,id:r}=e.params,{token:l,definitionsPath:a}=y.default.getValues(o),s=(await t.dashboardService.getDefinition(l,n,r,a)).filterFields||[];return L(e,o,t,i,s)},L=async(e,o,t,i,n)=>{const{tableId:r,id:l}=e.params,{dprUser:a}=y.default.getValues(o);let d;r?d=await t.recentlyViewedService?.getReportByTableId(r,a.id):d=await t.recentlyViewedService?.getReportById(l,a.id);const s=d?.interactiveQuery?.data,p=s?.preventDefault,R=s?.pageSize,S=i==="columns"?s?.selectedPage:1,b=s?.sortColumn,h=s?.sortedAsc;let v={};s&&(v=Object.keys(s).filter(c=>c.includes("filters.")).reduce((c,u)=>({...c,[u]:s[u]}),{}));let m={...p&&{preventDefault:p},...S&&{selectedPage:S},...R&&{pageSize:R},...b&&{sortColumn:b},...h&&{sortedAsc:h},...e.body};if(i==="columns"){const{columns:c}=e.body,u=V.default.mandatoryColumns(n);let w=[];c&&(w=Array.isArray(c)?c:[c]);const U=[...u,...w];m={...m,columns:U,...v}}else{const c=s?.columns||[];m={...m,columns:c}}const Q=O({formData:m,fields:n});o.redirect(`${e.baseUrl}?${Q}`)},O=({formData:e,fields:o})=>{const t=new URLSearchParams;Object.keys(e).forEach(n=>{const r=e[n];if(r&&n!=="_csrf"){const l=n.split(".")[1];if(l){const a=F.default.getFilter(o,l);if(a){const{type:d}=a;switch(d.toLocaleLowerCase()){case f.FilterType.date.toLocaleLowerCase():case f.FilterType.dateRange.toLocaleLowerCase():case f.FilterType.granularDateRange.toLocaleLowerCase():{let s=r;const p=new I.default;p.getDateType(s)!=="none"&&(s=p.toDateString(s,"iso")||""),s&&t.append(n,s)}break;case f.FilterType.multiselect.toLocaleLowerCase():Array.isArray(r)?r.forEach(p=>{t.append(n,p)}):t.append(n,r);break;default:t.append(n,r);break}}}else Array.isArray(r)?r.forEach(a=>{t.append(n,a)}):t.append(n,r)}});const i=t.toString();return decodeURIComponent(i)};var $={applyDashboardInteractiveQuery:P,applyReportInteractiveQuery:A};0&&(module.exports={applyDashboardInteractiveQuery,applyReportInteractiveQuery});
|
|
2
2
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/dpr/routes/journeys/view-report/utils.ts"],
|
|
4
|
-
"sourcesContent": ["import { Request, Response } from 'express'\nimport { FilterType } from '../../../components/_filters/filter-input/enum'\nimport { components } from '../../../types/api'\nimport { StoredReportData } from '../../../types/UserReports'\nimport { Services } from '../../../types/Services'\nimport LocalsHelper from '../../../utils/localsHelper'\nimport definitionUtils from '../../../utils/definitionUtils'\nimport DateMapper from '../../../utils/DateMapper/DateMapper'\nimport ColumnsUtils from '../../../components/_reports/report-columns-form/utils'\n\nexport const applyReportInteractiveQuery = async (\n req: Request,\n res: Response,\n services: Services,\n applyType: 'columns' | 'filters',\n) => {\n const { reportId, id } = req.params\n const { token, definitionsPath } = LocalsHelper.getValues(res)\n\n // Get the definition\n const definition: components['schemas']['SingleVariantReportDefinition'] =\n await services.reportingService.getDefinition(token, reportId, id, definitionsPath)\n const fields = definition.variant.specification?.fields || []\n\n return applyInteractiveQuery(req, res, services, applyType, fields)\n}\n\nexport const applyDashboardInteractiveQuery = async (\n req: Request,\n res: Response,\n services: Services,\n applyType: 'columns' | 'filters',\n) => {\n const { reportId, id } = req.params\n const { token, definitionsPath } = LocalsHelper.getValues(res)\n\n // Get the definition\n const definition: components['schemas']['DashboardDefinition'] = await services.dashboardService.getDefinition(\n token,\n reportId,\n id,\n definitionsPath,\n )\n const fields = definition.filterFields || []\n\n return applyInteractiveQuery(req, res, services, applyType, fields)\n}\n\nconst applyInteractiveQuery = async (\n req: Request,\n res: Response,\n services: Services,\n applyType: 'columns' | 'filters',\n fields: components['schemas']['FieldDefinition'][],\n) => {\n const { tableId, id } = req.params\n const { dprUser } = LocalsHelper.getValues(res)\n\n // get the report state\n let reportStateData: StoredReportData | undefined\n if (tableId) {\n // means its an async report\n reportStateData = await services.recentlyViewedService?.getReportByTableId(tableId, dprUser.id)\n } else {\n // its a sync report and can be indentified by ID as will always only be 1\n reportStateData = await services.recentlyViewedService?.getReportById(id, dprUser.id)\n }\n\n // Get the stored interactive query data\n const interactiveQueryData = reportStateData?.interactiveQuery?.data\n\n const preventDefault = interactiveQueryData?.['preventDefault']\n const pageSize = interactiveQueryData?.['pageSize']\n const selectedPage = interactiveQueryData?.['selectedPage']\n const sortColumn = interactiveQueryData?.['sortColumn']\n const sortedAsc = interactiveQueryData?.['sortedAsc']\n\n let filters = {}\n if (interactiveQueryData) {\n filters = Object.keys(interactiveQueryData)\n .filter((key) => key.includes('filters.'))\n .reduce((acc, key) => ({ ...acc, [key]: interactiveQueryData[key] }), {})\n }\n\n // Create merged form data\n let formData: Record<string, string | string[]> = {\n ...(preventDefault && { preventDefault }),\n ...(selectedPage && { selectedPage }),\n ...(pageSize && { pageSize }),\n ...(sortColumn && { sortColumn }),\n ...(sortedAsc && { sortedAsc }),\n ...req.body,\n }\n\n if (applyType === 'columns') {\n const { columns } = req.body\n const mandatoryCols = ColumnsUtils.mandatoryColumns(fields)\n\n let bodyColumns = []\n if (columns) {\n bodyColumns = Array.isArray(columns) ? columns : [columns]\n }\n const columnsData = [...mandatoryCols, ...bodyColumns]\n formData = { ...formData, columns: columnsData, ...filters }\n } else {\n const columns = interactiveQueryData?.['columns'] || []\n formData = { ...formData, columns }\n }\n\n // Create query string\n const filtersString = createQueryParamsFromFormData({\n formData,\n fields,\n })\n\n // Redirect back to report\n res.redirect(`${req.baseUrl}?${filtersString}`)\n}\n\nconst createQueryParamsFromFormData = ({\n formData,\n fields,\n}: {\n fields: components['schemas']['FieldDefinition'][]\n formData: Record<string, string | string[]>\n}) => {\n // create the query string\n const params = new URLSearchParams()\n Object.keys(formData).forEach((key) => {\n const value = formData[key]\n\n if (value && key !== '_csrf') {\n const fieldId = key.split('.')[1] // filters are prefixed with 'filters.'\n if (fieldId) {\n const filter = definitionUtils.getFilter(fields, fieldId)\n if (filter) {\n const { type: filterType } = filter\n switch (filterType.toLocaleLowerCase()) {\n // DATE RANGE TYPES\n case FilterType.date.toLocaleLowerCase():\n case FilterType.dateRange.toLocaleLowerCase():\n case FilterType.granularDateRange.toLocaleLowerCase():\n {\n let dateValue: string = <string>value\n const dateMapper = new DateMapper()\n const currentDateFormat = dateMapper.getDateType(dateValue)\n if (currentDateFormat !== 'none') {\n dateValue = dateMapper.toDateString(dateValue, 'iso') || ''\n }\n if (dateValue) {\n params.append(key, dateValue)\n }\n }\n break\n\n // MULTIVALUE TYPES: string[] || string if only one value selected\n case FilterType.multiselect.toLocaleLowerCase():\n if (Array.isArray(value)) {\n const multiselectValue = <string[]>value\n multiselectValue.forEach((v: string) => {\n params.append(key, v)\n })\n } else {\n params.append(key, <string>value)\n }\n break\n\n // OTHER TYPES - always a string\n default:\n params.append(key, <string>value)\n break\n }\n }\n } else if (Array.isArray(value)) {\n value.forEach((v: string) => {\n params.append(key, v)\n })\n } else {\n params.append(key, value)\n }\n }\n })\n\n const encodedFilters = params.toString()\n return decodeURIComponent(encodedFilters)\n}\n\nexport default {\n applyDashboardInteractiveQuery,\n applyReportInteractiveQuery,\n}\n"],
|
|
5
|
-
"mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,oCAAAE,EAAA,gCAAAC,EAAA,YAAAC,IAAA,eAAAC,EAAAL,GACA,IAAAM,EAA2B,0DAI3BC,EAAyB,0CACzBC,EAA4B,6CAC5BC,EAAuB,mDACvBC,EAAyB,qEAElB,MAAMP,EAA8B,MACzCQ,EACAC,EACAC,EACAC,IACG,CACH,KAAM,CAAE,SAAAC,EAAU,GAAAC,CAAG,EAAIL,EAAI,OACvB,CAAE,MAAAM,EAAO,gBAAAC,CAAgB,EAAI,EAAAC,QAAa,UAAUP,CAAG,EAKvDQ,GADJ,MAAMP,EAAS,iBAAiB,cAAcI,EAAOF,EAAUC,EAAIE,CAAe,GAC1D,QAAQ,eAAe,QAAU,CAAC,EAE5D,OAAOG,EAAsBV,EAAKC,EAAKC,EAAUC,EAAWM,CAAM,CACpE,EAEalB,EAAiC,MAC5CS,EACAC,EACAC,EACAC,IACG,CACH,KAAM,CAAE,SAAAC,EAAU,GAAAC,CAAG,EAAIL,EAAI,OACvB,CAAE,MAAAM,EAAO,gBAAAC,CAAgB,EAAI,EAAAC,QAAa,UAAUP,CAAG,EASvDQ,GAN2D,MAAMP,EAAS,iBAAiB,cAC/FI,EACAF,EACAC,EACAE,CACF,GAC0B,cAAgB,CAAC,EAE3C,OAAOG,EAAsBV,EAAKC,EAAKC,EAAUC,EAAWM,CAAM,CACpE,EAEMC,EAAwB,MAC5BV,EACAC,EACAC,EACAC,EACAM,IACG,CACH,KAAM,CAAE,QAAAE,EAAS,GAAAN,CAAG,EAAIL,EAAI,OACtB,CAAE,QAAAY,CAAQ,EAAI,EAAAJ,QAAa,UAAUP,CAAG,EAG9C,IAAIY,EACAF,EAEFE,EAAkB,MAAMX,EAAS,uBAAuB,mBAAmBS,EAASC,EAAQ,EAAE,EAG9FC,EAAkB,MAAMX,EAAS,uBAAuB,cAAcG,EAAIO,EAAQ,EAAE,EAItF,MAAME,EAAuBD,GAAiB,kBAAkB,KAE1DE,EAAiBD,GAAuB,eACxCE,EAAWF,GAAuB,SAClCG,
|
|
4
|
+
"sourcesContent": ["import { Request, Response } from 'express'\nimport { FilterType } from '../../../components/_filters/filter-input/enum'\nimport { components } from '../../../types/api'\nimport { StoredReportData } from '../../../types/UserReports'\nimport { Services } from '../../../types/Services'\nimport LocalsHelper from '../../../utils/localsHelper'\nimport definitionUtils from '../../../utils/definitionUtils'\nimport DateMapper from '../../../utils/DateMapper/DateMapper'\nimport ColumnsUtils from '../../../components/_reports/report-columns-form/utils'\n\nexport const applyReportInteractiveQuery = async (\n req: Request,\n res: Response,\n services: Services,\n applyType: 'columns' | 'filters',\n) => {\n const { reportId, id } = req.params\n const { token, definitionsPath } = LocalsHelper.getValues(res)\n\n // Get the definition\n const definition: components['schemas']['SingleVariantReportDefinition'] =\n await services.reportingService.getDefinition(token, reportId, id, definitionsPath)\n const fields = definition.variant.specification?.fields || []\n\n return applyInteractiveQuery(req, res, services, applyType, fields)\n}\n\nexport const applyDashboardInteractiveQuery = async (\n req: Request,\n res: Response,\n services: Services,\n applyType: 'columns' | 'filters',\n) => {\n const { reportId, id } = req.params\n const { token, definitionsPath } = LocalsHelper.getValues(res)\n\n // Get the definition\n const definition: components['schemas']['DashboardDefinition'] = await services.dashboardService.getDefinition(\n token,\n reportId,\n id,\n definitionsPath,\n )\n const fields = definition.filterFields || []\n\n return applyInteractiveQuery(req, res, services, applyType, fields)\n}\n\nconst applyInteractiveQuery = async (\n req: Request,\n res: Response,\n services: Services,\n applyType: 'columns' | 'filters',\n fields: components['schemas']['FieldDefinition'][],\n) => {\n const { tableId, id } = req.params\n const { dprUser } = LocalsHelper.getValues(res)\n\n // get the report state\n let reportStateData: StoredReportData | undefined\n if (tableId) {\n // means its an async report\n reportStateData = await services.recentlyViewedService?.getReportByTableId(tableId, dprUser.id)\n } else {\n // its a sync report and can be indentified by ID as will always only be 1\n reportStateData = await services.recentlyViewedService?.getReportById(id, dprUser.id)\n }\n\n // Get the stored interactive query data\n const interactiveQueryData = reportStateData?.interactiveQuery?.data\n\n const preventDefault = interactiveQueryData?.['preventDefault']\n const pageSize = interactiveQueryData?.['pageSize']\n const selectedPage = applyType === 'columns' ? interactiveQueryData?.['selectedPage'] : 1\n const sortColumn = interactiveQueryData?.['sortColumn']\n const sortedAsc = interactiveQueryData?.['sortedAsc']\n\n let filters = {}\n if (interactiveQueryData) {\n filters = Object.keys(interactiveQueryData)\n .filter((key) => key.includes('filters.'))\n .reduce((acc, key) => ({ ...acc, [key]: interactiveQueryData[key] }), {})\n }\n\n // Create merged form data\n let formData: Record<string, string | string[]> = {\n ...(preventDefault && { preventDefault }),\n ...(selectedPage && { selectedPage }),\n ...(pageSize && { pageSize }),\n ...(sortColumn && { sortColumn }),\n ...(sortedAsc && { sortedAsc }),\n ...req.body,\n }\n\n if (applyType === 'columns') {\n const { columns } = req.body\n const mandatoryCols = ColumnsUtils.mandatoryColumns(fields)\n\n let bodyColumns = []\n if (columns) {\n bodyColumns = Array.isArray(columns) ? columns : [columns]\n }\n const columnsData = [...mandatoryCols, ...bodyColumns]\n formData = { ...formData, columns: columnsData, ...filters }\n } else {\n const columns = interactiveQueryData?.['columns'] || []\n formData = { ...formData, columns }\n }\n\n // Create query string\n const filtersString = createQueryParamsFromFormData({\n formData,\n fields,\n })\n\n // Redirect back to report\n res.redirect(`${req.baseUrl}?${filtersString}`)\n}\n\nconst createQueryParamsFromFormData = ({\n formData,\n fields,\n}: {\n fields: components['schemas']['FieldDefinition'][]\n formData: Record<string, string | string[]>\n}) => {\n // create the query string\n const params = new URLSearchParams()\n Object.keys(formData).forEach((key) => {\n const value = formData[key]\n\n if (value && key !== '_csrf') {\n const fieldId = key.split('.')[1] // filters are prefixed with 'filters.'\n if (fieldId) {\n const filter = definitionUtils.getFilter(fields, fieldId)\n if (filter) {\n const { type: filterType } = filter\n switch (filterType.toLocaleLowerCase()) {\n // DATE RANGE TYPES\n case FilterType.date.toLocaleLowerCase():\n case FilterType.dateRange.toLocaleLowerCase():\n case FilterType.granularDateRange.toLocaleLowerCase():\n {\n let dateValue: string = <string>value\n const dateMapper = new DateMapper()\n const currentDateFormat = dateMapper.getDateType(dateValue)\n if (currentDateFormat !== 'none') {\n dateValue = dateMapper.toDateString(dateValue, 'iso') || ''\n }\n if (dateValue) {\n params.append(key, dateValue)\n }\n }\n break\n\n // MULTIVALUE TYPES: string[] || string if only one value selected\n case FilterType.multiselect.toLocaleLowerCase():\n if (Array.isArray(value)) {\n const multiselectValue = <string[]>value\n multiselectValue.forEach((v: string) => {\n params.append(key, v)\n })\n } else {\n params.append(key, <string>value)\n }\n break\n\n // OTHER TYPES - always a string\n default:\n params.append(key, <string>value)\n break\n }\n }\n } else if (Array.isArray(value)) {\n value.forEach((v: string) => {\n params.append(key, v)\n })\n } else {\n params.append(key, value)\n }\n }\n })\n\n const encodedFilters = params.toString()\n return decodeURIComponent(encodedFilters)\n}\n\nexport default {\n applyDashboardInteractiveQuery,\n applyReportInteractiveQuery,\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["utils_exports", "__export", "applyDashboardInteractiveQuery", "applyReportInteractiveQuery", "utils_default", "__toCommonJS", "import_enum", "import_localsHelper", "import_definitionUtils", "import_DateMapper", "import_utils", "req", "res", "services", "applyType", "reportId", "id", "token", "definitionsPath", "LocalsHelper", "fields", "applyInteractiveQuery", "tableId", "dprUser", "reportStateData", "interactiveQueryData", "preventDefault", "pageSize", "selectedPage", "sortColumn", "sortedAsc", "filters", "key", "acc", "formData", "columns", "mandatoryCols", "ColumnsUtils", "bodyColumns", "columnsData", "filtersString", "createQueryParamsFromFormData", "params", "value", "fieldId", "filter", "definitionUtils", "filterType", "dateValue", "dateMapper", "DateMapper", "v", "encodedFilters"]
|
|
7
7
|
}
|
|
@@ -71,7 +71,7 @@ const applyInteractiveQuery = async (
|
|
|
71
71
|
|
|
72
72
|
const preventDefault = interactiveQueryData?.['preventDefault']
|
|
73
73
|
const pageSize = interactiveQueryData?.['pageSize']
|
|
74
|
-
const selectedPage = interactiveQueryData?.['selectedPage']
|
|
74
|
+
const selectedPage = applyType === 'columns' ? interactiveQueryData?.['selectedPage'] : 1
|
|
75
75
|
const sortColumn = interactiveQueryData?.['sortColumn']
|
|
76
76
|
const sortedAsc = interactiveQueryData?.['sortedAsc']
|
|
77
77
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ministryofjustice/hmpps-digital-prison-reporting-frontend",
|
|
3
3
|
"description": "The Digital Prison Reporting Frontend contains templates and code to help display data effectively in UI applications.",
|
|
4
|
-
"version": "4.26.
|
|
4
|
+
"version": "4.26.2",
|
|
5
5
|
"main": "dpr/all.mjs",
|
|
6
6
|
"sass": "dpr/all.scss",
|
|
7
7
|
"engines": {
|