@@ -21,11 +21,17 @@ export class OpenedPagesStore extends PersistantStore<OpenedPagesStoreData> {
21
21
* @param page - page that had beed opened by user
22
22
*/
23
23
public addOpenedPage ( page : OpenedPage ) : void {
24
- const uniquePageUrls = this . data . openedPages . map ( currentPage => currentPage . url ) ;
24
+ if ( this . data . openedPages !== undefined ) {
25
+ const uniquePageUrls = this . data . openedPages ?. map ( currentPage => currentPage . url ) ;
25
26
26
- if ( ! uniquePageUrls . includes ( page . url ) && page . url !== '/' ) {
27
+ if ( ! uniquePageUrls . includes ( page . url ) && page . url !== '/' ) {
28
+ this . data . openedPages = [
29
+ ...this . data . openedPages ,
30
+ page ,
31
+ ] ;
32
+ }
33
+ } else {
27
34
this . data . openedPages = [
28
- ...this . data . openedPages ,
29
35
page ,
30
36
] ;
31
37
}
@@ -36,7 +42,7 @@ export class OpenedPagesStore extends PersistantStore<OpenedPagesStoreData> {
36
42
* @param url - url of closed page
37
43
*/
38
44
public deleteOpenedPageByUrl ( url : OpenedPage [ 'url' ] ) : void {
39
- this . data . openedPages = this . data . openedPages . filter ( currentPage => ! ( currentPage . url == url ) ) ;
45
+ this . data . openedPages = this . data . openedPages ? .filter ( currentPage => ! ( currentPage . url == url ) ) ;
40
46
}
41
47
42
48
/**
@@ -46,7 +52,7 @@ export class OpenedPagesStore extends PersistantStore<OpenedPagesStoreData> {
46
52
* @param page - new data for opened page with certain url
47
53
*/
48
54
public patchOpenedPageByUrl ( url : OpenedPage [ 'url' ] , page : OpenedPage ) : void {
49
- this . data . openedPages = this . data . openedPages . map ( ( currentPage ) => {
55
+ this . data . openedPages = this . data . openedPages ? .map ( ( currentPage ) => {
50
56
if ( currentPage . url == url ) {
51
57
currentPage . title = page . title ;
52
58
}
0 commit comments