Skip to content

Commit fe9b493

Browse files
committed
Show percentages permanently in custom props detailed view
1 parent 99fb33f commit fe9b493

2 files changed

Lines changed: 14 additions & 3 deletions

File tree

assets/js/dashboard/stats/modals/breakdown-modal.tsx

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ type BreakdownModalProps = {
3737
/** Function that must return a new query that contains appropriate search filter for searchValue param. */
3838
addSearchFilter?: (q: DashboardQuery, searchValue: string) => DashboardQuery
3939
searchEnabled?: boolean
40+
/** When true, keep the percentage metric as a permanently visible, sortable column. */
41+
showPercentageColumn?: boolean
4042
}
4143

4244
/**
@@ -64,6 +66,7 @@ export default function BreakdownModal<TListItem extends { name: string }>({
6466
renderIcon,
6567
getExternalLinkUrl,
6668
searchEnabled = true,
69+
showPercentageColumn = false,
6770
afterFetchData,
6871
afterFetchNextPage,
6972
addSearchFilter,
@@ -147,7 +150,7 @@ export default function BreakdownModal<TListItem extends { name: string }>({
147150
)
148151
},
149152
...breakdownMetrics
150-
.filter((m) => m.key !== 'percentage')
153+
.filter((m) => showPercentageColumn || m.key !== 'percentage')
151154
.map(
152155
(m): ColumnConfiguraton<TListItem> => ({
153156
label: m.renderLabel(query),
@@ -156,7 +159,13 @@ export default function BreakdownModal<TListItem extends { name: string }>({
156159
align: 'right',
157160
metricWarning: getMetricWarning(m, meta),
158161
renderValue: (item, isRowHovered) =>
159-
m.renderValue(item, meta, { detailedView: true, isRowHovered }),
162+
m.renderValue(
163+
showPercentageColumn && m.key === 'visitors'
164+
? { ...item, percentage: null }
165+
: item,
166+
meta,
167+
{ detailedView: true, isRowHovered }
168+
),
160169
onSort: m.sortable ? () => toggleSortByMetric(m) : undefined,
161170
sortDirection: orderByDictionary[m.key]
162171
})
@@ -171,7 +180,8 @@ export default function BreakdownModal<TListItem extends { name: string }>({
171180
toggleSortByMetric,
172181
renderIcon,
173182
getExternalLinkUrl,
174-
meta
183+
meta,
184+
showPercentageColumn
175185
]
176186
)
177187

assets/js/dashboard/stats/modals/props.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ function PropsModal() {
7171
metrics={chooseMetrics()}
7272
getFilterInfo={getFilterInfo}
7373
addSearchFilter={addSearchFilter}
74+
showPercentageColumn
7475
/>
7576
</Modal>
7677
)

0 commit comments

Comments
 (0)