Campaign filter
Этот коммит содержится в:
		
							родитель
							
								
									1ace6797dc
								
							
						
					
					
						Коммит
						f228b63365
					
				| @ -11,6 +11,7 @@ | |||||||
| 		sourceFilter, | 		sourceFilter, | ||||||
| 		sourceCategoryFilter, | 		sourceCategoryFilter, | ||||||
| 		methodFilter, | 		methodFilter, | ||||||
|  | 		campaignFilter, | ||||||
| 		selectAllFilters, | 		selectAllFilters, | ||||||
| 		attributionScoreFilter, | 		attributionScoreFilter, | ||||||
| 		attributionScoreDef, | 		attributionScoreDef, | ||||||
| @ -102,6 +103,12 @@ | |||||||
| 				on:itemsAdded={(e) => methodFilter.select(e.detail)} | 				on:itemsAdded={(e) => methodFilter.select(e.detail)} | ||||||
| 				on:itemsRemoved={(e) => methodFilter.unselect(e.detail)} | 				on:itemsRemoved={(e) => methodFilter.unselect(e.detail)} | ||||||
| 			></Dropdown> | 			></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 | 			<DateRangeSlider | ||||||
| 				value={timeDummyRange} | 				value={timeDummyRange} | ||||||
| 				label="Date Range" | 				label="Date Range" | ||||||
|  | |||||||
| @ -20,6 +20,7 @@ | |||||||
| 		sourceFilter, | 		sourceFilter, | ||||||
| 		sourceCategoryFilter, | 		sourceCategoryFilter, | ||||||
| 		methodFilter, | 		methodFilter, | ||||||
|  |         campaignFilter, | ||||||
| 		attributionScoreFilter, | 		attributionScoreFilter, | ||||||
| 		attributionScoreDef, | 		attributionScoreDef, | ||||||
| 		textSearchFilter, | 		textSearchFilter, | ||||||
| @ -49,6 +50,7 @@ | |||||||
| 			d.actor_nation = splitString(d.actor_nation); | 			d.actor_nation = splitString(d.actor_nation); | ||||||
| 			d.source = splitString(d.source); | 			d.source = splitString(d.source); | ||||||
| 			d.methods = splitString(d.methods); | 			d.methods = splitString(d.methods); | ||||||
|  |             d.campaign = splitString(d.campaign) | ||||||
| 			d.attribution_total_score = +d.attribution_score; | 			d.attribution_total_score = +d.attribution_score; | ||||||
| 			d.attribution_date = new Date(d.attribution_date); | 			d.attribution_date = new Date(d.attribution_date); | ||||||
| 			d.search = [ | 			d.search = [ | ||||||
| @ -67,7 +69,7 @@ | |||||||
| 			d.show = false; | 			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)); | 		maxAttribution = max(cases.map((d) => d.attribution_score)); | ||||||
| 
 | 
 | ||||||
| @ -76,6 +78,7 @@ | |||||||
| 		sourceFilter.init(cases, 'source'); | 		sourceFilter.init(cases, 'source'); | ||||||
| 		sourceCategoryFilter.init(cases, 'source_category'); | 		sourceCategoryFilter.init(cases, 'source_category'); | ||||||
| 		methodFilter.init(cases, 'methods'); | 		methodFilter.init(cases, 'methods'); | ||||||
|  |         campaignFilter.init(cases, 'campaign') | ||||||
| 		$attributionScoreFilter = attributionScoreDef; | 		$attributionScoreFilter = attributionScoreDef; | ||||||
| 		$timeRangeFilter = extent(cases.map((d) => new Date(d.attribution_date))); | 		$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)))]; |         //$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')) { | 		if ($page.url.searchParams.has('filters')) { | ||||||
| 			const urlFilters = parseUrl($page.url.searchParams.get('filters')); | 			const urlFilters = parseUrl($page.url.searchParams.get('filters')); | ||||||
| 
 |  | ||||||
| 			actorNationFilter.applyBoolArray(urlFilters.actorNations); | 			actorNationFilter.applyBoolArray(urlFilters.actorNations); | ||||||
| 			platformFilter.applyBoolArray(urlFilters.platforms); | 			platformFilter.applyBoolArray(urlFilters.platforms); | ||||||
| 			methodFilter.applyBoolArray(urlFilters.methods); | 			methodFilter.applyBoolArray(urlFilters.methods); | ||||||
| @ -150,6 +152,7 @@ | |||||||
| 				haveOverlap($sourceFilter, d.source) && | 				haveOverlap($sourceFilter, d.source) && | ||||||
| 				haveOverlap($sourceCategoryFilter, d.source_category) && | 				haveOverlap($sourceCategoryFilter, d.source_category) && | ||||||
| 				haveOverlap($methodFilter, d.methods) && | 				haveOverlap($methodFilter, d.methods) && | ||||||
|  |                 haveOverlap($campaignFilter, d.campaign) && | ||||||
| 				withinRange($attributionScoreFilter, d.attribution_total_score) && | 				withinRange($attributionScoreFilter, d.attribution_total_score) && | ||||||
| 				withinRange($timeRangeFilter, d.attribution_date) && | 				withinRange($timeRangeFilter, d.attribution_date) && | ||||||
| 				includesTextSearch($textSearchFilter, d.search) | 				includesTextSearch($textSearchFilter, d.search) | ||||||
|  | |||||||
| @ -71,6 +71,8 @@ export const platformFilter = createInclusiveFilter(); | |||||||
| 
 | 
 | ||||||
| export const methodFilter = createInclusiveFilter(); | export const methodFilter = createInclusiveFilter(); | ||||||
| 
 | 
 | ||||||
|  | export const campaignFilter = createInclusiveFilter(); | ||||||
|  | 
 | ||||||
| export const sourceFilter = createInclusiveFilter(); | export const sourceFilter = createInclusiveFilter(); | ||||||
| 
 | 
 | ||||||
| export const sourceCategoryFilter = createInclusiveFilter(); | export const sourceCategoryFilter = createInclusiveFilter(); | ||||||
| @ -90,6 +92,7 @@ export const unselectAllFilters = (disinformantNation = true) => { | |||||||
|   if (disinformantNation) actorNationFilter.unselectAll(); |   if (disinformantNation) actorNationFilter.unselectAll(); | ||||||
|   platformFilter.unselectAll(); |   platformFilter.unselectAll(); | ||||||
|   methodFilter.unselectAll(); |   methodFilter.unselectAll(); | ||||||
|  |   campaignFilter.unselectAll(); | ||||||
|   sourceFilter.unselectAll(); |   sourceFilter.unselectAll(); | ||||||
|   sourceCategoryFilter.unselectAll(); |   sourceCategoryFilter.unselectAll(); | ||||||
|   tagFilter.unselectAll(); |   tagFilter.unselectAll(); | ||||||
| @ -101,6 +104,7 @@ export const selectAllFilters = (disinformantNation = true) => { | |||||||
|   if (disinformantNation) actorNationFilter.selectAll(); |   if (disinformantNation) actorNationFilter.selectAll(); | ||||||
|   platformFilter.selectAll(); |   platformFilter.selectAll(); | ||||||
|   methodFilter.selectAll(); |   methodFilter.selectAll(); | ||||||
|  |   campaignFilter.selectAll(); | ||||||
|   sourceFilter.selectAll(); |   sourceFilter.selectAll(); | ||||||
|   sourceCategoryFilter.selectAll(); |   sourceCategoryFilter.selectAll(); | ||||||
|   tagFilter.selectAll(); |   tagFilter.selectAll(); | ||||||
|  | |||||||
		Загрузка…
	
	
			
			x
			
			
		
	
		Ссылка в новой задаче
	
	Block a user
	 Maarten
						Maarten