editor.pug 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. div.full-size(
  2. ng-show="ui.view == 'editor'"
  3. layout="pdf"
  4. layout-disabled="ui.pdfLayout != 'sideBySide'"
  5. mask-iframes-on-resize="true"
  6. resize-on="layout:main:resize"
  7. resize-proportionally="true"
  8. initial-size-east="'50%'"
  9. minimum-restore-size-east="300"
  10. allow-overflow-on="'center'"
  11. custom-toggler-pane=hasFeature('custom-togglers') ? "'east'" : "false"
  12. custom-toggler-msg-when-open=hasFeature('custom-togglers') ? "'" + translate("tooltip_hide_pdf") + "'" : "false"
  13. custom-toggler-msg-when-closed=hasFeature('custom-togglers') ? "'" + translate("tooltip_show_pdf") + "'" : "false"
  14. )
  15. .ui-layout-center(
  16. ng-controller="ReviewPanelController",
  17. ng-class="{\
  18. 'rp-state-current-file': (reviewPanel.subView === SubViews.CUR_FILE),\
  19. 'rp-state-current-file-expanded': (reviewPanel.subView === SubViews.CUR_FILE && ui.reviewPanelOpen),\
  20. 'rp-state-current-file-mini': (reviewPanel.subView === SubViews.CUR_FILE && !ui.reviewPanelOpen),\
  21. 'rp-state-overview': (reviewPanel.subView === SubViews.OVERVIEW),\
  22. 'rp-size-mini': ui.miniReviewPanelVisible,\
  23. 'rp-size-expanded': ui.reviewPanelOpen,\
  24. 'rp-layout-left': reviewPanel.layoutToLeft,\
  25. 'rp-loading-threads': reviewPanel.loadingThreads,\
  26. }"
  27. )
  28. .loading-panel(ng-show="!editor.sharejs_doc || editor.opening")
  29. span(ng-show="editor.open_doc_id")
  30. i.fa.fa-spin.fa-refresh
  31. |   #{translate("loading")}...
  32. span(ng-show="!editor.open_doc_id")
  33. i.fa.fa-arrow-left
  34. |   #{translate("open_a_file_on_the_left")}
  35. #editor(
  36. ace-editor="editor",
  37. ng-if="!editor.richText",
  38. ng-show="!!editor.sharejs_doc && !editor.opening",
  39. theme="settings.theme",
  40. keybindings="settings.mode",
  41. font-size="settings.fontSize",
  42. auto-complete="settings.autoComplete",
  43. auto-pair-delimiters="settings.autoPairDelimiters",
  44. spell-check="!anonymous",
  45. spell-check-language="project.spellCheckLanguage"
  46. highlights="onlineUserCursorHighlights[editor.open_doc_id]"
  47. show-print-margin="false",
  48. sharejs-doc="editor.sharejs_doc",
  49. last-updated="editor.last_updated",
  50. cursor-position="editor.cursorPosition",
  51. goto-line="editor.gotoLine",
  52. resize-on="layout:main:resize,layout:pdf:resize,layout:review:resize,review-panel:toggle",
  53. annotations="pdf.logEntryAnnotations[editor.open_doc_id]",
  54. read-only="!permissions.write",
  55. file-name="editor.open_doc_name",
  56. on-ctrl-enter="recompileViaKey",
  57. on-ctrl-j="toggleReviewPanel",
  58. on-ctrl-shift-c="addNewCommentFromKbdShortcut",
  59. on-ctrl-shift-a="toggleTrackChangesFromKbdShortcut",
  60. syntax-validation="settings.syntaxValidation",
  61. review-panel="reviewPanel",
  62. events-bridge="reviewPanelEventsBridge"
  63. track-changes-enabled="project.features.trackChangesVisible",
  64. track-changes= "editor.trackChanges",
  65. doc-id="editor.open_doc_id"
  66. renderer-data="reviewPanel.rendererData"
  67. )
  68. != moduleIncludes('editor:body', locals)
  69. include ./review-panel
  70. .ui-layout-east
  71. div(ng-if="ui.pdfLayout == 'sideBySide'")
  72. include ./pdf
  73. .ui-layout-resizer-controls.synctex-controls(
  74. ng-show="!!pdf.url && settings.pdfViewer == 'pdfjs'"
  75. ng-controller="PdfSynctexController"
  76. )
  77. a.btn.btn-default.btn-xs.synctex-control.synctex-control-goto-pdf(
  78. tooltip=translate('go_to_code_location_in_pdf')
  79. tooltip-placement="right"
  80. tooltip-append-to-body="true"
  81. ng-click="syncToPdf()"
  82. )
  83. i.synctex-control-icon
  84. a.btn.btn-default.btn-xs.synctex-control.synctex-control-goto-code(
  85. tooltip-html="'"+translate('go_to_pdf_location_in_code', {}, true)+"'"
  86. tooltip-placement="right"
  87. tooltip-append-to-body="true"
  88. ng-click="syncToCode()"
  89. )
  90. i.synctex-control-icon
  91. div.full-size(
  92. ng-if="ui.pdfLayout == 'flat'"
  93. ng-show="ui.view == 'pdf'"
  94. )
  95. include ./pdf