Преглед изворни кода

Merge pull request #4913 from overleaf/ae-pdf-preview-feature-flag

Add feature flag for React PDF preview pane

GitOrigin-RevId: ac1e7329d13117e72de6f6cf060cd16be81cbbaa
Alf Eaton пре 5 година
родитељ
комит
deafe456b4

+ 1 - 0
services/web/app/src/Features/Project/ProjectController.js

@@ -872,6 +872,7 @@ const ProjectController = {
                 'new_file_view',
                 user.alphaProgram || user.betaProgram
               ),
+              showNewPdfPreview: shouldDisplayFeature('new_pdf_preview', false),
               showSymbolPalette: shouldDisplayFeature(
                 'symbol_palette',
                 user.alphaProgram || user.betaProgram

+ 8 - 2
services/web/app/views/project/editor/editor.pug

@@ -19,7 +19,10 @@ div.full-size(
 
 	.ui-layout-east
 		div(ng-if="ui.pdfLayout == 'sideBySide'")
-			include ./pdf
+			if showNewPdfPreview
+				pdf-preview-pane()
+			else
+				include ./pdf
 
 	.ui-layout-resizer-controls.synctex-controls(
 		ng-show="!!pdf.url && settings.pdfViewer == 'pdfjs'"
@@ -48,7 +51,10 @@ div.full-size(
 	ng-if="ui.pdfLayout == 'flat'"
 	ng-show="ui.view == 'pdf'"
 )
-	include ./pdf
+	if showNewPdfPreview
+		pdf-preview-pane()
+	else
+		include ./pdf
 
 // fallback, shown when no file/view is selected
 div.full-size.no-file-selection(

+ 7 - 0
services/web/frontend/js/features/pdf-preview/components/pdf-preview-pane.js

@@ -0,0 +1,7 @@
+import { memo } from 'react'
+
+function PdfPreviewPane() {
+  return <div>PDF Preview</div>
+}
+
+export default memo(PdfPreviewPane)

+ 6 - 0
services/web/frontend/js/features/pdf-preview/controllers/pdf-preview-controller.js

@@ -0,0 +1,6 @@
+import App from '../../../base'
+import { react2angular } from 'react2angular'
+
+import PdfPreviewPane from '../components/pdf-preview-pane'
+
+App.component('pdfPreviewPane', react2angular(PdfPreviewPane, undefined))

+ 1 - 0
services/web/frontend/js/ide.js

@@ -66,6 +66,7 @@ import './main/system-messages'
 import '../../modules/modules-ide.js'
 import './shared/context/controllers/root-context-controller'
 import './features/editor-navigation-toolbar/controllers/editor-navigation-toolbar-controller'
+import './features/pdf-preview/controllers/pdf-preview-controller'
 import './features/share-project-modal/controllers/react-share-project-modal-controller'
 import getMeta from './utils/meta'