Small fixes
This commit is contained in:
parent
54fbcb1ea6
commit
083f8a982e
24 changed files with 1505 additions and 79 deletions
|
|
@ -440,6 +440,11 @@ pub async fn get_export(
|
|||
.map_err(|err| (StatusCode::BAD_REQUEST, err).into_response())?
|
||||
};
|
||||
let has_poi_filters = !parsed_poi_filters.is_empty();
|
||||
// The active filters decide which feature columns land on the "Selected"
|
||||
// sheet. We keep them for column selection in both modes; they are only
|
||||
// *applied* as row filters in bounds mode (in list mode the user picks the
|
||||
// postcodes explicitly, so rows are never filtered).
|
||||
let column_filters_str = params.filters.clone();
|
||||
let filters_str = if is_postcode_mode {
|
||||
None
|
||||
} else {
|
||||
|
|
@ -653,7 +658,7 @@ pub async fn get_export(
|
|||
};
|
||||
|
||||
// Determine column order: filter features first, then remaining
|
||||
let filter_feature_names = extract_filter_feature_names(filters_str.as_deref());
|
||||
let filter_feature_names = extract_filter_feature_names(column_filters_str.as_deref());
|
||||
|
||||
let field_indices = parse_field_indices_with_poi(
|
||||
fields_str.as_deref(),
|
||||
|
|
@ -841,18 +846,16 @@ pub async fn get_export(
|
|||
frontend_params
|
||||
);
|
||||
|
||||
// Bounds mode: two sheets — "Selected" (filter features with link + screenshot)
|
||||
// and "All Data" (all features).
|
||||
// List mode: single sheet "Postcodes" with all data, no link or screenshot
|
||||
// (the supplied list isn't tied to a map view).
|
||||
let sheet_configs: Vec<(&str, &[usize], bool)> = if postcode_list_entries.is_some() {
|
||||
vec![("Postcodes", &all_feature_indices, false)]
|
||||
} else {
|
||||
vec![
|
||||
("Selected", &filter_feature_indices, true),
|
||||
("All Data", &all_feature_indices, false),
|
||||
]
|
||||
};
|
||||
// Two sheets in both modes: "Selected" (just the features behind the
|
||||
// active filters) and "All Data" (every feature). The Selected sheet
|
||||
// carries the dashboard link + screenshot only in bounds mode, where the
|
||||
// export is tied to a map view; in list mode the user picked the
|
||||
// postcodes explicitly, so there's no map view to link or screenshot.
|
||||
let is_list_mode = postcode_list_entries.is_some();
|
||||
let sheet_configs: Vec<(&str, &[usize], bool)> = vec![
|
||||
("Selected", &filter_feature_indices, !is_list_mode),
|
||||
("All Data", &all_feature_indices, false),
|
||||
];
|
||||
|
||||
for (sheet_name, feat_indices, include_header) in &sheet_configs {
|
||||
let sheet = workbook.add_worksheet();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue