FilterGroup
array instead of a Filter
array. FilterGroup
is an object containing the list of filters and AND/OR condition describing their relation. FilterGroup
also can have child groups to support complex filtering logic// FilterGroup
{
id: string;
condition: 'and' | 'or';
filters: Filter[];
subGroups: FilterGroup[];
origin: string;
datasetId?: string; // dataset id in case of dahsboard level filters
itemId?: string; // chart id in case of chart level filters
}
// Filter
{
expression: string;
parameters: [];
properties: {
id: string;
origin: string;
type: string;
itemId: string;
ignore?: string[];
}
}
getFilters()
method response and changedFilters
event data now contain filters as an array of FilterGroup
objects instead of Filter
objectsgetFilters(): Promise<FilterGroup[]>
// changedFilters event data
{
changed: FilterGroup[]; // changed filters
filters: FilterGroup[]; // all filters
// ... other event properties
}
The way vue-cumulio-dashboard
is imported for vue2 has changed. You can now import it in the following way.
import VueCumulioDashboard from '@cumul.io/vue-cumulio-dashboard/vue2';
Import for vue3 remains unchanged.
import VueCumulioDashboard from '@cumul.io/vue-cumulio-dashboard';
CumulioService.getFilters
, CumulioService.getData
... shall now be called on component instance (Which can be obtained using $refs
).chartId
is now called itemId
, charts-rendered
is now called items-rendered
{ data: { ...eventData } }
, eventData
is of the format{
dashboardId?: string;
dashboardSlug?: string;
itemId?: string;
language: string;
name: string;
screenMode: string;
type: string;
dimensions?: object; // populated depending on the event
changed?: []; // populated depending on the event
filters?: []; // populated depending on the event
item?: string; // populated depending on the event
origin?: string; // populated depending on the event
object?: string; // populated depending on the event
data?: object; // populated depending on the event
}
[...objectOfFilters]
, objectOfFilters
is of the format[{
expression: string;
parameters: [];
properties: {
id: string;
ignore?: string[];
origin: string;
type: string;
viz: string;
}
}]