overleaf/services/web/app/views/project/editor/editor.pug
Alf Eaton 73bc3418a2 Add React version of the PDF preview pane (#5135)
GitOrigin-RevId: fcc88a362c3e97c9fddf85d47c3a83a0a0b89432
2021-10-01 08:03:12 +00:00

83 lines
2.6 KiB
Text

div.full-size(
ng-show="ui.view == 'editor'"
layout="pdf"
layout-disabled="ui.pdfLayout != 'sideBySide'"
mask-iframes-on-resize="true"
resize-on="layout:main:resize"
resize-proportionally="true"
initial-size-east="'50%'"
minimum-restore-size-east="300"
allow-overflow-on="'center'"
custom-toggler-pane=hasFeature('custom-togglers') ? "east" : false
custom-toggler-msg-when-open=hasFeature('custom-togglers') ? translate("tooltip_hide_pdf") : false
custom-toggler-msg-when-closed=hasFeature('custom-togglers') ? translate("tooltip_show_pdf") : false
)
if showSymbolPalette
include ./editor-with-symbol-palette
else
include ./editor-no-symbol-palette
.ui-layout-east
// The pdf-preview component needs to always be rendered, even when the editor is in "full-width" mode and it's not visible.
// It doesn't recompile while hidden, due to the ui.pdfHidden flag, but maintains its state for when it's shown again.
if showNewPdfPreview
div(ng-show="ui.pdfLayout == 'sideBySide'")
pdf-preview()
else
div(ng-if="ui.pdfLayout == 'sideBySide'")
include ./pdf
.ui-layout-resizer-controls.synctex-controls(
ng-show="!!pdf.url && settings.pdfViewer !== 'native'"
ng-controller="PdfSynctexController"
)
a.btn.btn-default.btn-xs.synctex-control.synctex-control-goto-pdf(
tooltip=translate('go_to_code_location_in_pdf')
tooltip-placement="right"
tooltip-append-to-body="true"
ng-click="syncToPdf()"
ng-disabled="syncToPdfInFlight"
)
i.synctex-control-icon(ng-show="!syncToPdfInFlight")
i.synctex-spin-icon.fa.fa-refresh.fa-spin(ng-show="syncToPdfInFlight")
a.btn.btn-default.btn-xs.synctex-control.synctex-control-goto-code(
tooltip=translate('go_to_pdf_location_in_code')
tooltip-placement="right"
tooltip-append-to-body="true"
ng-click="syncToCode()"
ng-disabled="syncToCodeInFlight"
)
i.synctex-control-icon(ng-show="!syncToCodeInFlight")
i.synctex-spin-icon.fa.fa-refresh.fa-spin(ng-show="syncToCodeInFlight")
div.full-size(
ng-if="ui.pdfLayout == 'flat'"
ng-show="ui.view == 'pdf'"
)
if showNewPdfPreview
pdf-preview()
else
include ./pdf
// fallback, shown when no file/view is selected
div.full-size.no-file-selection(
ng-if="!ui.view"
)
.no-file-selection-message(
ng-if="rootFolder.children && rootFolder.children.length > 0"
)
h3
| #{translate('no_selection_select_file')}
.no-file-selection-message(
ng-if="rootFolder.children && rootFolder.children.length === 0"
)
h3
| #{translate('no_selection_create_new_file')}
div(
ng-controller="FileTreeController"
)
button.btn.btn-primary(
ng-click="openNewDocModal()"
)
| #{translate('new_file')}