mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 17:59:23 -04:00
[Dashboard] [Controls] Skip First Reload (#142868)
* Skip first reload of dashboard controls to ensure only the filters from control group initialization are applied
This commit is contained in:
parent
e794156efb
commit
5a17c640fd
2 changed files with 12 additions and 9 deletions
|
@ -153,13 +153,17 @@ export class DashboardContainer extends Container<InheritedChildInput, Dashboard
|
|||
isProjectEnabledInLabs('labs:dashboard:dashboardControls')
|
||||
) {
|
||||
this.controlGroup = controlGroup;
|
||||
syncDashboardControlGroup({ dashboardContainer: this, controlGroup: this.controlGroup }).then(
|
||||
(result) => {
|
||||
this.controlGroup.untilReady().then(() => {
|
||||
if (!this.controlGroup || isErrorEmbeddable(this.controlGroup)) return;
|
||||
syncDashboardControlGroup({
|
||||
dashboardContainer: this,
|
||||
controlGroup: this.controlGroup,
|
||||
}).then((result) => {
|
||||
if (!result) return;
|
||||
const { onDestroyControlGroup } = result;
|
||||
this.onDestroyControlGroup = onDestroyControlGroup;
|
||||
}
|
||||
);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
this.subscriptions.add(
|
||||
|
|
|
@ -10,7 +10,7 @@ import _ from 'lodash';
|
|||
import { Subscription } from 'rxjs';
|
||||
import deepEqual from 'fast-deep-equal';
|
||||
import { compareFilters, COMPARE_ALL_OPTIONS, type Filter } from '@kbn/es-query';
|
||||
import { debounceTime, distinctUntilChanged, distinctUntilKeyChanged } from 'rxjs/operators';
|
||||
import { debounceTime, distinctUntilChanged, distinctUntilKeyChanged, skip } from 'rxjs/operators';
|
||||
|
||||
import {
|
||||
ControlGroupInput,
|
||||
|
@ -140,11 +140,10 @@ export const syncDashboardControlGroup = async ({
|
|||
.pipe(
|
||||
distinctUntilChanged(({ filters: filtersA }, { filters: filtersB }) =>
|
||||
compareAllFilters(filtersA, filtersB)
|
||||
)
|
||||
),
|
||||
skip(1) // skip first filter output because it will have been applied in initialize
|
||||
)
|
||||
.subscribe(() => {
|
||||
dashboardContainer.updateInput({ lastReloadRequestTime: Date.now() });
|
||||
})
|
||||
.subscribe(() => dashboardContainer.updateInput({ lastReloadRequestTime: Date.now() }))
|
||||
);
|
||||
|
||||
subscriptions.add(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue