editor.pug 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  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. )
  12. .ui-layout-center(
  13. ng-controller="ReviewPanelController",
  14. ng-class="{\
  15. 'rp-state-current-file': (reviewPanel.subView === SubViews.CUR_FILE),\
  16. 'rp-state-current-file-expanded': (reviewPanel.subView === SubViews.CUR_FILE && ui.reviewPanelOpen),\
  17. 'rp-state-current-file-mini': (reviewPanel.subView === SubViews.CUR_FILE && !ui.reviewPanelOpen),\
  18. 'rp-state-overview': (reviewPanel.subView === SubViews.OVERVIEW),\
  19. 'rp-size-mini': ui.miniReviewPanelVisible,\
  20. 'rp-size-expanded': ui.reviewPanelOpen,\
  21. 'rp-layout-left': reviewPanel.layoutToLeft,\
  22. 'rp-loading-threads': reviewPanel.loadingThreads,\
  23. }"
  24. )
  25. .loading-panel(ng-show="!editor.sharejs_doc || editor.opening")
  26. span(ng-show="editor.open_doc_id")
  27. i.fa.fa-spin.fa-refresh
  28. |   #{translate("loading")}...
  29. span(ng-show="!editor.open_doc_id")
  30. i.fa.fa-arrow-left
  31. |   #{translate("open_a_file_on_the_left")}
  32. if hasFeature('rich-text')
  33. .toolbar.toolbar-editor(ng-controller="EditorToolbarController")
  34. button(ng-click="toggleRichText()") Rich Text
  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. if hasFeature('rich-text')
  69. #editor-rich-text(
  70. cm-editor,
  71. ng-if="editor.richText"
  72. ng-show="!!editor.sharejs_doc && !editor.opening"
  73. sharejs-doc="editor.sharejs_doc"
  74. )
  75. include ./review-panel
  76. .ui-layout-east
  77. div(ng-if="ui.pdfLayout == 'sideBySide'")
  78. include ./pdf
  79. .ui-layout-resizer-controls.synctex-controls(
  80. ng-show="!!pdf.url && settings.pdfViewer == 'pdfjs'"
  81. ng-controller="PdfSynctexController"
  82. )
  83. a.btn.btn-default.btn-xs.synctex-control.synctex-control-goto-pdf(
  84. tooltip=translate('go_to_code_location_in_pdf')
  85. tooltip-placement="right"
  86. tooltip-append-to-body="true"
  87. ng-click="syncToPdf()"
  88. )
  89. i.synctex-control-icon
  90. a.btn.btn-default.btn-xs.synctex-control.synctex-control-goto-code(
  91. tooltip-html="'"+translate('go_to_pdf_location_in_code', {}, true)+"'"
  92. tooltip-placement="right"
  93. tooltip-append-to-body="true"
  94. ng-click="syncToCode()"
  95. )
  96. i.synctex-control-icon
  97. div.full-size(
  98. ng-if="ui.pdfLayout == 'flat'"
  99. ng-show="ui.view == 'pdf'"
  100. )
  101. include ./pdf