@ministryofjustice/hmpps-digital-prison-reporting-frontend 4.15.4 → 4.16.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/dpr/components/_async/async-filters-form/view.njk +2 -2
- package/dpr/components/_catalogue/catalogue-list/utils.test.ts +1 -1
- package/dpr/components/_charts/chart/Buckets.js +2 -0
- package/dpr/components/_charts/chart/Buckets.js.map +7 -0
- package/dpr/components/_charts/chart/Buckets.ts +198 -0
- package/dpr/components/_charts/chart/DashboardVisualisation.js +2 -0
- package/dpr/components/_charts/chart/DashboardVisualisation.js.map +7 -0
- package/dpr/components/_charts/chart/DashboardVisualisation.ts +43 -0
- package/dpr/components/_charts/chart/heatmap/HeatmapChart.js +2 -0
- package/dpr/components/_charts/chart/heatmap/HeatmapChart.js.map +7 -0
- package/dpr/components/_charts/chart/heatmap/HeatmapChart.ts +144 -0
- package/dpr/components/_charts/utils.js +1 -1
- package/dpr/components/_charts/utils.js.map +3 -3
- package/dpr/components/_charts/utils.ts +1 -1
- package/dpr/components/_dashboards/dashboard/types.js.map +1 -1
- package/dpr/components/_dashboards/dashboard/types.ts +4 -4
- package/dpr/components/_dashboards/scorecard/Scorecard.js +2 -0
- package/dpr/components/_dashboards/scorecard/Scorecard.js.map +7 -0
- package/dpr/components/_dashboards/scorecard/Scorecard.ts +315 -0
- package/dpr/components/_dashboards/scorecard/types.js +1 -1
- package/dpr/components/_dashboards/scorecard/types.js.map +1 -1
- package/dpr/components/_dashboards/scorecard/types.ts +20 -1
- package/dpr/components/_dashboards/scorecard/utils.js +1 -1
- package/dpr/components/_dashboards/scorecard/utils.js.map +3 -3
- package/dpr/components/_dashboards/scorecard/utils.test.ts +8 -437
- package/dpr/components/_dashboards/scorecard/utils.ts +2 -265
- package/dpr/components/_dashboards/scorecard/view.njk +2 -2
- package/dpr/components/_filters/types.d.js.map +1 -1
- package/dpr/components/_filters/types.d.ts +1 -0
- package/dpr/components/_filters/utils.js +1 -1
- package/dpr/components/_filters/utils.js.map +3 -3
- package/dpr/components/_filters/utils.ts +17 -12
- package/dpr/routes/journeys/request-report/filters/tests.cy.js +1 -1
- package/dpr/routes/journeys/request-report/filters/tests.cy.js.map +3 -3
- package/dpr/routes/journeys/request-report/filters/tests.cy.ts +40 -0
- package/dpr/routes/journeys/view-report/async/dashboard/utils.js +1 -1
- package/dpr/routes/journeys/view-report/async/dashboard/utils.js.map +3 -3
- package/dpr/routes/journeys/view-report/async/dashboard/utils.ts +3 -2
- package/dpr/types/api.d.js.map +1 -1
- package/dpr/types/api.d.ts +2 -0
- package/dpr/utils/datasetHelper.js +1 -1
- package/dpr/utils/datasetHelper.js.map +2 -2
- package/dpr/utils/datasetHelper.ts +1 -1
- package/package.json +1 -1
- package/dpr/components/_charts/chart/heatmap/Heatmap.js +0 -2
- package/dpr/components/_charts/chart/heatmap/Heatmap.js.map +0 -7
- package/dpr/components/_charts/chart/heatmap/Heatmap.ts +0 -278
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../src/dpr/routes/journeys/request-report/filters/tests.cy.ts"],
|
|
4
|
-
"sourcesContent": ["describe('Request a report', () => {\n const path = '/embedded/platform/dpr/request-report/report/request-examples/request-example-success/filters'\n let field2: Cypress.Chainable<JQuery<HTMLElement>>\n let field3Start: Cypress.Chainable<JQuery<HTMLElement>>\n let field3End: Cypress.Chainable<JQuery<HTMLElement>>\n let field4: Cypress.Chainable<JQuery<HTMLElement>>\n let field5: Cypress.Chainable<JQuery<HTMLElement>>\n let field6: Cypress.Chainable<JQuery<HTMLElement>>\n let field7: Cypress.Chainable<JQuery<HTMLElement>>\n\n const clearSelectedFilters = () => {\n for (let index = 0; index < 5; index += 1) {\n const selectedFilter = cy.get('#dpr-selected-filters > a:nth-child(1)')\n selectedFilter.click(1, 1)\n }\n }\n\n const updateFilterValues = () => {\n cy.findByRole('combobox', { name: 'Field 2' }).select('value2.2')\n cy.findByRole('textbox', { name: 'From' }).type('1/2/2003')\n cy.findByRole('textbox', { name: 'To' }).type('4/5/2007')\n cy.findByRole('combobox', { name: 'Field 4' }).type('Inigo Montoya')\n cy.findByRole('textbox', { name: 'Field 6' }).type('Value 6.1')\n cy.findByRole('textbox', { name: 'Field 7' }).type('05/05/2005')\n // multiselect\n cy.findByRole('checkbox', { name: 'Value 8.1' }).check()\n cy.findByRole('checkbox', { name: 'Value 8.2' }).check()\n cy.findByRole('checkbox', { name: 'Value 8.3' }).check()\n cy.findByRole('checkbox', { name: 'Value 8.4' }).check()\n }\n\n before(() => {\n cy.task('resetStubs')\n cy.task('resetRedis')\n cy.task('stubDefinitions')\n cy.task('stubDefinitionRequestExamplesSuccess')\n cy.task('stubViewAsyncReportingResults')\n cy.task('stubReportsFinishedStatus')\n cy.task('stubRequestSuccessResult20')\n cy.task('stubRequestSuccessReportTablesCount')\n })\n\n beforeEach(() => {\n cy.visit(path)\n\n field2 = cy.findByRole('combobox', { name: 'Field 2' })\n field3Start = cy.findByRole('textbox', { name: 'From' })\n field3End = cy.findByRole('textbox', { name: 'To' })\n field4 = cy.findByRole('combobox', { name: 'Field 4' })\n field5 = cy.findByRole('combobox', { name: 'Field 5' })\n field6 = cy.findByRole('textbox', { name: 'Field 6' })\n field7 = cy.findByRole('textbox', { name: 'Field 7' })\n })\n\n it('is accessible', () => {\n cy.injectAxe()\n cy.checkA11y()\n })\n\n context('Selected filters', () => {\n it('should show the default selected filters', () => {\n cy.findByLabelText(/Selected filters.*/i).within(() => {\n cy.findAllByRole('link')\n .should('have.length', 6)\n .each((filter, index) => {\n switch (index) {\n case 0:\n cy.wrap(filter).contains('Field 1')\n cy.wrap(filter).contains('Value 1.2')\n break\n case 1:\n cy.wrap(filter).contains('Field 3 start')\n cy.wrap(filter).contains('01/02/2003')\n break\n case 2:\n cy.wrap(filter).contains('Field 3 end')\n cy.wrap(filter).contains('04/05/2006')\n break\n case 3:\n cy.wrap(filter).contains('Field 7')\n cy.wrap(filter).contains('01/02/2005')\n break\n case 4:\n cy.wrap(filter).contains('Field 8')\n cy.wrap(filter).contains('Value 8.2, Value 8.3')\n break\n case 5:\n cy.wrap(filter).contains('Reset filters')\n break\n default:\n break\n }\n })\n })\n })\n\n it('should remove the selected filter and reset the input', () => {\n cy.findByLabelText(/Selected filters.*/i).within(() => {\n cy.findAllByRole('link').should('have.length', 6)\n })\n clearSelectedFilters()\n cy.findByLabelText(/Selected filters.*/i).within(() => {\n cy.findAllByRole('link').should('have.length', 1)\n })\n\n cy.findByRole('radio', { name: 'None' }).should('not.be.checked')\n cy.findByRole('radio', { name: 'Value 1.1' }).should('not.be.checked')\n cy.findByRole('radio', { name: 'Value 1.2' }).should('not.be.checked')\n cy.findByRole('radio', { name: 'Value 1.3' }).should('not.be.checked')\n field2.find('option:selected').should('have.text', 'Select your option')\n field3Start.should('have.value', '')\n field3End.should('have.value', '')\n field4.should('have.value', '')\n field5.should('have.value', '')\n field6.should('have.value', '')\n field7.should('have.value', '')\n })\n\n it('should add selected filters when inputs values are updated', () => {\n clearSelectedFilters()\n cy.findByLabelText(/Selected filters.*/i).within(() => {\n cy.findAllByRole('link').should('have.length', 1)\n })\n\n updateFilterValues()\n cy.findByLabelText(/Selected filters.*/i).within(() => {\n cy.findAllByRole('link')\n .should('have.length', 8)\n .each((filter, index) => {\n switch (index) {\n case 0:\n cy.wrap(filter).contains('Field 2')\n cy.wrap(filter).contains('Value 2.2')\n break\n case 1:\n cy.wrap(filter).contains('Field 3 start')\n cy.wrap(filter).contains('01/02/2003')\n break\n case 2:\n cy.wrap(filter).contains('Field 3 end')\n cy.wrap(filter).contains('4/5/2007')\n break\n case 3:\n cy.wrap(filter).contains('Field 4')\n cy.wrap(filter).contains('Inigo Montoya')\n break\n case 4:\n cy.wrap(filter).contains('Field 6')\n cy.wrap(filter).contains('Value 6.1')\n break\n case 5:\n cy.wrap(filter).contains('Field 7')\n cy.wrap(filter).contains('05/05/2005')\n break\n case 6:\n cy.wrap(filter).contains('Field 8')\n cy.wrap(filter).contains('Value 8.1, Value 8.2, Value 8.3 + 1 more')\n break\n default:\n break\n }\n })\n })\n\n cy.location().should((location) => {\n expect(location.search).to.contain(`filters.field2=value2.2`)\n expect(location.search).to.contain(`filters.field3.start=2003-02-01`)\n expect(location.search).to.contain(`filters.field3.end=2007-05-04`)\n expect(location.search).to.contain(`filters.field4=Inigo+Montoya`)\n expect(location.search).to.contain(`filters.field6=Value+6.1`)\n expect(location.search).to.contain(`filters.field7=2005-05-05`)\n })\n })\n\n it('should reset the filters back to their DPD defaults', () => {\n cy.findByLabelText(/Selected filters.*/i).within(() => {\n cy.findAllByRole('link').should('have.length', 6)\n })\n clearSelectedFilters()\n\n cy.findByLabelText(/Selected filters.*/i).within(() => {\n cy.findAllByRole('link').should('have.length', 1)\n })\n\n cy.findByRole('link', { name: 'Reset filters' }).click()\n\n cy.findByLabelText(/Selected filters.*/i).within(() => {\n cy.findAllByRole('link').should('have.length', 6)\n })\n })\n })\n\n context('Request query parameters', () => {\n it('should correctly set the request query parameters from DPD defaults', () => {\n cy.location().should((location) => {\n expect(location.search).to.contain(`filters.field1=value1.2`)\n expect(location.search).to.contain(`filters.field3.start=2003-02-01`)\n expect(location.search).to.contain(`filters.field3.end=2006-05-04`)\n expect(location.search).to.contain(`filters.field7=2005-02-01`)\n expect(location.search).to.contain(`filters.field8=value8.2&filters.field8=value8.3`)\n })\n\n clearSelectedFilters()\n updateFilterValues()\n\n cy.location().should((location) => {\n expect(location.search).to.contain(`filters.field2=value2.2`)\n expect(location.search).to.contain(`filters.field3.start=2003-02-01`)\n expect(location.search).to.contain(`filters.field3.end=2007-05-04`)\n expect(location.search).to.contain(`filters.field4=Inigo+Montoya`)\n expect(location.search).to.contain(`filters.field6=Value+6.1`)\n expect(location.search).to.contain(`filters.field7=2005-05-05`)\n expect(location.search).to.contain(\n `filters.field8=value8.1&filters.field8=value8.2&filters.field8=value8.3&filters.field8=value8.4`,\n )\n })\n })\n\n it('should correctly set the request query parameters when inputs are updated', () => {\n clearSelectedFilters()\n updateFilterValues()\n\n cy.location().should((location) => {\n expect(location.search).to.contain(`filters.field2=value2.2`)\n expect(location.search).to.contain(`filters.field3.start=2003-02-01`)\n expect(location.search).to.contain(`filters.field3.end=2007-05-04`)\n expect(location.search).to.contain(`filters.field4=Inigo+Montoya`)\n expect(location.search).to.contain(`filters.field6=Value+6.1`)\n expect(location.search).to.contain(`filters.field7=2005-05-05`)\n expect(location.search).to.contain(\n `filters.field8=value8.1&filters.field8=value8.2&filters.field8=value8.3&filters.field8=value8.4`,\n )\n })\n })\n })\n\n context('User defined defaults', () => {\n it('should save the user defined defaults', () => {\n clearSelectedFilters()\n updateFilterValues()\n\n cy.findByRole('button', { name: 'Save current filter values as defaults' }).click()\n\n cy.location().should((location) => {\n expect(location.search).to.contain('defaultsSaved=true')\n })\n\n cy.findByRole('button', { name: 'Update defaults' }).should('exist')\n cy.findByRole('button', { name: 'Delete defaults' }).should('exist')\n })\n\n it('should pre-fill the filter values with the saved defaults next visit', () => {\n cy.location().should((location) => {\n expect(location.search).to.contain(`filters.field2=value2.2`)\n expect(location.search).to.contain(`filters.field3.start=2003-02-01`)\n expect(location.search).to.contain(`filters.field3.end=2007-05-04`)\n expect(location.search).to.contain(`filters.field4=Inigo+Montoya`)\n expect(location.search).to.contain(`filters.field6=Value+6.1`)\n expect(location.search).to.contain(`filters.field7=2005-05-05`)\n expect(location.search).not.to.contain(`defaultsSaved=true`)\n expect(location.search).to.contain(\n `filters.field8=value8.1&filters.field8=value8.2&filters.field8=value8.3&filters.field8=value8.4`,\n )\n })\n\n cy.findByRole('button', { name: 'Update defaults' }).should('exist')\n cy.findByRole('button', { name: 'Delete defaults' }).should('exist')\n })\n\n it('should update the saved defaults', () => {\n cy.findByLabelText(/Selected filters.*/i).within(() => {\n cy.findAllByRole('link').eq(1).click(1, 1)\n cy.findAllByRole('link').eq(1).click(1, 1)\n cy.findAllByRole('link').eq(1).click(1, 1)\n })\n\n cy.findByRole('checkbox', { name: 'Value 8.2' }).uncheck()\n cy.findByRole('checkbox', { name: 'Value 8.3' }).uncheck()\n cy.findByRole('combobox', { name: 'Field 2' }).select('value2.3')\n\n cy.findByRole('button', { name: 'Update defaults' }).click()\n\n cy.findByLabelText(/Selected filters.*/i).within(() => {\n cy.findAllByRole('link').should('have.length', 5)\n })\n\n cy.location().should((location) => {\n expect(location.search).to.contain(`filters.field2=value2.3`)\n expect(location.search).not.to.contain(`filters.field3.start=2003-02-01`)\n expect(location.search).not.to.contain(`filters.field3.end=2007-05-04`)\n expect(location.search).to.contain(`filters.field6=Value+6.1`)\n expect(location.search).to.contain(`filters.field7=2005-05-05`)\n expect(location.search).to.contain(`defaultsSaved=true`)\n expect(location.search).not.to.contain(`filters.field4=Inigo+Montoya`)\n expect(location.search).not.to.contain(\n `filters.field8=value8.1&filters.field8=value8.2&filters.field8=value8.3&filters.field8=value8.4`,\n )\n expect(location.search).to.contain(`&filters.field8=value8.1&filters.field8=value8.4`)\n })\n\n cy.reload()\n\n cy.location().should((location) => {\n expect(location.search).to.contain(`filters.field2=value2.3`)\n expect(location.search).to.contain(`filters.field3.start=2003-02-01`)\n expect(location.search).to.contain(`filters.field3.end=2007-05-04`)\n expect(location.search).to.contain(`filters.field6=Value+6.1`)\n expect(location.search).to.contain(`filters.field7=2005-05-05`)\n expect(location.search).to.contain(`defaultsSaved=true`)\n expect(location.search).not.to.contain(`filters.field4=Inigo+Montoya`)\n expect(location.search).not.to.contain(\n `filters.field8=value8.1&filters.field8=value8.2&filters.field8=value8.3&filters.field8=value8.4`,\n )\n expect(location.search).to.contain(`&filters.field8=value8.1&filters.field8=value8.4`)\n })\n })\n\n it('should reset the defaults back to the user saved defaults', () => {\n cy.findByLabelText(/Selected filters.*/i).within(() => {\n cy.findAllByRole('link').eq(1).click(1, 1)\n cy.findAllByRole('link').eq(1).click(1, 1)\n cy.findAllByRole('link').eq(1).click(1, 1)\n })\n\n cy.findByLabelText(/Selected filters.*/i).within(() => {\n cy.findAllByRole('link').should('have.length', 2)\n })\n\n cy.findByRole('link', { name: 'Reset filters' }).click()\n\n cy.findByLabelText(/Selected filters.*/i).within(() => {\n cy.findAllByRole('link').should('have.length', 5)\n })\n })\n\n it('should remove the save defaults', () => {\n cy.findByRole('button', { name: 'Delete defaults' }).click()\n\n cy.location().should((location) => {\n expect(location.search).to.contain(`filters.field1=value1.2`)\n expect(location.search).to.contain(`filters.field3.start=2003-02-01`)\n expect(location.search).to.contain(`filters.field3.end=2006-05-04`)\n expect(location.search).to.contain(`filters.field7=2005-02-01`)\n expect(location.search).to.contain(`filters.field8=value8.2&filters.field8=value8.3`)\n })\n })\n })\n\n context('Submission', () => {\n it('should submit the report details in the request', () => {\n cy.intercept({\n method: 'POST',\n url: '/embedded/platform/dpr/request-report/report/**/**/filters?**',\n }).as('requestSubmit')\n\n cy.findByRole('button', { name: /Request/ }).click()\n\n cy.wait('@requestSubmit')\n .its('request')\n .then((request) => {\n cy.wrap(request).its('body').should('include', 'reportId=request-examples')\n cy.wrap(request).its('body').should('include', 'name=Successful+Report')\n cy.wrap(request).its('body').should('include', 'reportName=Successful+Report')\n cy.wrap(request).its('body').should('include', 'id=request-example-success')\n })\n })\n\n it('should submit the request with the correct query params', () => {\n cy.intercept({\n method: 'POST',\n url: '/embedded/platform/dpr/request-report/report/**/**/filters?**',\n }).as('requestSubmit')\n\n cy.findByRole('button', { name: /Request/ }).click()\n\n cy.wait('@requestSubmit')\n .its('request')\n .then((request) => {\n expect(request.query).to.have.property('filters.field1', 'value1.2')\n expect(request.query).to.have.property('filters.field3.end', '2006-05-04')\n expect(request.query).to.have.property('filters.field3.start', '2003-02-01')\n expect(request.query).to.have.property('filters.field7', '2005-02-01')\n expect(request.query).to.have.property('filters.field8')\n cy.wrap(request.query['filters.field8']).should('deep.eq', ['value8.2', 'value8.3'])\n expect(request.query).to.have.property('sortColumn', 'field1')\n expect(request.query).to.have.property('sortedAsc', 'false')\n })\n })\n })\n})\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["path", "field2", "field3Start", "field3End", "field4", "field5", "field6", "field7", "clearSelectedFilters", "index", "updateFilterValues", "filter", "location", "request"]
|
|
4
|
+
"sourcesContent": ["describe('Request a report', () => {\n const path = '/embedded/platform/dpr/request-report/report/request-examples/request-example-success/filters'\n const orderPath = '/embedded/platform/dpr/request-report/report/feature-testing/feature-testing-filter-order/filters'\n let field2: Cypress.Chainable<JQuery<HTMLElement>>\n let field3Start: Cypress.Chainable<JQuery<HTMLElement>>\n let field3End: Cypress.Chainable<JQuery<HTMLElement>>\n let field4: Cypress.Chainable<JQuery<HTMLElement>>\n let field5: Cypress.Chainable<JQuery<HTMLElement>>\n let field6: Cypress.Chainable<JQuery<HTMLElement>>\n let field7: Cypress.Chainable<JQuery<HTMLElement>>\n\n const clearSelectedFilters = () => {\n for (let index = 0; index < 5; index += 1) {\n const selectedFilter = cy.get('#dpr-selected-filters > a:nth-child(1)')\n selectedFilter.click(1, 1)\n }\n }\n\n const updateFilterValues = () => {\n cy.findByRole('combobox', { name: 'Field 2' }).select('value2.2')\n cy.findByRole('textbox', { name: 'From' }).type('1/2/2003')\n cy.findByRole('textbox', { name: 'To' }).type('4/5/2007')\n cy.findByRole('combobox', { name: 'Field 4' }).type('Inigo Montoya')\n cy.findByRole('textbox', { name: 'Field 6' }).type('Value 6.1')\n cy.findByRole('textbox', { name: 'Field 7' }).type('05/05/2005')\n // multiselect\n cy.findByRole('checkbox', { name: 'Value 8.1' }).check()\n cy.findByRole('checkbox', { name: 'Value 8.2' }).check()\n cy.findByRole('checkbox', { name: 'Value 8.3' }).check()\n cy.findByRole('checkbox', { name: 'Value 8.4' }).check()\n }\n\n before(() => {\n cy.task('resetStubs')\n cy.task('resetRedis')\n cy.task('stubDefinitions')\n cy.task('stubDefinitionRequestExamplesSuccess')\n cy.task('stubViewAsyncReportingResults')\n cy.task('stubReportsFinishedStatus')\n cy.task('stubRequestSuccessResult20')\n cy.task('stubRequestSuccessReportTablesCount')\n cy.task('stubDefinitionOrderFilters')\n })\n\n beforeEach(() => {\n cy.visit(path)\n\n field2 = cy.findByRole('combobox', { name: 'Field 2' })\n field3Start = cy.findByRole('textbox', { name: 'From' })\n field3End = cy.findByRole('textbox', { name: 'To' })\n field4 = cy.findByRole('combobox', { name: 'Field 4' })\n field5 = cy.findByRole('combobox', { name: 'Field 5' })\n field6 = cy.findByRole('textbox', { name: 'Field 6' })\n field7 = cy.findByRole('textbox', { name: 'Field 7' })\n })\n\n it('is accessible', () => {\n cy.injectAxe()\n cy.checkA11y()\n })\n\n context('Selected filters', () => {\n it('should show the default selected filters', () => {\n cy.findByLabelText(/Selected filters.*/i).within(() => {\n cy.findAllByRole('link')\n .should('have.length', 6)\n .each((filter, index) => {\n switch (index) {\n case 0:\n cy.wrap(filter).contains('Field 1')\n cy.wrap(filter).contains('Value 1.2')\n break\n case 1:\n cy.wrap(filter).contains('Field 3 start')\n cy.wrap(filter).contains('01/02/2003')\n break\n case 2:\n cy.wrap(filter).contains('Field 3 end')\n cy.wrap(filter).contains('04/05/2006')\n break\n case 3:\n cy.wrap(filter).contains('Field 7')\n cy.wrap(filter).contains('01/02/2005')\n break\n case 4:\n cy.wrap(filter).contains('Field 8')\n cy.wrap(filter).contains('Value 8.2, Value 8.3')\n break\n case 5:\n cy.wrap(filter).contains('Reset filters')\n break\n default:\n break\n }\n })\n })\n })\n\n it('should remove the selected filter and reset the input', () => {\n cy.findByLabelText(/Selected filters.*/i).within(() => {\n cy.findAllByRole('link').should('have.length', 6)\n })\n clearSelectedFilters()\n cy.findByLabelText(/Selected filters.*/i).within(() => {\n cy.findAllByRole('link').should('have.length', 1)\n })\n\n cy.findByRole('radio', { name: 'None' }).should('not.be.checked')\n cy.findByRole('radio', { name: 'Value 1.1' }).should('not.be.checked')\n cy.findByRole('radio', { name: 'Value 1.2' }).should('not.be.checked')\n cy.findByRole('radio', { name: 'Value 1.3' }).should('not.be.checked')\n field2.find('option:selected').should('have.text', 'Select your option')\n field3Start.should('have.value', '')\n field3End.should('have.value', '')\n field4.should('have.value', '')\n field5.should('have.value', '')\n field6.should('have.value', '')\n field7.should('have.value', '')\n })\n\n it('should add selected filters when inputs values are updated', () => {\n clearSelectedFilters()\n cy.findByLabelText(/Selected filters.*/i).within(() => {\n cy.findAllByRole('link').should('have.length', 1)\n })\n\n updateFilterValues()\n cy.findByLabelText(/Selected filters.*/i).within(() => {\n cy.findAllByRole('link')\n .should('have.length', 8)\n .each((filter, index) => {\n switch (index) {\n case 0:\n cy.wrap(filter).contains('Field 2')\n cy.wrap(filter).contains('Value 2.2')\n break\n case 1:\n cy.wrap(filter).contains('Field 3 start')\n cy.wrap(filter).contains('01/02/2003')\n break\n case 2:\n cy.wrap(filter).contains('Field 3 end')\n cy.wrap(filter).contains('4/5/2007')\n break\n case 3:\n cy.wrap(filter).contains('Field 4')\n cy.wrap(filter).contains('Inigo Montoya')\n break\n case 4:\n cy.wrap(filter).contains('Field 6')\n cy.wrap(filter).contains('Value 6.1')\n break\n case 5:\n cy.wrap(filter).contains('Field 7')\n cy.wrap(filter).contains('05/05/2005')\n break\n case 6:\n cy.wrap(filter).contains('Field 8')\n cy.wrap(filter).contains('Value 8.1, Value 8.2, Value 8.3 + 1 more')\n break\n default:\n break\n }\n })\n })\n\n cy.location().should((location) => {\n expect(location.search).to.contain(`filters.field2=value2.2`)\n expect(location.search).to.contain(`filters.field3.start=2003-02-01`)\n expect(location.search).to.contain(`filters.field3.end=2007-05-04`)\n expect(location.search).to.contain(`filters.field4=Inigo+Montoya`)\n expect(location.search).to.contain(`filters.field6=Value+6.1`)\n expect(location.search).to.contain(`filters.field7=2005-05-05`)\n })\n })\n\n it('should reset the filters back to their DPD defaults', () => {\n cy.findByLabelText(/Selected filters.*/i).within(() => {\n cy.findAllByRole('link').should('have.length', 6)\n })\n clearSelectedFilters()\n\n cy.findByLabelText(/Selected filters.*/i).within(() => {\n cy.findAllByRole('link').should('have.length', 1)\n })\n\n cy.findByRole('link', { name: 'Reset filters' }).click()\n\n cy.findByLabelText(/Selected filters.*/i).within(() => {\n cy.findAllByRole('link').should('have.length', 6)\n })\n })\n })\n\n context('Request query parameters', () => {\n it('should correctly set the request query parameters from DPD defaults', () => {\n cy.location().should((location) => {\n expect(location.search).to.contain(`filters.field1=value1.2`)\n expect(location.search).to.contain(`filters.field3.start=2003-02-01`)\n expect(location.search).to.contain(`filters.field3.end=2006-05-04`)\n expect(location.search).to.contain(`filters.field7=2005-02-01`)\n expect(location.search).to.contain(`filters.field8=value8.2&filters.field8=value8.3`)\n })\n\n clearSelectedFilters()\n updateFilterValues()\n\n cy.location().should((location) => {\n expect(location.search).to.contain(`filters.field2=value2.2`)\n expect(location.search).to.contain(`filters.field3.start=2003-02-01`)\n expect(location.search).to.contain(`filters.field3.end=2007-05-04`)\n expect(location.search).to.contain(`filters.field4=Inigo+Montoya`)\n expect(location.search).to.contain(`filters.field6=Value+6.1`)\n expect(location.search).to.contain(`filters.field7=2005-05-05`)\n expect(location.search).to.contain(\n `filters.field8=value8.1&filters.field8=value8.2&filters.field8=value8.3&filters.field8=value8.4`,\n )\n })\n })\n\n it('should correctly set the request query parameters when inputs are updated', () => {\n clearSelectedFilters()\n updateFilterValues()\n\n cy.location().should((location) => {\n expect(location.search).to.contain(`filters.field2=value2.2`)\n expect(location.search).to.contain(`filters.field3.start=2003-02-01`)\n expect(location.search).to.contain(`filters.field3.end=2007-05-04`)\n expect(location.search).to.contain(`filters.field4=Inigo+Montoya`)\n expect(location.search).to.contain(`filters.field6=Value+6.1`)\n expect(location.search).to.contain(`filters.field7=2005-05-05`)\n expect(location.search).to.contain(\n `filters.field8=value8.1&filters.field8=value8.2&filters.field8=value8.3&filters.field8=value8.4`,\n )\n })\n })\n })\n\n context('User defined defaults', () => {\n it('should save the user defined defaults', () => {\n clearSelectedFilters()\n updateFilterValues()\n\n cy.findByRole('button', { name: 'Save current filter values as defaults' }).click()\n\n cy.location().should((location) => {\n expect(location.search).to.contain('defaultsSaved=true')\n })\n\n cy.findByRole('button', { name: 'Update defaults' }).should('exist')\n cy.findByRole('button', { name: 'Delete defaults' }).should('exist')\n })\n\n it('should pre-fill the filter values with the saved defaults next visit', () => {\n cy.location().should((location) => {\n expect(location.search).to.contain(`filters.field2=value2.2`)\n expect(location.search).to.contain(`filters.field3.start=2003-02-01`)\n expect(location.search).to.contain(`filters.field3.end=2007-05-04`)\n expect(location.search).to.contain(`filters.field4=Inigo+Montoya`)\n expect(location.search).to.contain(`filters.field6=Value+6.1`)\n expect(location.search).to.contain(`filters.field7=2005-05-05`)\n expect(location.search).not.to.contain(`defaultsSaved=true`)\n expect(location.search).to.contain(\n `filters.field8=value8.1&filters.field8=value8.2&filters.field8=value8.3&filters.field8=value8.4`,\n )\n })\n\n cy.findByRole('button', { name: 'Update defaults' }).should('exist')\n cy.findByRole('button', { name: 'Delete defaults' }).should('exist')\n })\n\n it('should update the saved defaults', () => {\n cy.findByLabelText(/Selected filters.*/i).within(() => {\n cy.findAllByRole('link').eq(1).click(1, 1)\n cy.findAllByRole('link').eq(1).click(1, 1)\n cy.findAllByRole('link').eq(1).click(1, 1)\n })\n\n cy.findByRole('checkbox', { name: 'Value 8.2' }).uncheck()\n cy.findByRole('checkbox', { name: 'Value 8.3' }).uncheck()\n cy.findByRole('combobox', { name: 'Field 2' }).select('value2.3')\n\n cy.findByRole('button', { name: 'Update defaults' }).click()\n\n cy.findByLabelText(/Selected filters.*/i).within(() => {\n cy.findAllByRole('link').should('have.length', 5)\n })\n\n cy.location().should((location) => {\n expect(location.search).to.contain(`filters.field2=value2.3`)\n expect(location.search).not.to.contain(`filters.field3.start=2003-02-01`)\n expect(location.search).not.to.contain(`filters.field3.end=2007-05-04`)\n expect(location.search).to.contain(`filters.field6=Value+6.1`)\n expect(location.search).to.contain(`filters.field7=2005-05-05`)\n expect(location.search).to.contain(`defaultsSaved=true`)\n expect(location.search).not.to.contain(`filters.field4=Inigo+Montoya`)\n expect(location.search).not.to.contain(\n `filters.field8=value8.1&filters.field8=value8.2&filters.field8=value8.3&filters.field8=value8.4`,\n )\n expect(location.search).to.contain(`&filters.field8=value8.1&filters.field8=value8.4`)\n })\n\n cy.reload()\n\n cy.location().should((location) => {\n expect(location.search).to.contain(`filters.field2=value2.3`)\n expect(location.search).to.contain(`filters.field3.start=2003-02-01`)\n expect(location.search).to.contain(`filters.field3.end=2007-05-04`)\n expect(location.search).to.contain(`filters.field6=Value+6.1`)\n expect(location.search).to.contain(`filters.field7=2005-05-05`)\n expect(location.search).to.contain(`defaultsSaved=true`)\n expect(location.search).not.to.contain(`filters.field4=Inigo+Montoya`)\n expect(location.search).not.to.contain(\n `filters.field8=value8.1&filters.field8=value8.2&filters.field8=value8.3&filters.field8=value8.4`,\n )\n expect(location.search).to.contain(`&filters.field8=value8.1&filters.field8=value8.4`)\n })\n })\n\n it('should reset the defaults back to the user saved defaults', () => {\n cy.findByLabelText(/Selected filters.*/i).within(() => {\n cy.findAllByRole('link').eq(1).click(1, 1)\n cy.findAllByRole('link').eq(1).click(1, 1)\n cy.findAllByRole('link').eq(1).click(1, 1)\n })\n\n cy.findByLabelText(/Selected filters.*/i).within(() => {\n cy.findAllByRole('link').should('have.length', 2)\n })\n\n cy.findByRole('link', { name: 'Reset filters' }).click()\n\n cy.findByLabelText(/Selected filters.*/i).within(() => {\n cy.findAllByRole('link').should('have.length', 5)\n })\n })\n\n it('should remove the save defaults', () => {\n cy.findByRole('button', { name: 'Delete defaults' }).click()\n\n cy.location().should((location) => {\n expect(location.search).to.contain(`filters.field1=value1.2`)\n expect(location.search).to.contain(`filters.field3.start=2003-02-01`)\n expect(location.search).to.contain(`filters.field3.end=2006-05-04`)\n expect(location.search).to.contain(`filters.field7=2005-02-01`)\n expect(location.search).to.contain(`filters.field8=value8.2&filters.field8=value8.3`)\n })\n })\n })\n\n context('Submission', () => {\n it('should submit the report details in the request', () => {\n cy.intercept({\n method: 'POST',\n url: '/embedded/platform/dpr/request-report/report/**/**/filters?**',\n }).as('requestSubmit')\n\n cy.findByRole('button', { name: /Request/ }).click()\n\n cy.wait('@requestSubmit')\n .its('request')\n .then((request) => {\n cy.wrap(request).its('body').should('include', 'reportId=request-examples')\n cy.wrap(request).its('body').should('include', 'name=Successful+Report')\n cy.wrap(request).its('body').should('include', 'reportName=Successful+Report')\n cy.wrap(request).its('body').should('include', 'id=request-example-success')\n })\n })\n\n it('should submit the request with the correct query params', () => {\n cy.intercept({\n method: 'POST',\n url: '/embedded/platform/dpr/request-report/report/**/**/filters?**',\n }).as('requestSubmit')\n\n cy.findByRole('button', { name: /Request/ }).click()\n\n cy.wait('@requestSubmit')\n .its('request')\n .then((request) => {\n expect(request.query).to.have.property('filters.field1', 'value1.2')\n expect(request.query).to.have.property('filters.field3.end', '2006-05-04')\n expect(request.query).to.have.property('filters.field3.start', '2003-02-01')\n expect(request.query).to.have.property('filters.field7', '2005-02-01')\n expect(request.query).to.have.property('filters.field8')\n cy.wrap(request.query['filters.field8']).should('deep.eq', ['value8.2', 'value8.3'])\n expect(request.query).to.have.property('sortColumn', 'field1')\n expect(request.query).to.have.property('sortedAsc', 'false')\n })\n })\n })\n\n context('Filter order', () => {\n beforeEach(() => {\n cy.visit(orderPath)\n })\n\n it('should order the filters correctly', () => {\n cy.findAllByLabelText(/Filters/).within(() => {\n cy.findAllByRole('textbox').each((el, idx) => {\n switch (idx) {\n case 0:\n cy.wrap(el)\n .should('have.attr', 'display-name')\n .then((displayName) => {\n expect(displayName).contains('Field 2')\n })\n break\n case 1:\n cy.wrap(el)\n .should('have.attr', 'display-name')\n .then((displayName) => {\n expect(displayName).contains('Field 3')\n })\n break\n case 2:\n cy.wrap(el)\n .should('have.attr', 'display-name')\n .then((displayName) => {\n expect(displayName).contains('Field 1')\n })\n break\n default:\n break\n }\n })\n })\n })\n })\n})\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["path", "orderPath", "field2", "field3Start", "field3End", "field4", "field5", "field6", "field7", "clearSelectedFilters", "index", "updateFilterValues", "filter", "location", "request", "el", "idx", "displayName"]
|
|
7
7
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
describe('Request a report', () => {
|
|
2
2
|
const path = '/embedded/platform/dpr/request-report/report/request-examples/request-example-success/filters'
|
|
3
|
+
const orderPath = '/embedded/platform/dpr/request-report/report/feature-testing/feature-testing-filter-order/filters'
|
|
3
4
|
let field2: Cypress.Chainable<JQuery<HTMLElement>>
|
|
4
5
|
let field3Start: Cypress.Chainable<JQuery<HTMLElement>>
|
|
5
6
|
let field3End: Cypress.Chainable<JQuery<HTMLElement>>
|
|
@@ -38,6 +39,7 @@ describe('Request a report', () => {
|
|
|
38
39
|
cy.task('stubReportsFinishedStatus')
|
|
39
40
|
cy.task('stubRequestSuccessResult20')
|
|
40
41
|
cy.task('stubRequestSuccessReportTablesCount')
|
|
42
|
+
cy.task('stubDefinitionOrderFilters')
|
|
41
43
|
})
|
|
42
44
|
|
|
43
45
|
beforeEach(() => {
|
|
@@ -387,4 +389,42 @@ describe('Request a report', () => {
|
|
|
387
389
|
})
|
|
388
390
|
})
|
|
389
391
|
})
|
|
392
|
+
|
|
393
|
+
context('Filter order', () => {
|
|
394
|
+
beforeEach(() => {
|
|
395
|
+
cy.visit(orderPath)
|
|
396
|
+
})
|
|
397
|
+
|
|
398
|
+
it('should order the filters correctly', () => {
|
|
399
|
+
cy.findAllByLabelText(/Filters/).within(() => {
|
|
400
|
+
cy.findAllByRole('textbox').each((el, idx) => {
|
|
401
|
+
switch (idx) {
|
|
402
|
+
case 0:
|
|
403
|
+
cy.wrap(el)
|
|
404
|
+
.should('have.attr', 'display-name')
|
|
405
|
+
.then((displayName) => {
|
|
406
|
+
expect(displayName).contains('Field 2')
|
|
407
|
+
})
|
|
408
|
+
break
|
|
409
|
+
case 1:
|
|
410
|
+
cy.wrap(el)
|
|
411
|
+
.should('have.attr', 'display-name')
|
|
412
|
+
.then((displayName) => {
|
|
413
|
+
expect(displayName).contains('Field 3')
|
|
414
|
+
})
|
|
415
|
+
break
|
|
416
|
+
case 2:
|
|
417
|
+
cy.wrap(el)
|
|
418
|
+
.should('have.attr', 'display-name')
|
|
419
|
+
.then((displayName) => {
|
|
420
|
+
expect(displayName).contains('Field 1')
|
|
421
|
+
})
|
|
422
|
+
break
|
|
423
|
+
default:
|
|
424
|
+
break
|
|
425
|
+
}
|
|
426
|
+
})
|
|
427
|
+
})
|
|
428
|
+
})
|
|
429
|
+
})
|
|
390
430
|
})
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var
|
|
1
|
+
var M=Object.create;var b=Object.defineProperty;var N=Object.getOwnPropertyDescriptor;var O=Object.getOwnPropertyNames;var _=Object.getPrototypeOf,H=Object.prototype.hasOwnProperty;var Q=(t,e)=>{for(var r in e)b(t,r,{get:e[r],enumerable:!0})},T=(t,e,r,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of O(e))!H.call(t,a)&&a!==r&&b(t,a,{get:()=>e[a],enumerable:!(s=N(e,a))||s.enumerable});return t};var p=(t,e,r)=>(r=t!=null?M(_(t)):{},T(e||!t||!t.__esModule?b(r,"default",{value:t,enumerable:!0}):r,t)),G=t=>T(b({},"__esModule",{value:!0}),t);var J={};Q(J,{default:()=>z,renderAsyncDashboard:()=>P});module.exports=G(J);var k=p(require("parseurl")),c=require("../../../../../components/_dashboards/dashboard/types"),S=require("../../../../../types/UserReports"),h=p(require("../../../../../components/_charts/utils")),E=p(require("../../../../../utils/definitionUtils")),V=p(require("../../../../../components/user-reports/utils")),w=p(require("../../../../../components/_dashboards/dashboard-list/utils")),U=p(require("../../../../../components/_filters/utils")),F=p(require("../../../../../components/_dashboards/scorecard/utils")),I=p(require("../../../../../components/_dashboards/scorecard/Scorecard")),q=p(require("../../../../../components/_reports/report-actions/utils")),C=p(require("../../../../../types/ReportQuery")),g=p(require("../../../../../utils/localsHelper")),L=require("../../../../../components/_filters/filtersTypeEnum");const X=(t,e,r)=>{const s=e.name,{name:a}=t,i=r.url.request.fullUrl,{executionId:d}=r;return q.default.getActions({share:{reportName:s,name:a,url:i},refresh:{url:i,executionId:d},copy:{url:i}})},W=async({req:t,res:e,services:r,next:s})=>{const{token:a}=g.default.getValues(e),{reportId:i,id:d}=t.params,{dataProductDefinitionsPath:n}=t.query,l=await r.dashboardService.getDefinition(a,i,d,n),o=await E.default.getReportSummary(i,r.reportingService,a,n),u=await U.default.getFilters({fields:l.filterFields||[],req:t,filtersType:L.FiltersType.INTERACTIVE}),f=U.default.setRequestQueryFromFilterValues(u.filters);return{query:new C.default({fields:l.filterFields||[],queryParams:f,definitionsPath:n,reportType:S.ReportType.DASHBOARD}).toRecordWithFilterPrefix(!0),filters:u,dashboardDefinition:l,reportDefinition:o}},j=(t,e,r)=>t.sections.map(s=>{const{id:a,display:i,description:d}=s;let n=!1;const l=s.visualisations.map(o=>{const{type:u,display:f,description:D,id:R}=o;let m;switch(u){case c.DashboardVisualisationType.LIST:m=w.default.createList(o,e);break;case c.DashboardVisualisationType.SCORECARD:n=!0,m=new I.default(e,o).build();break;case c.DashboardVisualisationType.SCORECARD_GROUP:m=new I.default(e,o,!0).build();break;case c.DashboardVisualisationType.BAR:case c.DashboardVisualisationType.LINE:case c.DashboardVisualisationType.DONUT:{m=h.default.createChart(o,e);break}case c.DashboardVisualisationType.MATRIX:case c.DashboardVisualisationType.MATRIX_TIMESERIES:{m=h.default.createMatrixChart(o,e,r);break}case c.DashboardVisualisationType.BAR_TIMESERIES:case c.DashboardVisualisationType.LINE_TIMESERIES:{m=h.default.createTimeseriesCharts(o,e);break}default:break}return{id:R,title:f,description:D,type:u,data:m}});return n&&F.default.mergeScorecardsIntoGroup(l),{id:a,title:i,description:d,visualisations:l}}),v=async(t,e,r,s,a,i,d)=>{const n=await t.requestedReportService.getReportByTableId(e,r);return s&&s.length&&n&&V.default.updateLastViewed({services:t,reportStateData:n,userId:r,req:i,filters:d}),n},P=async({req:t,res:e,services:r,next:s})=>{const{token:a,csrfToken:i,dprUser:d,nestedBaseUrl:n}=g.default.getValues(e),{reportId:l,id:o,tableId:u}=t.params,f=(0,k.default)(t),{query:D,filters:R,reportDefinition:m,dashboardDefinition:y}=await W({req:t,res:e,services:r}),x=(await r.dashboardService.getAsyncDashboard(a,o,l,u,D)).flat(),A=j(y,x,D),B=await v(r,u,d.id,A,f,t,R.filters);return{dashboardData:{token:a,id:o,reportId:l,name:y.name,description:y.description,reportName:m.name,bookmarked:await r.bookmarkService.isBookmarked(o,l,d.id),nestedBaseUrl:n,csrfToken:i,sections:A,filters:R,type:S.ReportType.DASHBOARD,actions:X(y,m,B)}}};var z={renderAsyncDashboard:P};0&&(module.exports={renderAsyncDashboard});
|
|
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/async/dashboard/utils.ts"],
|
|
4
|
-
"sourcesContent": ["import parseUrl from 'parseurl'\nimport { Url } from 'url'\nimport { Request } from 'express'\nimport type { AsyncReportUtilsParams } from '../../../../../types/AsyncReportUtils'\n\nimport {\n DashboardUIVisualisation,\n DashboardVisualisationType,\n ListVisualisation,\n type DashboardDefinition,\n type DashboardSection,\n type DashboardUISection,\n type DashboardVisualisation,\n} from '../../../../../components/_dashboards/dashboard/types'\nimport type { DashboardDataResponse } from '../../../../../types/Metrics'\nimport type { RequestedReport } from '../../../../../types/UserReports'\nimport { ReportType } from '../../../../../types/UserReports'\nimport type { components } from '../../../../../types/api'\n\nimport ChartUtils from '../../../../../components/_charts/utils'\nimport DefinitionUtils from '../../../../../utils/definitionUtils'\nimport UserReportsUtils from '../../../../../components/user-reports/utils'\nimport DashboardListUtils from '../../../../../components/_dashboards/dashboard-list/utils'\nimport FilterUtils from '../../../../../components/_filters/utils'\nimport ScorecardsUtils from '../../../../../components/_dashboards/scorecard/utils'\nimport ReportActionsUtils from '../../../../../components/_reports/report-actions/utils'\nimport ReportQuery from '../../../../../types/ReportQuery'\nimport LocalsHelper from '../../../../../utils/localsHelper'\nimport { Services } from '../../../../../types/Services'\nimport { FilterValue } from '../../../../../components/_filters/types'\nimport { FiltersType } from '../../../../../components/_filters/filtersTypeEnum'\n\nconst setDashboardActions = (\n dashboardDefinition: DashboardDefinition,\n reportDefinition: components['schemas']['ReportDefinitionSummary'],\n requestData: RequestedReport,\n) => {\n const reportName = reportDefinition.name\n const { name } = dashboardDefinition\n const actionsUrl = requestData.url.request.fullUrl\n const { executionId } = requestData\n\n return ReportActionsUtils.getActions({\n share: {\n reportName,\n name,\n url: actionsUrl,\n },\n refresh: {\n url: actionsUrl,\n executionId,\n },\n copy: {\n url: actionsUrl,\n },\n })\n}\n\nconst getDefinitionData = async ({ req, res, services, next }: AsyncReportUtilsParams) => {\n const { token } = LocalsHelper.getValues(res)\n const { reportId, id } = req.params\n const { dataProductDefinitionsPath } = req.query\n\n // Dashboard Definition,\n const dashboardDefinition: DashboardDefinition = await services.dashboardService.getDefinition(\n token,\n reportId,\n id,\n dataProductDefinitionsPath,\n )\n\n // Report summary data\n const reportDefinition = await DefinitionUtils.getReportSummary(\n reportId,\n services.reportingService,\n token,\n <string>dataProductDefinitionsPath,\n )\n\n // Get the filters\n const filtersData = await FilterUtils.getFilters({\n fields: dashboardDefinition.filterFields || [],\n req,\n filtersType: FiltersType.INTERACTIVE,\n })\n\n const filtersQuery = FilterUtils.setRequestQueryFromFilterValues(filtersData.filters)\n\n // Create the query\n const query = new ReportQuery({\n fields: dashboardDefinition.filterFields || [],\n queryParams: filtersQuery,\n definitionsPath: <string>dataProductDefinitionsPath,\n reportType: ReportType.DASHBOARD,\n }).toRecordWithFilterPrefix(true)\n\n return {\n query,\n filters: filtersData,\n dashboardDefinition,\n reportDefinition,\n }\n}\n\nconst getSections = (\n dashboardDefinition: DashboardDefinition,\n dashboardData: DashboardDataResponse[],\n query: Record<string, string | string[]>,\n): DashboardUISection[] => {\n return dashboardDefinition.sections.map((section: DashboardSection) => {\n const { id, display: title, description } = section\n\n let hasScorecard = false\n const visualisations = section.visualisations.map((visDefinition: DashboardVisualisation) => {\n const { type, display, description: visDescription, id: visId } = visDefinition\n\n let data: DashboardUIVisualisation['data']\n\n switch (type) {\n case DashboardVisualisationType.LIST:\n data = DashboardListUtils.createList(visDefinition as ListVisualisation, dashboardData)\n break\n\n case DashboardVisualisationType.SCORECARD:\n hasScorecard = true\n data =
|
|
5
|
-
"mappings": "6iBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,yBAAAC,IAAA,eAAAC,EAAAJ,GAAA,IAAAK,EAAqB,uBAKrBC,EAQO,iEAGPC,EAA2B,4CAG3BC,EAAuB,sDACvBC,EAA4B,mDAC5BD,EAA6B,2DAC7BA,EAA+B,yEAC/BA,EAAwB,uDACxBA,EAA4B,
|
|
6
|
-
"names": ["utils_exports", "__export", "utils_default", "renderAsyncDashboard", "__toCommonJS", "import_parseurl", "import_types", "import_UserReports", "import_utils", "import_definitionUtils", "import_ReportQuery", "import_localsHelper", "import_filtersTypeEnum", "setDashboardActions", "dashboardDefinition", "reportDefinition", "requestData", "reportName", "name", "actionsUrl", "executionId", "ReportActionsUtils", "getDefinitionData", "req", "res", "services", "next", "token", "LocalsHelper", "reportId", "id", "dataProductDefinitionsPath", "DefinitionUtils", "filtersData", "FilterUtils", "filtersQuery", "ReportQuery", "getSections", "dashboardData", "query", "section", "title", "description", "hasScorecard", "visualisations", "visDefinition", "type", "display", "visDescription", "visId", "data", "DashboardListUtils", "
|
|
4
|
+
"sourcesContent": ["import parseUrl from 'parseurl'\nimport { Url } from 'url'\nimport { Request } from 'express'\nimport type { AsyncReportUtilsParams } from '../../../../../types/AsyncReportUtils'\n\nimport {\n DashboardUIVisualisation,\n DashboardVisualisationType,\n ListVisualisation,\n type DashboardDefinition,\n type DashboardSection,\n type DashboardUISection,\n type DashboardVisualisation,\n} from '../../../../../components/_dashboards/dashboard/types'\nimport type { DashboardDataResponse } from '../../../../../types/Metrics'\nimport type { RequestedReport } from '../../../../../types/UserReports'\nimport { ReportType } from '../../../../../types/UserReports'\nimport type { components } from '../../../../../types/api'\n\nimport ChartUtils from '../../../../../components/_charts/utils'\nimport DefinitionUtils from '../../../../../utils/definitionUtils'\nimport UserReportsUtils from '../../../../../components/user-reports/utils'\nimport DashboardListUtils from '../../../../../components/_dashboards/dashboard-list/utils'\nimport FilterUtils from '../../../../../components/_filters/utils'\nimport ScorecardsUtils from '../../../../../components/_dashboards/scorecard/utils'\nimport ScorecardVisualisation from '../../../../../components/_dashboards/scorecard/Scorecard'\nimport ReportActionsUtils from '../../../../../components/_reports/report-actions/utils'\nimport ReportQuery from '../../../../../types/ReportQuery'\nimport LocalsHelper from '../../../../../utils/localsHelper'\nimport { Services } from '../../../../../types/Services'\nimport { FilterValue } from '../../../../../components/_filters/types'\nimport { FiltersType } from '../../../../../components/_filters/filtersTypeEnum'\n\nconst setDashboardActions = (\n dashboardDefinition: DashboardDefinition,\n reportDefinition: components['schemas']['ReportDefinitionSummary'],\n requestData: RequestedReport,\n) => {\n const reportName = reportDefinition.name\n const { name } = dashboardDefinition\n const actionsUrl = requestData.url.request.fullUrl\n const { executionId } = requestData\n\n return ReportActionsUtils.getActions({\n share: {\n reportName,\n name,\n url: actionsUrl,\n },\n refresh: {\n url: actionsUrl,\n executionId,\n },\n copy: {\n url: actionsUrl,\n },\n })\n}\n\nconst getDefinitionData = async ({ req, res, services, next }: AsyncReportUtilsParams) => {\n const { token } = LocalsHelper.getValues(res)\n const { reportId, id } = req.params\n const { dataProductDefinitionsPath } = req.query\n\n // Dashboard Definition,\n const dashboardDefinition: DashboardDefinition = await services.dashboardService.getDefinition(\n token,\n reportId,\n id,\n dataProductDefinitionsPath,\n )\n\n // Report summary data\n const reportDefinition = await DefinitionUtils.getReportSummary(\n reportId,\n services.reportingService,\n token,\n <string>dataProductDefinitionsPath,\n )\n\n // Get the filters\n const filtersData = await FilterUtils.getFilters({\n fields: dashboardDefinition.filterFields || [],\n req,\n filtersType: FiltersType.INTERACTIVE,\n })\n\n const filtersQuery = FilterUtils.setRequestQueryFromFilterValues(filtersData.filters)\n\n // Create the query\n const query = new ReportQuery({\n fields: dashboardDefinition.filterFields || [],\n queryParams: filtersQuery,\n definitionsPath: <string>dataProductDefinitionsPath,\n reportType: ReportType.DASHBOARD,\n }).toRecordWithFilterPrefix(true)\n\n return {\n query,\n filters: filtersData,\n dashboardDefinition,\n reportDefinition,\n }\n}\n\nconst getSections = (\n dashboardDefinition: DashboardDefinition,\n dashboardData: DashboardDataResponse[],\n query: Record<string, string | string[]>,\n): DashboardUISection[] => {\n return dashboardDefinition.sections.map((section: DashboardSection) => {\n const { id, display: title, description } = section\n\n let hasScorecard = false\n const visualisations = section.visualisations.map((visDefinition: DashboardVisualisation) => {\n const { type, display, description: visDescription, id: visId } = visDefinition\n\n let data: DashboardUIVisualisation['data']\n\n switch (type) {\n case DashboardVisualisationType.LIST:\n data = DashboardListUtils.createList(visDefinition as ListVisualisation, dashboardData)\n break\n\n case DashboardVisualisationType.SCORECARD:\n hasScorecard = true\n data = new ScorecardVisualisation(dashboardData, visDefinition).build()\n break\n\n case DashboardVisualisationType.SCORECARD_GROUP:\n data = new ScorecardVisualisation(dashboardData, visDefinition, true).build()\n break\n\n case DashboardVisualisationType.BAR:\n case DashboardVisualisationType.LINE:\n case DashboardVisualisationType.DONUT: {\n data = ChartUtils.createChart(visDefinition, dashboardData)\n break\n }\n case DashboardVisualisationType.MATRIX:\n case DashboardVisualisationType.MATRIX_TIMESERIES: {\n data = ChartUtils.createMatrixChart(visDefinition, dashboardData, query)\n break\n }\n case DashboardVisualisationType.BAR_TIMESERIES:\n case DashboardVisualisationType.LINE_TIMESERIES: {\n data = ChartUtils.createTimeseriesCharts(visDefinition, dashboardData)\n break\n }\n default:\n break\n }\n\n return {\n id: visId,\n title: display,\n description: visDescription,\n type,\n data,\n }\n })\n\n if (hasScorecard) ScorecardsUtils.mergeScorecardsIntoGroup(visualisations)\n\n return { id, title, description, visualisations }\n })\n}\n\nconst updateStore = async (\n services: Services,\n tableId: string,\n userId: string,\n sections: DashboardUISection[],\n url: Url,\n req: Request,\n filters: FilterValue[],\n) => {\n const dashboardRequestData: RequestedReport = await services.requestedReportService.getReportByTableId(\n tableId,\n userId,\n )\n\n // Add to recently viewed\n if (sections && sections.length && dashboardRequestData) {\n UserReportsUtils.updateLastViewed({\n services,\n reportStateData: dashboardRequestData,\n userId,\n req,\n filters,\n })\n }\n\n return dashboardRequestData\n}\n\nexport const renderAsyncDashboard = async ({ req, res, services, next }: AsyncReportUtilsParams) => {\n const { token, csrfToken, dprUser, nestedBaseUrl } = LocalsHelper.getValues(res)\n const { reportId, id, tableId } = req.params\n const url = parseUrl(req)\n\n // Get the definition Data\n const { query, filters, reportDefinition, dashboardDefinition } = await getDefinitionData({\n req,\n res,\n services,\n })\n\n // Get the results data\n const dashboardData: DashboardDataResponse[][] = await services.dashboardService.getAsyncDashboard(\n token,\n id,\n reportId,\n tableId,\n query,\n )\n\n const flattenedData: DashboardDataResponse[] = dashboardData.flat()\n\n // Get the dashboard parts\n const sections: DashboardUISection[] = getSections(dashboardDefinition, flattenedData, query)\n\n // Update the store\n const dashboardRequestData = await updateStore(services, tableId, dprUser.id, sections, url, req, filters.filters)\n\n return {\n dashboardData: {\n token,\n id,\n reportId,\n name: dashboardDefinition.name,\n description: dashboardDefinition.description,\n reportName: reportDefinition.name,\n bookmarked: await services.bookmarkService.isBookmarked(id, reportId, dprUser.id),\n nestedBaseUrl,\n csrfToken,\n sections,\n filters,\n type: ReportType.DASHBOARD,\n actions: setDashboardActions(dashboardDefinition, reportDefinition, dashboardRequestData),\n },\n }\n}\n\nexport default {\n renderAsyncDashboard,\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["utils_exports", "__export", "utils_default", "renderAsyncDashboard", "__toCommonJS", "import_parseurl", "import_types", "import_UserReports", "import_utils", "import_definitionUtils", "import_Scorecard", "import_ReportQuery", "import_localsHelper", "import_filtersTypeEnum", "setDashboardActions", "dashboardDefinition", "reportDefinition", "requestData", "reportName", "name", "actionsUrl", "executionId", "ReportActionsUtils", "getDefinitionData", "req", "res", "services", "next", "token", "LocalsHelper", "reportId", "id", "dataProductDefinitionsPath", "DefinitionUtils", "filtersData", "FilterUtils", "filtersQuery", "ReportQuery", "getSections", "dashboardData", "query", "section", "title", "description", "hasScorecard", "visualisations", "visDefinition", "type", "display", "visDescription", "visId", "data", "DashboardListUtils", "ScorecardVisualisation", "ChartUtils", "ScorecardsUtils", "updateStore", "tableId", "userId", "sections", "url", "filters", "dashboardRequestData", "UserReportsUtils", "csrfToken", "dprUser", "nestedBaseUrl", "parseUrl", "flattenedData"]
|
|
7
7
|
}
|
|
@@ -23,6 +23,7 @@ import UserReportsUtils from '../../../../../components/user-reports/utils'
|
|
|
23
23
|
import DashboardListUtils from '../../../../../components/_dashboards/dashboard-list/utils'
|
|
24
24
|
import FilterUtils from '../../../../../components/_filters/utils'
|
|
25
25
|
import ScorecardsUtils from '../../../../../components/_dashboards/scorecard/utils'
|
|
26
|
+
import ScorecardVisualisation from '../../../../../components/_dashboards/scorecard/Scorecard'
|
|
26
27
|
import ReportActionsUtils from '../../../../../components/_reports/report-actions/utils'
|
|
27
28
|
import ReportQuery from '../../../../../types/ReportQuery'
|
|
28
29
|
import LocalsHelper from '../../../../../utils/localsHelper'
|
|
@@ -123,11 +124,11 @@ const getSections = (
|
|
|
123
124
|
|
|
124
125
|
case DashboardVisualisationType.SCORECARD:
|
|
125
126
|
hasScorecard = true
|
|
126
|
-
data =
|
|
127
|
+
data = new ScorecardVisualisation(dashboardData, visDefinition).build()
|
|
127
128
|
break
|
|
128
129
|
|
|
129
130
|
case DashboardVisualisationType.SCORECARD_GROUP:
|
|
130
|
-
data =
|
|
131
|
+
data = new ScorecardVisualisation(dashboardData, visDefinition, true).build()
|
|
131
132
|
break
|
|
132
133
|
|
|
133
134
|
case DashboardVisualisationType.BAR:
|