Этот коммит содержится в:
Maarten 2024-10-10 21:57:23 +02:00
родитель 1ace6797dc
Коммит f228b63365
3 изменённых файлов: 16 добавлений и 2 удалений

Просмотреть файл

@ -11,6 +11,7 @@
sourceFilter,
sourceCategoryFilter,
methodFilter,
campaignFilter,
selectAllFilters,
attributionScoreFilter,
attributionScoreDef,
@ -102,6 +103,12 @@
on:itemsAdded={(e) => methodFilter.select(e.detail)}
on:itemsRemoved={(e) => methodFilter.unselect(e.detail)}
></Dropdown>
<Dropdown
items={addCount($campaignFilter, 'campaign', cases)}
label="Campaign"
on:itemsAdded={(e) => campaignFilter.select(e.detail)}
on:itemsRemoved={(e) => campaignFilter.unselect(e.detail)}
></Dropdown>
<DateRangeSlider
value={timeDummyRange}
label="Date Range"

Просмотреть файл

@ -20,6 +20,7 @@
sourceFilter,
sourceCategoryFilter,
methodFilter,
campaignFilter,
attributionScoreFilter,
attributionScoreDef,
textSearchFilter,
@ -49,6 +50,7 @@
d.actor_nation = splitString(d.actor_nation);
d.source = splitString(d.source);
d.methods = splitString(d.methods);
d.campaign = splitString(d.campaign)
d.attribution_total_score = +d.attribution_score;
d.attribution_date = new Date(d.attribution_date);
d.search = [
@ -67,7 +69,7 @@
d.show = false;
});
//console.log(cases.map(d => d.offline_mobilization))
console.log(cases.map(d => d.campaign))
maxAttribution = max(cases.map((d) => d.attribution_score));
@ -76,6 +78,7 @@
sourceFilter.init(cases, 'source');
sourceCategoryFilter.init(cases, 'source_category');
methodFilter.init(cases, 'methods');
campaignFilter.init(cases, 'campaign')
$attributionScoreFilter = attributionScoreDef;
$timeRangeFilter = extent(cases.map((d) => new Date(d.attribution_date)));
//$timeRangeFilter = [new Date('2024-01-01'), max(cases.map((d) => new Date(d.attribution_date)))];
@ -106,7 +109,6 @@
if ($page.url.searchParams.has('filters')) {
const urlFilters = parseUrl($page.url.searchParams.get('filters'));
actorNationFilter.applyBoolArray(urlFilters.actorNations);
platformFilter.applyBoolArray(urlFilters.platforms);
methodFilter.applyBoolArray(urlFilters.methods);
@ -150,6 +152,7 @@
haveOverlap($sourceFilter, d.source) &&
haveOverlap($sourceCategoryFilter, d.source_category) &&
haveOverlap($methodFilter, d.methods) &&
haveOverlap($campaignFilter, d.campaign) &&
withinRange($attributionScoreFilter, d.attribution_total_score) &&
withinRange($timeRangeFilter, d.attribution_date) &&
includesTextSearch($textSearchFilter, d.search)

Просмотреть файл

@ -71,6 +71,8 @@ export const platformFilter = createInclusiveFilter();
export const methodFilter = createInclusiveFilter();
export const campaignFilter = createInclusiveFilter();
export const sourceFilter = createInclusiveFilter();
export const sourceCategoryFilter = createInclusiveFilter();
@ -90,6 +92,7 @@ export const unselectAllFilters = (disinformantNation = true) => {
if (disinformantNation) actorNationFilter.unselectAll();
platformFilter.unselectAll();
methodFilter.unselectAll();
campaignFilter.unselectAll();
sourceFilter.unselectAll();
sourceCategoryFilter.unselectAll();
tagFilter.unselectAll();
@ -101,6 +104,7 @@ export const selectAllFilters = (disinformantNation = true) => {
if (disinformantNation) actorNationFilter.selectAll();
platformFilter.selectAll();
methodFilter.selectAll();
campaignFilter.selectAll();
sourceFilter.selectAll();
sourceCategoryFilter.selectAll();
tagFilter.selectAll();