Skip to content

Commit a53e0c5

Browse files
committed
feat(data-list)!: trss-data-list now saves fetched data in sessionStorage
1 parent 5f5a764 commit a53e0c5

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

src/components/trss-data-list/trss-data-list.tsx

+10-3
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,9 @@ export class TrssDataList {
3333
<ul>
3434
{this.listData.items.slice(0, this.limit).map((item: any = {}) => (
3535
<li>
36-
<h3 class="header"><a href={item.url}>{this.getEncodedText(item.title)}</a></h3>
36+
<h3 class="header">
37+
<a href={item.url}>{this.getEncodedText(item.title)}</a>
38+
</h3>
3739
<span class="meta">{friendly_date(item.date_published)}</span>
3840
{item.summary && this.teaser ? <p class="description">{this.getEncodedText(item.summary)}</p> : ''}
3941
</li>
@@ -46,8 +48,13 @@ export class TrssDataList {
4648
listData = { items: [] };
4749

4850
async componentWillRender() {
49-
let getApi = await fetch(this.source, { method: 'GET', headers: { 'Content-Type': 'application/json' } });
50-
this.listData = await getApi.json();
51+
if (!sessionStorage.getItem('trssFetchedData') || sessionStorage.getItem('trssFetchedData') === '{}') {
52+
let getApi = await fetch(this.source, { method: 'GET', headers: { 'Content-Type': 'application/json' } });
53+
sessionStorage.setItem('trssFetchedData', JSON.stringify(await getApi.json()));
54+
this.listData = JSON.parse(sessionStorage.getItem('trssFetchedData'));
55+
} else {
56+
this.listData = JSON.parse(sessionStorage.getItem('trssFetchedData'));
57+
}
5158
}
5259

5360
private getEncodedText(text): string {

0 commit comments

Comments
 (0)