@ministryofjustice/hmpps-digital-prison-reporting-frontend 7.0.2 → 7.1.0

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.
Files changed (52) hide show
  1. package/all.bundle.js +21 -33
  2. package/all.bundle.js.map +1 -1
  3. package/all.js +21 -33
  4. package/all.js.map +1 -1
  5. package/cjs/dpr/components/_catalogue/catalogue-list/utils.js +2 -2
  6. package/cjs/dpr/components/_catalogue/catalogue-list/utils.js.map +1 -1
  7. package/cjs/dpr/components/truncate/utils.js +28 -0
  8. package/cjs/dpr/components/truncate/utils.js.map +1 -0
  9. package/cjs/dpr/setUpNunjucksFilters.js +33 -0
  10. package/cjs/dpr/setUpNunjucksFilters.js.map +1 -1
  11. package/cjs/dpr/utils/Dashboards/VisualisationDatasetHelper.js.map +1 -1
  12. package/cjs/dpr/utils/reportListsHelper.js +1 -1
  13. package/cjs/dpr/utils/reportListsHelper.js.map +1 -1
  14. package/dpr/all.scss +8 -32
  15. package/dpr/components/_async/request-details/view.njk +2 -2
  16. package/dpr/components/_catalogue/catalogue-list/utils.js +2 -2
  17. package/dpr/components/_catalogue/catalogue-list/utils.js.map +1 -1
  18. package/dpr/components/_dashboards/dashboard-section/view.njk +1 -1
  19. package/dpr/components/_dashboards/dashboard-visualisation/view.njk +1 -1
  20. package/dpr/components/_inputs/date-range/view.njk +12 -8
  21. package/dpr/components/_reports/report-heading/view.njk +1 -1
  22. package/dpr/components/_reports/report-page/report-template/report-totals/view.njk +2 -1
  23. package/dpr/components/my-reports/my-reports-list-help/view.njk +14 -14
  24. package/dpr/components/my-reports/my-reports-notification/view.njk +1 -1
  25. package/dpr/components/truncate/render.njk +3 -0
  26. package/dpr/components/truncate/utils.js +25 -0
  27. package/dpr/components/truncate/utils.js.map +1 -0
  28. package/dpr/components/truncate/view.njk +36 -0
  29. package/dpr/setUpNunjucksFilters.js +33 -0
  30. package/dpr/setUpNunjucksFilters.js.map +1 -1
  31. package/dpr/utils/Dashboards/VisualisationDatasetHelper.js.map +1 -1
  32. package/dpr/utils/reportListsHelper.js +1 -1
  33. package/dpr/utils/reportListsHelper.js.map +1 -1
  34. package/package.json +3 -1
  35. package/src/dpr/components/{show-more → truncate}/clientClass.d.ts +1 -3
  36. package/src/dpr/components/truncate/utils.d.ts +15 -0
  37. package/test-app/mocks/mockClients/dashboards/dashboard-definitions.d.ts +1 -0
  38. package/test-app/mocks/mockClients/dashboards/definitions/data-quality/visualisations/index.d.ts +4 -0
  39. package/test-app/mocks/mockClients/dashboards/definitions/data-quality/visualisations/scorecard-definitions.d.ts +13 -5
  40. package/test-app/mocks/mockClients/dashboards/definitions/test-dashboard/dashboard-definiton-1.d.ts +1 -0
  41. package/test-app/mocks/mockClients/dashboards/definitions/test-dashboard/index.d.ts +1 -0
  42. package/test-app/mocks/mockClients/dashboards/mock-client.d.ts +2 -0
  43. package/test-app/mocks/mockClients/reports/mockReportDefinition.d.ts +1 -0
  44. package/test-app/mocks/mockClients/reports/mockReportingClient.d.ts +2 -0
  45. package/test-app/routes/components/truncate/controller.d.ts +4 -0
  46. package/test-app/routes/components/truncate/routes.d.ts +2 -0
  47. package/cjs/dpr/components/show-more/utils.js +0 -18
  48. package/cjs/dpr/components/show-more/utils.js.map +0 -1
  49. package/dpr/components/show-more/utils.js +0 -13
  50. package/dpr/components/show-more/utils.js.map +0 -1
  51. package/dpr/components/show-more/view.njk +0 -5
  52. package/src/dpr/components/show-more/utils.d.ts +0 -5
package/all.bundle.js CHANGED
@@ -182,47 +182,35 @@ class BookmarkButton extends DprClientClass {
182
182
  }
183
183
  }
184
184
 
185
- class ShowMore extends DprClientClass {
185
+ class dprTruncate extends DprClientClass {
186
186
  static getModuleName() {
187
- return 'show-more';
187
+ return 'dpr-truncate';
188
188
  }
189
189
  initialise() {
190
190
  this.initShowMore();
191
191
  }
192
192
  initShowMore() {
193
- const element = this.getElement();
194
- const textContainer = element.querySelector('.dpr-show-more-content');
195
- const button = element.querySelector('.dpr-show-hide-button');
196
- const textContent = element.getAttribute('data-content') ?? '';
197
- const length = Number(element.getAttribute('data-length')) || 200;
198
- const shortString = textContent.replaceAll(/<[^>]+>/g, '').substring(0, length);
199
- if (textContent.length > length) {
200
- if (textContainer) {
201
- textContainer.innerHTML = `${shortString}... `;
202
- }
203
- }
204
- else {
205
- if (textContainer) {
206
- textContainer.innerHTML = `${textContent}`;
207
- }
208
- if (button) {
209
- button.style.display = 'none';
210
- }
193
+ const container = this.getElement();
194
+ const content = container.querySelector('.js-content');
195
+ const button = container.querySelector('.js-show-more');
196
+ if (!content || !button) {
197
+ return;
211
198
  }
212
- button?.addEventListener('click', event => {
213
- event.preventDefault();
214
- if (button.innerHTML === 'show more') {
215
- if (textContainer) {
216
- textContainer.innerHTML = `${textContent} `;
217
- }
218
- button.innerHTML = 'show less';
199
+ const fullHtml = content.dataset['fullHtml'] ?? '';
200
+ const truncatedHtml = content.dataset['truncatedHtml'] ?? '';
201
+ button.addEventListener('click', () => {
202
+ const expanded = container.dataset['expanded'] === 'true';
203
+ if (expanded) {
204
+ content.innerHTML = truncatedHtml;
205
+ button.textContent = 'Show more';
206
+ button.setAttribute('aria-expanded', String(!expanded));
219
207
  }
220
- else if (button.innerHTML === 'show less') {
221
- if (textContainer) {
222
- textContainer.innerHTML = `${shortString}... `;
223
- }
224
- button.innerHTML = 'show more';
208
+ else {
209
+ content.innerHTML = fullHtml;
210
+ button.textContent = 'Show less';
211
+ button.setAttribute('aria-expanded', String(!expanded));
225
212
  }
213
+ container.dataset['expanded'] = String(!expanded);
226
214
  });
227
215
  }
228
216
  }
@@ -19324,7 +19312,7 @@ function initAll() {
19324
19312
  BookmarkButton,
19325
19313
  DateInput,
19326
19314
  DateRangeInput,
19327
- ShowMore,
19315
+ dprTruncate,
19328
19316
  BarChartVisualisation,
19329
19317
  DoughnutChartVisualisation,
19330
19318
  LineChartVisualisation,