Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
 @ViewChild('preview', { static: false }) previewElement: ElementRef;
....
ngAfterViewInit() {
    this.previewElement.nativeElement.onload = () => {
        this.previewElement.nativeElement.contentWindow.initializePreview(this.playerConfig);
        this.previewElement.nativeElement.contentWindow.addEventListener('message', resp => {
         ....
         };
    };
  }
  
  ....

ngOnInit(): void {
    // get queryParams.identifier
    // set the content metadata
  }

Pros:

  • Easy to maintain - for two different player easy to differentiate the config between the v1 and v2 player

  • Easy to redirect and get the action on different types of events

Cons:

  • Need to maintain a separate component for the v1 player

...

  • Difficult to maintain - if we need to switch the different versions of the player for the same mimeType

Conclusion

  • Combine the two solutions to create a separate component (v1-player) in the shared module.