Skip to content

Commit 0395ea2

Browse files
Merge branch 'main' into global-filtering
2 parents 359234e + c795786 commit 0395ea2

File tree

2 files changed

+23
-11
lines changed

2 files changed

+23
-11
lines changed

projects/distributed-tracing/src/shared/dashboard/widgets/table/table-widget-renderer.component.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -142,29 +142,29 @@ export class TableWidgetRendererComponent
142142
])
143143
);
144144

145-
this.filterItems = this.model.getFilterOptions().map(filterOption => ({
146-
label: capitalize(filterOption.label),
147-
value: filterOption
148-
}));
149-
150145
this.viewItems = this.model.getViewOptions().map(viewOption => ({
151146
label: capitalize(viewOption),
152147
value: viewOption
153148
}));
154-
155-
this.maybeEmitInitialCheckboxFilterChange();
156149
}
157150

158151
public getChildModel = (row: TableRow): object | undefined => this.model.getChildModel(row);
159152

160153
protected fetchData(): Observable<TableDataSource<TableRow> | undefined> {
161154
return this.model.getData().pipe(
162155
startWith(undefined),
163-
tap(() => this.fetchFilterValues())
156+
tap(() => this.fetchAndPopulateControlFilters())
164157
);
165158
}
166159

167-
protected fetchFilterValues(): void {
160+
protected fetchAndPopulateControlFilters(): void {
161+
this.maybeEmitInitialCheckboxFilterChange();
162+
163+
this.filterItems = this.model.getFilterOptions().map(filterOption => ({
164+
label: capitalize(filterOption.label),
165+
value: filterOption
166+
}));
167+
168168
this.selectFilterItems$ = forkJoinSafeEmpty(
169169
this.model.getSelectFilterOptions().map(selectFilterModel =>
170170
// Fetch the values for the selectFilter dropdown

projects/distributed-tracing/src/shared/dashboard/widgets/table/table-widget-view-toggle.model.ts

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { TableDataSource, TableRow } from '@hypertrace/components';
22
import { ArrayPropertyTypeInstance } from '@hypertrace/dashboards';
3-
import { ARRAY_PROPERTY, Model, ModelApi, ModelProperty, ModelPropertyType } from '@hypertrace/hyperdash';
3+
import { ARRAY_PROPERTY, Model, ModelApi, ModelOnInit, ModelProperty, ModelPropertyType } from '@hypertrace/hyperdash';
44
import { ModelInject, MODEL_API } from '@hypertrace/hyperdash-angular';
55
import { NEVER, Observable } from 'rxjs';
66
import { TableWidgetRowSelectionModel } from './selections/table-widget-row-selection.model';
@@ -14,7 +14,7 @@ import { TableWidgetModel } from './table-widget.model';
1414
@Model({
1515
type: 'table-widget-view-toggle'
1616
})
17-
export class TableWidgetViewToggleModel extends TableWidgetBaseModel {
17+
export class TableWidgetViewToggleModel extends TableWidgetBaseModel implements ModelOnInit {
1818
@ModelProperty({
1919
key: 'views',
2020
// tslint:disable-next-line: no-object-literal-type-assertion
@@ -32,8 +32,20 @@ export class TableWidgetViewToggleModel extends TableWidgetBaseModel {
3232
protected readonly api!: ModelApi;
3333

3434
private delegateModel?: TableWidgetModel;
35+
private currentView?: string;
36+
37+
public modelOnInit(): void {
38+
if (this.views.length > 0) {
39+
this.setView(this.views[0].label);
40+
}
41+
}
3542

3643
public setView(view: string): void {
44+
if (this.currentView === view) {
45+
return;
46+
}
47+
this.currentView = view;
48+
3749
if (this.delegateModel) {
3850
this.api.destroyChild(this.delegateModel);
3951
}

0 commit comments

Comments
 (0)