Этот коммит содержится в:
Maarten 2024-10-04 20:53:40 +02:00
родитель fd059f9691
Коммит ffbe1b898a
28 изменённых файлов: 28 добавлений и 23 удалений

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

@ -6,21 +6,21 @@
</script> </script>
<div class="card" transition:fade id={'case-' + cardData.attribution_id}> <div class="card" transition:fade id={'case-' + cardData.attribution_id}>
<!--div class="card-header"> <div class="card-header">
<div class="card-header-title"> <div class="card-header-title">
<h2 class="is-size-3">Don't cases have titles?</h2> <h2 class="is-size-3">{cardData.Short_Title}</h2>
</div> </div>
</div--> </div>
<div class="card-image"> <div class="card-image">
<figure class="image"> <figure class="image">
<img src={`/images/${cardData.attribution_id}.jpg`} alt={cardData.image_credit} /> <img src={`/images/${cardData.Attribution_ID}.png`} />
</figure> </figure>
</div> </div>
<div class="card-content"> <div class="card-content">
<div class="content"> <div class="content">
<p>{utcFormat('%B %d, %Y')(cardData.attribution_date)}, {cardData.attribution_id}</p> <p>{utcFormat('%B %d, %Y')(new Date(cardData.Attribution_Date))}</p>
<p><a href={cardData.attribution_url} target='_blank'>{cardData.source}</a></p> <p><a href={cardData.Attribution_URL} target='_blank'>{cardData.source}</a></p>
<p>{cardData.short_description}</p> <p>{cardData.Short_Description}</p>
<p> <p>
<button class="button is-info is-small" on:click={sourceFilter.selectOne(cardData.source)} <button class="button is-info is-small" on:click={sourceFilter.selectOne(cardData.source)}
>{cardData.source}</button >{cardData.source}</button

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

@ -7,6 +7,7 @@
<table class="table is-striped is-fullwidth"> <table class="table is-striped is-fullwidth">
<thead> <thead>
<tr> <tr>
<td>Title</td>
<td>Description</td> <td>Description</td>
<td>Attribution date</td> <td>Attribution date</td>
<td>Source</td> <td>Source</td>
@ -18,11 +19,14 @@
{#each cases as attrCase} {#each cases as attrCase}
{#if attrCase.show} {#if attrCase.show}
<tr> <tr>
<td>{attrCase.short_description}</td> <td>{attrCase.Short_Title}</td>
<td>{utcFormat('%B %d, %Y')(attrCase.attribution_date)}</td> <td>{attrCase.Short_Description}</td>
<td>{utcFormat('%B %d, %Y')(new Date(attrCase.Attribution_Date))}</td>
<td>{attrCase.source}</td> <td>{attrCase.source}</td>
<td>{attrCase.source_category}</td> <td>{attrCase.Source_Category}</td>
<td>{attrCase.actor_nation}</td> <td>{#each attrCase.actor_nation as nation, i}
{attrCase.actor_nation.length != (i + 1) ? nation + ', ' : nation}
{/each}</td>
</tr> </tr>
{/if} {/if}
{/each} {/each}

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

@ -16,8 +16,6 @@
} from '../../stores/filters'; } from '../../stores/filters';
export let cases; export let cases;
export let isMobile;
$: console.log(isMobile)
function handleButtonClick() { function handleButtonClick() {
selectAllFilters(); selectAllFilters();

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

@ -33,38 +33,41 @@
const response = await csv(`https://fiat-2024-processed-data.s3.us-west-2.amazonaws.com/Demo_Attribution_Data.csv`); const response = await csv(`https://fiat-2024-processed-data.s3.us-west-2.amazonaws.com/Demo_Attribution_Data.csv`);
//const response = await csv(`${base}/Demo_Attribution_Data.csv`); //const response = await csv(`${base}/Demo_Attribution_Data.csv`);
cases = response; cases = response;
cases = cases.filter(d => d.Attribution_ID != '')
cases.forEach(d => { cases.forEach(d => {
d.platform = splitString(d.platform) d.platform = splitString(d.Platforms)
d.actor_nation = splitString(d.actor_nation) d.actor_nation = splitString(d.Actor_Nation)
d.methods = splitString(d.methods) d.source = splitString(d.Source)
d.methods = splitString(d.Methods)
d.attribution_total_score = +d.attribution_total_score d.attribution_total_score = +d.attribution_total_score
d.attribution_date = new Date(d.attribution_date) d.attribution_date = new Date(d.Attribution_Date)
d.search = [d.short_description, d.platform, d.methods, d.source, d.source_nation, d.source_category].flat().join('__').toLowerCase() d.search = [d.Short_Description, d.Short_Title, d.platform, d.methods, d.Source, d.Source_Nation, d.Source_cCtegory].flat().join('__').toLowerCase()
d.show = false d.show = false
}) })
platformFilter.init(cases, 'platform'); platformFilter.init(cases, 'platform');
actorNationFilter.init(cases, 'actor_nation'); actorNationFilter.init(cases, 'actor_nation');
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')
$attributionScoreFilter = attributionScoreDef; $attributionScoreFilter = attributionScoreDef;
//console.log(cases.map(d => d.campaign))
}); });
$: if (cases) { $: if (cases) {
cases = cases.map(d => ({ cases = cases.map(d => ({
...d, ...d,
show: haveOverlap($actorNationFilter, d.actor_nation) show: haveOverlap($actorNationFilter, d.Actor_Nation)
&& haveOverlap($platformFilter, d.platform) && haveOverlap($platformFilter, d.platform)
&& 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)
&& withinRange($attributionScoreFilter, d.attribution_total_score) && withinRange($attributionScoreFilter, d.attribution_total_score)
&& includesTextSearch($textSearchFilter, d.search) && includesTextSearch($textSearchFilter, d.search)
})) }))
} }
$: console.log(cases)
let width = 1200 let width = 1200
let margin = { let margin = {

Двоичные данные
static/images/1.png Обычный файл

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 1.7 MiB

Двоичные данные
static/images/11.png Обычный файл

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 181 KiB

Двоичные данные
static/images/12.png Обычный файл

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 305 KiB

Двоичные данные
static/images/15.png Обычный файл

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 1.3 MiB

Двоичные данные
static/images/16.png Обычный файл

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 351 KiB

Двоичные данные
static/images/17.png Обычный файл

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 388 KiB

Двоичные данные
static/images/18.png Обычный файл

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 306 KiB

Двоичные данные
static/images/19.png Обычный файл

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 300 KiB

Двоичные данные
static/images/2.png Обычный файл

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 302 KiB

Двоичные данные
static/images/20.png Обычный файл

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 308 KiB

Двоичные данные
static/images/21.png Обычный файл

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 314 KiB

Двоичные данные
static/images/22.png Обычный файл

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 425 KiB

Двоичные данные
static/images/23.png Обычный файл

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 2.3 MiB

Двоичные данные
static/images/24.png Обычный файл

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 284 KiB

Двоичные данные
static/images/25.png Обычный файл

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 175 KiB

Двоичные данные
static/images/26.png Обычный файл

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 527 KiB

Двоичные данные
static/images/27.png Обычный файл

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 843 KiB

Двоичные данные
static/images/3.png Обычный файл

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 644 KiB

Двоичные данные
static/images/4.png Обычный файл

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 1.3 MiB

Двоичные данные
static/images/5.png Обычный файл

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 177 KiB

Двоичные данные
static/images/6.png Обычный файл

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 1.2 MiB

Двоичные данные
static/images/7.png Обычный файл

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 26 KiB

Двоичные данные
static/images/8.png Обычный файл

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 3.2 MiB

Двоичные данные
static/images/9.png Обычный файл

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 1.6 MiB