2014-06-28 07:07:18 -04:00
|
|
|
div.full-size(
|
|
|
|
ng-show="ui.view == 'editor'"
|
|
|
|
layout="pdf"
|
2014-07-22 08:33:01 -04:00
|
|
|
layout-disabled="ui.pdfLayout != 'sideBySide'"
|
2014-07-31 07:42:06 -04:00
|
|
|
mask-iframes-on-resize="true"
|
2014-06-28 07:07:18 -04:00
|
|
|
resize-on="layout:main:resize"
|
2014-07-02 08:23:04 -04:00
|
|
|
resize-proportionally="true"
|
|
|
|
initial-size-east="'50%'"
|
2016-02-23 10:21:22 -05:00
|
|
|
minimum-restore-size-east="300"
|
2014-06-28 07:07:18 -04:00
|
|
|
)
|
2016-10-13 09:22:23 -04:00
|
|
|
.ui-layout-center(ng-controller="ReviewPanelController", ng-class="{'has-review-panel': ui.reviewPanelOpen}")
|
2016-10-12 12:27:20 -04:00
|
|
|
.loading-panel(ng-show="!editor.sharejs_doc || editor.opening")
|
|
|
|
span(ng-show="editor.open_doc_id")
|
|
|
|
i.fa.fa-spin.fa-refresh
|
|
|
|
| #{translate("loading")}...
|
|
|
|
span(ng-show="!editor.open_doc_id")
|
|
|
|
i.fa.fa-arrow-left
|
|
|
|
| #{translate("open_a_file_on_the_left")}
|
2016-10-11 09:24:01 -04:00
|
|
|
|
2016-10-13 09:22:23 -04:00
|
|
|
#editor(
|
2016-10-12 12:27:20 -04:00
|
|
|
ace-editor="editor",
|
|
|
|
ng-show="!!editor.sharejs_doc && !editor.opening"
|
|
|
|
theme="settings.theme",
|
|
|
|
keybindings="settings.mode",
|
|
|
|
font-size="settings.fontSize",
|
|
|
|
auto-complete="settings.autoComplete",
|
2016-11-04 11:44:30 -04:00
|
|
|
spell-check="!anonymous",
|
2016-10-12 12:27:20 -04:00
|
|
|
spell-check-language="project.spellCheckLanguage",
|
|
|
|
highlights="onlineUserCursorHighlights[editor.open_doc_id]"
|
|
|
|
show-print-margin="false",
|
|
|
|
sharejs-doc="editor.sharejs_doc",
|
|
|
|
last-updated="editor.last_updated",
|
|
|
|
cursor-position="editor.cursorPosition",
|
|
|
|
goto-line="editor.gotoLine",
|
2016-10-13 09:22:23 -04:00
|
|
|
resize-on="layout:main:resize,layout:pdf:resize,layout:review:resize,reviewPanel:toggle",
|
2016-10-12 12:27:20 -04:00
|
|
|
annotations="pdf.logEntryAnnotations[editor.open_doc_id]",
|
|
|
|
read-only="!permissions.write",
|
2016-10-20 11:03:19 -04:00
|
|
|
file-name="editor.open_doc_name",
|
2016-10-12 12:27:20 -04:00
|
|
|
on-ctrl-enter="recompileViaKey",
|
|
|
|
syntax-validation="settings.syntaxValidation",
|
|
|
|
review-panel="reviewPanel",
|
|
|
|
on-scroll="onScroll",
|
2016-10-20 07:19:57 -04:00
|
|
|
scroll-events="scrollEvents",
|
2016-11-08 11:43:01 -05:00
|
|
|
track-changes-enabled="trackChangesFeatureFlag"
|
|
|
|
track-new-changes= "reviewPanel.trackNewChanges"
|
2016-10-12 12:27:20 -04:00
|
|
|
)
|
|
|
|
#review-panel
|
2016-11-08 11:43:01 -05:00
|
|
|
.review-panel-toolbar
|
|
|
|
| Track Changes
|
|
|
|
input(type="checkbox", ng-model="reviewPanel.trackNewChanges")
|
2016-10-12 12:27:20 -04:00
|
|
|
.review-panel-scroller
|
2016-11-10 05:19:52 -05:00
|
|
|
.rp-entry-list(review-panel-sorted)
|
|
|
|
.rp-entry-wrapper(
|
2016-11-09 10:58:03 -05:00
|
|
|
ng-repeat="(entry_id, entry) in reviewPanel.entries"
|
2016-11-09 12:10:58 -05:00
|
|
|
)
|
2016-11-10 05:19:52 -05:00
|
|
|
.rp-entry-callout(
|
|
|
|
ng-class="'rp-entry-callout-' + entry.type"
|
2016-11-09 12:10:58 -05:00
|
|
|
style="top: {{ entry.screenPos.y + 15 }}px; height: {{ top - entry.screenPos.y }}px"
|
|
|
|
)
|
2016-11-10 05:19:52 -05:00
|
|
|
.rp-entry(
|
|
|
|
ng-class="'rp-entry-' + entry.type"
|
2016-11-09 12:12:01 -05:00
|
|
|
ng-style="{'top': top}"
|
|
|
|
)
|
|
|
|
div(ng-if="entry.type == 'insert' || entry.type == 'delete'")
|
2016-11-10 05:19:52 -05:00
|
|
|
.rp-entry-header
|
|
|
|
.rp-entry-action-icon(ng-switch="entry.type")
|
|
|
|
i.fa.fa-pencil(ng-switch-when="insert")
|
|
|
|
i.rp-icon-delete(ng-switch-when="delete")
|
2016-11-09 12:09:57 -05:00
|
|
|
|
2016-11-10 05:19:52 -05:00
|
|
|
.rp-entry-metadata
|
2016-11-10 07:35:35 -05:00
|
|
|
p.rp-entry-metadata-line(style="color: hsl({{ users[entry.metadata.user_id].hue }}, 70%, 50%);") {{ users[entry.metadata.user_id].name }}
|
2016-11-10 10:08:41 -05:00
|
|
|
p.rp-entry-metadata-line {{ entry.metadata.ts | date : 'MMM d, y h:mm a' }}
|
2016-11-10 05:19:52 -05:00
|
|
|
.rp-entry-avatar(style="background-color: hsl({{ users[entry.metadata.user_id].hue }}, 70%, 50%);") {{ users[entry.metadata.user_id].avatar_text }}
|
2016-11-10 07:35:35 -05:00
|
|
|
.rp-entry-body(ng-switch="entry.type")
|
|
|
|
span(ng-switch-when="insert") Added
|
|
|
|
span.rp-content-highlight {{ entry.content }}
|
|
|
|
span(ng-switch-when="delete") Deleted
|
|
|
|
span.rp-content-highlight {{ entry.content }}
|
|
|
|
.rp-entry-actions
|
2016-11-10 10:08:41 -05:00
|
|
|
a.rp-entry-button(href, ng-click="acceptChange(entry_id)")
|
|
|
|
i.fa.fa-check
|
|
|
|
| Accept
|
|
|
|
a.rp-entry-button(href, ng-click="rejectChange(entry_id)")
|
|
|
|
i.fa.fa-times
|
|
|
|
| Reject
|
2016-11-09 12:09:57 -05:00
|
|
|
|
2016-11-09 12:12:01 -05:00
|
|
|
div(ng-if="entry.type == 'comment'")
|
|
|
|
div(ng-repeat="comment in entry.thread", class="comment-thread__comment")
|
|
|
|
div.small(style="color: hsl({{ users[comment.user_id].hue }}, 70%, 50%)") {{ users[comment.user_id].name }}
|
|
|
|
div.small {{ comment.ts }}
|
|
|
|
| {{ comment.content }}
|
|
|
|
div(ng-if="entry.replying")
|
|
|
|
textarea(ng-model="entry.replyContent")
|
|
|
|
a.btn.btn-sm.btn-primary(href, ng-click="submitReply(entry)") Submit
|
|
|
|
a(href, ng-click="cancelReply(entry)") X
|
|
|
|
a.btn.btn-sm.btn-primary(href, ng-click="startReply(entry)", ng-if="!entry.replying") Reply
|
|
|
|
div(ng-if="entry.type == 'focus-position'")
|
|
|
|
a.btn.btn-sm(href, ng-if="!commentState.adding", ng-click="startNewComment()") Add comment
|
|
|
|
div(ng-if="commentState.adding")
|
|
|
|
textarea(ng-model="commentState.content")
|
|
|
|
a.btn.btn-sm.btn-primary(href, ng-click="submitNewComment()") Submit
|
|
|
|
a(href, ng-click="cancelNewComment()") X
|
2014-06-28 07:07:18 -04:00
|
|
|
|
|
|
|
.ui-layout-east
|
2014-07-22 08:33:01 -04:00
|
|
|
div(ng-if="ui.pdfLayout == 'sideBySide'")
|
|
|
|
include ./pdf
|
2014-06-30 13:35:01 -04:00
|
|
|
|
|
|
|
.ui-layout-resizer-controls.synctex-controls(
|
2014-07-21 07:30:34 -04:00
|
|
|
ng-show="!!pdf.url && settings.pdfViewer == 'pdfjs'"
|
2014-06-30 13:35:01 -04:00
|
|
|
ng-controller="PdfSynctexController"
|
|
|
|
)
|
|
|
|
a.btn.btn-default.btn-xs(
|
2014-08-20 09:31:44 -04:00
|
|
|
tooltip="#{translate('go_to_code_location_in_pdf')}"
|
2014-06-30 13:35:01 -04:00
|
|
|
tooltip-placement="right"
|
|
|
|
tooltip-append-to-body="true"
|
|
|
|
ng-click="syncToPdf()"
|
|
|
|
)
|
|
|
|
i.fa.fa-long-arrow-right
|
|
|
|
br
|
|
|
|
a.btn.btn-default.btn-xs(
|
2015-06-03 06:14:26 -04:00
|
|
|
tooltip-html="'#{translate('go_to_pdf_location_in_code')}'"
|
2014-06-30 13:35:01 -04:00
|
|
|
tooltip-placement="right"
|
|
|
|
tooltip-append-to-body="true"
|
|
|
|
ng-click="syncToCode()"
|
|
|
|
)
|
2014-07-22 08:33:01 -04:00
|
|
|
i.fa.fa-long-arrow-left
|
|
|
|
|
|
|
|
div.full-size(
|
|
|
|
ng-if="ui.pdfLayout == 'flat'"
|
|
|
|
ng-show="ui.view == 'pdf'"
|
|
|
|
)
|
|
|
|
include ./pdf
|
|
|
|
|