Skip to content

Commit

Permalink
tweaks
Browse files Browse the repository at this point in the history
  • Loading branch information
teodosii committed Jun 5, 2024
1 parent 193a557 commit 32fe6cc
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 18 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ interface RemoteFiltersProps extends WithStoreProps {
grafanaTeamStore: GrafanaTeamStore;
skipFilterOptionFn?: (filterOption: FilterOption) => boolean;
}
interface RemoteFiltersState {
export interface RemoteFiltersState {
filterOptions?: FilterOption[];
filters: FilterOption[];
values: Record<string, any>;
Expand Down
3 changes: 2 additions & 1 deletion grafana-plugin/src/models/alertgroup/alertgroup.ts
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,8 @@ export class AlertGroupStore {
this.rootStore.setPageTitle(`#${alertGroup.inside_organization_number} ${alertGroup.render_for_web.title}`);
}

async fetchIncidentsAndStats(isPollingJob = false) {
@AutoLoadingState(ActionKey.FETCH_INCIDENTS_AND_STATS)
async fetchIncidentsAndStats(isPollingJob = false): Promise<void> {
await Promise.all([
this.fetchStats(IncidentStatus.Firing),
this.fetchStats(IncidentStatus.Acknowledged),
Expand Down
32 changes: 16 additions & 16 deletions grafana-plugin/src/pages/incidents/Incidents.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ import { Tutorial } from 'components/Tutorial/Tutorial';
import { TutorialStep } from 'components/Tutorial/Tutorial.types';
import { ColumnsSelectorWrapper } from 'containers/ColumnsSelectorWrapper/ColumnsSelectorWrapper';
import { IncidentsFiltersType } from 'containers/IncidentsFilters/IncidentFilters.types';
import { RemoteFilters } from 'containers/RemoteFilters/RemoteFilters';
import { RemoteFilters, RemoteFiltersState } from 'containers/RemoteFilters/RemoteFilters';
import { TeamName } from 'containers/TeamName/TeamName';
import { WithPermissionControlTooltip } from 'containers/WithPermissionControl/WithPermissionControlTooltip';
import { AlertReceiveChannelHelper } from 'models/alert_receive_channel/alert_receive_channel.helpers';
Expand Down Expand Up @@ -200,10 +200,17 @@ class _IncidentsPage extends React.Component<IncidentsPageProps, IncidentsPageSt
);
}

renderCards(filtersState, setFiltersState, filtersOnFiltersValueChange, store: RootStore, theme: GrafanaTheme2) {
renderCards(
filtersState: RemoteFiltersState,
filtersSetState: (data: any, callback: () => void) => void,
filtersOnFiltersValueChange: (status: string, newStatuses: string[]) => void,
store: RootStore,
theme: GrafanaTheme2
) {
const { values } = filtersState;
const { stats } = store.alertGroupStore;


const status = values.status || [];
const styles = getStyles(theme);

Expand All @@ -218,7 +225,7 @@ class _IncidentsPage extends React.Component<IncidentsPageProps, IncidentsPageSt
onClick={this.getStatusButtonClickHandler(
IncidentStatus.Firing,
filtersState,
setFiltersState,
filtersSetState,
filtersOnFiltersValueChange
)}
/>
Expand All @@ -232,7 +239,7 @@ class _IncidentsPage extends React.Component<IncidentsPageProps, IncidentsPageSt
onClick={this.getStatusButtonClickHandler(
IncidentStatus.Acknowledged,
filtersState,
setFiltersState,
filtersSetState,
filtersOnFiltersValueChange
)}
/>
Expand All @@ -246,7 +253,7 @@ class _IncidentsPage extends React.Component<IncidentsPageProps, IncidentsPageSt
onClick={this.getStatusButtonClickHandler(
IncidentStatus.Resolved,
filtersState,
setFiltersState,
filtersSetState,
filtersOnFiltersValueChange
)}
/>
Expand All @@ -260,7 +267,7 @@ class _IncidentsPage extends React.Component<IncidentsPageProps, IncidentsPageSt
onClick={this.getStatusButtonClickHandler(
IncidentStatus.Silenced,
filtersState,
setFiltersState,
filtersSetState,
filtersOnFiltersValueChange
)}
/>
Expand All @@ -271,13 +278,12 @@ class _IncidentsPage extends React.Component<IncidentsPageProps, IncidentsPageSt

getStatusButtonClickHandler = (
status: IncidentStatus,
filtersState,
filtersSetState,
filtersOnFiltersValueChange
filtersState: RemoteFiltersState,
filtersSetState: (data: any, callback: () => void) => void,
filtersOnFiltersValueChange: (status: string, newStatuses: string[]) => void
) => {
return (selected: boolean) => {
const { values } = filtersState;

const { status: statusFilter = [] } = values;

let newStatuses = [...statusFilter];
Expand Down Expand Up @@ -948,12 +954,6 @@ class _IncidentsPage extends React.Component<IncidentsPageProps, IncidentsPageSt
);
};

onIncidentsUpdateClick = () => {
const { store } = this.props;

store.alertGroupStore.fetchIncidentsAndStats();
};

clearPollingInterval() {
clearInterval(this.pollingIntervalId);
this.pollingIntervalId = null;
Expand Down

0 comments on commit 32fe6cc

Please sign in to comment.