From cd987e3640362ab26066ec9567b9b4bba69d2ac1 Mon Sep 17 00:00:00 2001 From: michaelglenister Date: Thu, 11 Jun 2026 14:53:07 +0200 Subject: [PATCH 1/2] Display a grant table if it has a dimension --- municipal_finance/static/javascript/table.js | 27 +++++++++++++++++++- municipal_finance/templates/table.html | 2 +- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/municipal_finance/static/javascript/table.js b/municipal_finance/static/javascript/table.js index 36740f253..f2432128d 100644 --- a/municipal_finance/static/javascript/table.js +++ b/municipal_finance/static/javascript/table.js @@ -56,6 +56,7 @@ }; cube.hasAmountType = !!cube.model.dimensions.amount_type; cube.hasItems = !!cube.model.dimensions.item; + cube.hasGrants = !!cube.model.dimensions.grant; cube.hasMonths = !!cube.model.dimensions.period_length && CUBE_NAME != 'incexp'; cube.columns = _.map(cube.model.measures, (m) => `${m.ref}.sum`); @@ -85,6 +86,14 @@ } else { cube.order = 'item.code:asc'; } + } else if (cube.hasGrants) { + cube.drilldown = ['demarcation.code', 'demarcation.label', 'grant.code', 'grant.label']; + cube.rowHeadingMeta = { + code: 'grant.code', + label: 'grant.label', + class: null, + }; + cube.order = 'grant.code:asc'; } // do we have government functions? cube.hasFunctions = !!cube.model.dimensions.function; @@ -541,6 +550,22 @@ }, preload() { + if (cube.hasGrants) { + var self = this; + spinnerStart(); + $.get(`${MUNI_DATA_API}/cubes/${CUBE_NAME}/members/grant?order=${cube.order}`, (data) => { + cube.rowHeadings = _.select(data.data, (d) => d['grant.label']); + cube.rowHeadings = _.map(cube.rowHeadings, (h) => ({ + code: h['grant.code'], + label: h['grant.label'], + class: null, + subcategory: undefined, + })); + cube.trigger('change'); + }).always(spinnerStop); + return; + } + if (!cube.hasItems) return; var self = this; @@ -683,7 +708,7 @@ }, render() { - if (!cube.hasItems) { + if (!cube.hasItems && !cube.hasGrants) { // use year labels as items cube.rowHeadings = [{ code: this.filters.get('year'), label: null }]; } diff --git a/municipal_finance/templates/table.html b/municipal_finance/templates/table.html index eb7ed2123..009ba8fc2 100644 --- a/municipal_finance/templates/table.html +++ b/municipal_finance/templates/table.html @@ -58,7 +58,7 @@

{{ cube_model.label }}