| 16 | |
| 17 | class PreviewViewerClass<TState, TProp extends ClipperStateProp> extends ComponentBase<TState, TProp> { |
| 18 | render() { |
| 19 | let state = this.props.clipperState; |
| 20 | switch (state.currentMode.get()) { |
| 21 | case ClipMode.Pdf: |
| 22 | if (!state.pdfPreviewInfo.isLocalFileAndNotAllowed) { |
| 23 | if (state.clientInfo.clipperType === ClientType.ChromeExtension) { |
| 24 | return <LocalFilesNotAllowedPanel |
| 25 | title={Localization.getLocalizedString("WebClipper.ClipType.Pdf.AskPermissionToClipLocalFile")} |
| 26 | subtitle={Localization.getLocalizedString("WebClipper.ClipType.Pdf.InstructionsForClippingLocalFiles")} |
| 27 | header={Localization.getLocalizedString("WebClipper.ClipType.Pdf.Button")} />; |
| 28 | } |
| 29 | return <LocalFilesNotAllowedPanel |
| 30 | title={Localization.getLocalizedString("WebClipper.Preview.UnableToClipLocalFile")} |
| 31 | subtitle={""} |
| 32 | header={Localization.getLocalizedString("WebClipper.ClipType.Pdf.Button")} />; |
| 33 | } |
| 34 | return <PdfPreview clipperState={state} />; |
| 35 | case ClipMode.FullPage: |
| 36 | return <FullPagePreview clipperState={state} />; |
| 37 | case ClipMode.Region: |
| 38 | return <RegionPreview clipperState={state} />; |
| 39 | case ClipMode.Augmentation: |
| 40 | return <AugmentationPreview clipperState={state} />; |
| 41 | case ClipMode.Bookmark: |
| 42 | return <BookmarkPreview clipperState={state} />; |
| 43 | case ClipMode.Selection: |
| 44 | return <SelectionPreview clipperState={state} />; |
| 45 | default: |
| 46 | return <div />; |
| 47 | } |
| 48 | } |
| 49 | } |
| 50 | |
| 51 | let component = PreviewViewerClass.componentize(); |