This repository was archived by the owner on Feb 6, 2024. It is now read-only.
File tree Expand file tree Collapse file tree 4 files changed +37
-5
lines changed Expand file tree Collapse file tree 4 files changed +37
-5
lines changed Original file line number Diff line number Diff line change 1+ # 3.2.0 (2020-11-28)
2+
3+ ### Fix
4+
5+ - offline header and footer if not defined
6+ - offline firestore delete fields comparison
7+
18# 3.1.0 (2020-11-22)
29
310### Features
Original file line number Diff line number Diff line change @@ -46,6 +46,14 @@ export class DeckOfflineService {
4646 deck . data . background = null ;
4747 }
4848
49+ if ( deck . data . header && FirestoreUtils . shouldAttributeBeCleaned ( deck . data . header ) ) {
50+ deck . data . header = null ;
51+ }
52+
53+ if ( deck . data . footer && FirestoreUtils . shouldAttributeBeCleaned ( deck . data . footer ) ) {
54+ deck . data . footer = null ;
55+ }
56+
4957 deck . data . attributes = ( await OfflineUtils . cleanAttributes ( deck . data . attributes ) ) as DeckAttributes ;
5058
5159 await set ( `/decks/${ deck . id } ` , deck ) ;
Original file line number Diff line number Diff line change @@ -357,6 +357,14 @@ export class OfflineService {
357357 deckStore . state . deck . data . background = null ;
358358 }
359359
360+ if ( deckStore . state . deck . data . header && FirestoreUtils . shouldAttributeBeCleaned ( deckStore . state . deck . data . header ) ) {
361+ deckStore . state . deck . data . header = null ;
362+ }
363+
364+ if ( deckStore . state . deck . data . footer && FirestoreUtils . shouldAttributeBeCleaned ( deckStore . state . deck . data . footer ) ) {
365+ deckStore . state . deck . data . footer = null ;
366+ }
367+
360368 await set ( `/decks/${ deckStore . state . deck . id } ` , deckStore . state . deck ) ;
361369
362370 this . progress ( 0.5 ) ;
@@ -691,6 +699,16 @@ export class OfflineService {
691699 deck . data . background = firebase . firestore . FieldValue . delete ( ) ;
692700 }
693701
702+ if ( deck . data . header === null ) {
703+ // @ts -ignore
704+ deck . data . header = firebase . firestore . FieldValue . delete ( ) ;
705+ }
706+
707+ if ( deck . data . footer === null ) {
708+ // @ts -ignore
709+ deck . data . footer = firebase . firestore . FieldValue . delete ( ) ;
710+ }
711+
694712 const persistedDeck : Deck = await this . deckOnlineService . update ( deck ) ;
695713
696714 await del ( `/decks/${ deck . id } ` ) ;
Original file line number Diff line number Diff line change 1+ import firebase from 'firebase/app' ;
2+ import 'firebase/firestore' ;
3+
14export class FirestoreUtils {
25 static filterDelete < T > ( obj : T , replaceWithNull : boolean = false ) : T {
36 if ( typeof obj !== 'object' || Array . isArray ( obj ) ) {
@@ -30,10 +33,6 @@ export class FirestoreUtils {
3033 return false ;
3134 }
3235
33- const firestoreDelete = Object . keys ( attr ) . find ( ( key : string ) => {
34- return attr [ key ] === 'FieldValue.delete' ;
35- } ) ;
36-
37- return firestoreDelete !== null && firestoreDelete !== undefined ;
36+ return JSON . stringify ( attr ) === JSON . stringify ( firebase . firestore . FieldValue . delete ( ) ) ;
3837 }
3938}
You can’t perform that action at this time.
0 commit comments