filter
This commit is contained in:
parent
8ccfb37847
commit
b1dc16a67b
@ -228,7 +228,7 @@
|
|||||||
<select [(ngModel)]="filter.field" [ngModelOptions]="{standalone: true}" class="clr-select">
|
<select [(ngModel)]="filter.field" [ngModelOptions]="{standalone: true}" class="clr-select">
|
||||||
<option value="">Select Field</option>
|
<option value="">Select Field</option>
|
||||||
<!-- Use columnData for base API filters when drilldown is not enabled, drilldownColumnData when it is -->
|
<!-- Use columnData for base API filters when drilldown is not enabled, drilldownColumnData when it is -->
|
||||||
<option *ngFor="let column of (gadgetsEditdata.drilldownEnabled ? drilldownColumnData : columnData)" [value]="column">{{column}}</option>
|
<option *ngFor="let column of getAvailableFields(gadgetsEditdata.baseFilters, i, gadgetsEditdata.drilldownEnabled ? drilldownColumnData : columnData)" [value]="column">{{column}}</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -343,7 +343,7 @@
|
|||||||
<div class="clr-col-sm-5">
|
<div class="clr-col-sm-5">
|
||||||
<select [(ngModel)]="filter.field" [ngModelOptions]="{standalone: true}" class="clr-select">
|
<select [(ngModel)]="filter.field" [ngModelOptions]="{standalone: true}" class="clr-select">
|
||||||
<option value="">Select Field</option>
|
<option value="">Select Field</option>
|
||||||
<option *ngFor="let column of drilldownColumnData" [value]="column">{{column}}</option>
|
<option *ngFor="let column of getAvailableFields(gadgetsEditdata.baseFilters, i, drilldownColumnData)" [value]="column">{{column}}</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -472,7 +472,7 @@
|
|||||||
<div class="clr-col-sm-5">
|
<div class="clr-col-sm-5">
|
||||||
<select [(ngModel)]="filter.field" [ngModelOptions]="{standalone: true}" class="clr-select">
|
<select [(ngModel)]="filter.field" [ngModelOptions]="{standalone: true}" class="clr-select">
|
||||||
<option value="">Select Field</option>
|
<option value="">Select Field</option>
|
||||||
<option *ngFor="let column of layerColumnData[i] || []" [value]="column">{{column}}</option>
|
<option *ngFor="let column of getAvailableFields(layer.filters, j, layerColumnData[i] || [])" [value]="column">{{column}}</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@ -319,6 +319,20 @@ export class EditnewdashComponent implements OnInit {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
// Add method to get available fields for a filter dropdown (excluding already selected fields)
|
||||||
|
getAvailableFields(filters: any[], currentIndex: number, allFields: string[]): string[] {
|
||||||
|
if (!filters || !allFields) {
|
||||||
|
return allFields || [];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get all selected fields except the current one
|
||||||
|
const selectedFields = filters
|
||||||
|
.filter((filter, index) => filter.field && index !== currentIndex)
|
||||||
|
.map(filter => filter.field);
|
||||||
|
|
||||||
|
// Return fields that haven't been selected yet
|
||||||
|
return allFields.filter(field => !selectedFields.includes(field));
|
||||||
|
}
|
||||||
|
|
||||||
itemChange() {
|
itemChange() {
|
||||||
this.dashboardCollection.dashboard = this.dashboardArray;
|
this.dashboardCollection.dashboard = this.dashboardArray;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user