mirror of
https://github.com/overleaf/overleaf.git
synced 2025-04-21 03:13:42 +00:00
Rename track-changes -> history on the client
Conflicts: app/views/project/editor/history.jade
This commit is contained in:
parent
73bb11e4a0
commit
1c9abd35f8
12 changed files with 144 additions and 144 deletions
|
@ -66,7 +66,7 @@ block content
|
|||
.ui-layout-center
|
||||
include ./editor/editor
|
||||
include ./editor/binary-file
|
||||
include ./editor/track-changes
|
||||
include ./editor/history
|
||||
include ./editor/publish-template
|
||||
|
||||
.ui-layout-east
|
||||
|
|
|
@ -70,13 +70,13 @@ aside#file-tree(ng-controller="FileTreeController", ng-class="{ 'multi-selected'
|
|||
ng-repeat="entity in rootFolder.children | orderBy:[orderByFoldersFirst, 'name']"
|
||||
)
|
||||
|
||||
li(ng-show="deletedDocs.length > 0 && ui.view == 'track-changes'")
|
||||
li(ng-show="deletedDocs.length > 0 && ui.view == 'history'")
|
||||
h3 #{translate("deleted_files")}
|
||||
li(
|
||||
ng-class="{ 'selected': entity.selected }",
|
||||
ng-repeat="entity in deletedDocs | orderBy:'name'",
|
||||
ng-controller="FileTreeEntityController",
|
||||
ng-show="ui.view == 'track-changes'"
|
||||
ng-show="ui.view == 'history'"
|
||||
)
|
||||
.entity
|
||||
.entity-name(
|
||||
|
|
|
@ -102,8 +102,8 @@ div(ng-if="!shouldABTestHeaderLabels")
|
|||
i.fa.fa-fw.fa-group
|
||||
a.btn.btn-full-height(
|
||||
href,
|
||||
ng-click="toggleTrackChanges()",
|
||||
ng-class="{ active: (ui.view == 'track-changes') }"
|
||||
ng-click="toggleHistory()",
|
||||
ng-class="{ active: (ui.view == 'history') }"
|
||||
tooltip="#{translate('recent_changes')}",
|
||||
tooltip-placement="bottom",
|
||||
)
|
||||
|
@ -232,8 +232,8 @@ div(ng-if="shouldABTestHeaderLabels")
|
|||
i.fa.fa-fw.fa-group
|
||||
a.btn.btn-full-height(
|
||||
href,
|
||||
ng-click="toggleTrackChanges(); trackABTestConversion('history');",
|
||||
ng-class="{ active: (ui.view == 'track-changes') }"
|
||||
ng-click="toggleHistory(); trackABTestConversion('history');",
|
||||
ng-class="{ active: (ui.view == 'history') }"
|
||||
tooltip="#{translate('recent_changes')}",
|
||||
tooltip-placement="bottom",
|
||||
sixpack-convert="editor-header"
|
||||
|
@ -357,8 +357,8 @@ div(ng-if="shouldABTestHeaderLabels")
|
|||
p.toolbar-label #{translate("share")}
|
||||
a.btn.btn-full-height(
|
||||
href,
|
||||
ng-click="toggleTrackChanges(); trackABTestConversion('history');",
|
||||
ng-class="{ active: (ui.view == 'track-changes') }",
|
||||
ng-click="toggleHistory(); trackABTestConversion('history');",
|
||||
ng-class="{ active: (ui.view == 'history') }",
|
||||
sixpack-convert="editor-header"
|
||||
)
|
||||
i.fa.fa-fw.fa-history
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
div#trackChanges(ng-show="ui.view == 'track-changes'")
|
||||
span(ng-controller="TrackChangesPremiumPopup")
|
||||
div#history(ng-show="ui.view == 'history'")
|
||||
span(ng-controller="HistoryPremiumPopup")
|
||||
.upgrade-prompt(ng-show="!project.features.versioning")
|
||||
.message(ng-show="project.owner._id == user.id")
|
||||
p.text-center: strong #{translate("upgrade_to_get_feature", {feature:"full Project History"})}
|
||||
|
@ -33,29 +33,29 @@ div#trackChanges(ng-show="ui.view == 'track-changes'")
|
|||
a.btn.btn-success(
|
||||
href
|
||||
ng-class="buttonClass"
|
||||
ng-click="startFreeTrial('track-changes')"
|
||||
ng-click="startFreeTrial('history')"
|
||||
) #{translate("start_free_trial")}
|
||||
|
||||
|
||||
.message(ng-show="project.owner._id != user.id")
|
||||
p #{translate("ask_proj_owner_to_upgrade_for_history")}
|
||||
p
|
||||
a.small(href, ng-click="toggleTrackChanges()") #{translate("cancel")}
|
||||
a.small(href, ng-click="toggleHistory()") #{translate("cancel")}
|
||||
|
||||
aside.change-list(
|
||||
ng-controller="TrackChangesListController"
|
||||
ng-controller="HistoryListController"
|
||||
infinite-scroll="loadMore()"
|
||||
infinite-scroll-disabled="trackChanges.loading || trackChanges.atEnd"
|
||||
infinite-scroll-initialize="ui.view == 'track-changes'"
|
||||
infinite-scroll-disabled="history.loading || history.atEnd"
|
||||
infinite-scroll-initialize="ui.view == 'history'"
|
||||
)
|
||||
.infinite-scroll-inner
|
||||
ul.list-unstyled(
|
||||
ng-class="{\
|
||||
'hover-state': trackChanges.hoveringOverListSelectors\
|
||||
'hover-state': history.hoveringOverListSelectors\
|
||||
}"
|
||||
)
|
||||
li.change(
|
||||
ng-repeat="update in trackChanges.updates"
|
||||
ng-repeat="update in history.updates"
|
||||
ng-class="{\
|
||||
'first-in-day': update.meta.first_in_day,\
|
||||
'selected': update.inSelection,\
|
||||
|
@ -65,7 +65,7 @@ div#trackChanges(ng-show="ui.view == 'track-changes'")
|
|||
'hover-selected-to': update.hoverSelectedTo,\
|
||||
'hover-selected-from': update.hoverSelectedFrom,\
|
||||
}"
|
||||
ng-controller="TrackChangesListItemController"
|
||||
ng-controller="HistoryListItemController"
|
||||
)
|
||||
|
||||
div.day(ng-show="update.meta.first_in_day") {{ update.meta.end_ts | relativeDate }}
|
||||
|
@ -108,55 +108,55 @@ div#trackChanges(ng-show="ui.view == 'track-changes'")
|
|||
.color-square(style="background-color: hsl(100, 100%, 50%)")
|
||||
span #{translate("anonymous")}
|
||||
|
||||
.loading(ng-show="trackChanges.loading")
|
||||
.loading(ng-show="history.loading")
|
||||
i.fa.fa-spin.fa-refresh
|
||||
| #{translate("loading")}...
|
||||
|
||||
.diff-panel.full-size(ng-controller="TrackChangesDiffController")
|
||||
.diff-panel.full-size(ng-controller="HistoryDiffController")
|
||||
.diff(
|
||||
ng-show="!!trackChanges.diff && !trackChanges.diff.loading && !trackChanges.diff.deleted && !trackChanges.diff.error"
|
||||
ng-show="!!history.diff && !history.diff.loading && !history.diff.deleted && !history.diff.error"
|
||||
)
|
||||
.toolbar.toolbar-alt
|
||||
span.name
|
||||
| <strong>{{trackChanges.diff.highlights.length}} </strong>
|
||||
| <strong>{{history.diff.highlights.length}} </strong>
|
||||
ng-pluralize(
|
||||
count="trackChanges.diff.highlights.length",
|
||||
count="history.diff.highlights.length",
|
||||
when="{\
|
||||
'one': 'change',\
|
||||
'other': 'changes'\
|
||||
}"
|
||||
)
|
||||
| in <strong>{{trackChanges.diff.doc.name}}</strong>
|
||||
| in <strong>{{history.diff.doc.name}}</strong>
|
||||
.toolbar-right
|
||||
a.btn.btn-danger.btn-sm(
|
||||
href,
|
||||
ng-click="openRestoreDiffModal()"
|
||||
) #{translate("restore_to_before_these_changes")}
|
||||
.diff-editor.hide-ace-cursor(
|
||||
ace-editor="track-changes",
|
||||
ace-editor="history",
|
||||
theme="settings.theme",
|
||||
font-size="settings.fontSize",
|
||||
text="trackChanges.diff.text",
|
||||
highlights="trackChanges.diff.highlights",
|
||||
text="history.diff.text",
|
||||
highlights="history.diff.highlights",
|
||||
read-only="true",
|
||||
resize-on="layout:main:resize",
|
||||
navigate-highlights="true"
|
||||
)
|
||||
.diff-deleted.text-centered(
|
||||
ng-show="trackChanges.diff.deleted && !trackChanges.diff.restoreDeletedSuccess"
|
||||
ng-show="history.diff.deleted && !history.diff.restoreDeletedSuccess"
|
||||
)
|
||||
p.text-serif #{translate("file_has_been_deleted", {filename:"{{ trackChanges.diff.doc.name }} "})}
|
||||
p.text-serif #{translate("file_has_been_deleted", {filename:"{{ history.diff.doc.name }} "})}
|
||||
p
|
||||
a.btn.btn-primary.btn-lg(
|
||||
href,
|
||||
ng-click="restoreDeletedDoc()",
|
||||
ng-disabled="trackChanges.diff.restoreInProgress"
|
||||
ng-disabled="history.diff.restoreInProgress"
|
||||
) #{translate("restore")}
|
||||
|
||||
.diff-deleted.text-centered(
|
||||
ng-show="trackChanges.diff.deleted && trackChanges.diff.restoreDeletedSuccess"
|
||||
ng-show="history.diff.deleted && history.diff.restoreDeletedSuccess"
|
||||
)
|
||||
p.text-serif #{translate("file_restored", {filename:"{{ trackChanges.diff.doc.name }} "})}
|
||||
p.text-serif #{translate("file_restored", {filename:"{{ history.diff.doc.name }} "})}
|
||||
p.text-serif #{translate("file_restored_back_to_editor")}
|
||||
p
|
||||
a.btn.btn-default(
|
||||
|
@ -164,13 +164,13 @@ div#trackChanges(ng-show="ui.view == 'track-changes'")
|
|||
ng-click="backToEditorAfterRestore()",
|
||||
) #{translate("file_restored_back_to_editor_btn")}
|
||||
|
||||
.loading-panel(ng-show="trackChanges.diff.loading")
|
||||
.loading-panel(ng-show="history.diff.loading")
|
||||
i.fa.fa-spin.fa-refresh
|
||||
| #{translate("loading")}...
|
||||
.error-panel(ng-show="trackChanges.diff.error")
|
||||
.error-panel(ng-show="history.diff.error")
|
||||
.alert.alert-danger #{translate("generic_something_went_wrong")}
|
||||
|
||||
script(type="text/ng-template", id="trackChangesRestoreDiffModalTemplate")
|
||||
script(type="text/ng-template", id="historyRestoreDiffModalTemplate")
|
||||
.modal-header
|
||||
button.close(
|
||||
type="button"
|
|
@ -4,7 +4,7 @@ define [
|
|||
"ide/connection/ConnectionManager"
|
||||
"ide/editor/EditorManager"
|
||||
"ide/online-users/OnlineUsersManager"
|
||||
"ide/track-changes/TrackChangesManager"
|
||||
"ide/history/HistoryManager"
|
||||
"ide/permissions/PermissionsManager"
|
||||
"ide/pdf/PdfManager"
|
||||
"ide/binary-files/BinaryFilesManager"
|
||||
|
@ -36,7 +36,7 @@ define [
|
|||
ConnectionManager
|
||||
EditorManager
|
||||
OnlineUsersManager
|
||||
TrackChangesManager
|
||||
HistoryManager
|
||||
PermissionsManager
|
||||
PdfManager
|
||||
BinaryFilesManager
|
||||
|
@ -116,7 +116,7 @@ define [
|
|||
ide.fileTreeManager = new FileTreeManager(ide, $scope)
|
||||
ide.editorManager = new EditorManager(ide, $scope)
|
||||
ide.onlineUsersManager = new OnlineUsersManager(ide, $scope)
|
||||
ide.trackChangesManager = new TrackChangesManager(ide, $scope)
|
||||
ide.historyManager = new HistoryManager(ide, $scope)
|
||||
ide.pdfManager = new PdfManager(ide, $scope)
|
||||
ide.permissionsManager = new PermissionsManager(ide, $scope)
|
||||
ide.binaryFilesManager = new BinaryFilesManager(ide, $scope)
|
||||
|
|
|
@ -1,30 +1,30 @@
|
|||
define [
|
||||
"ide/track-changes/controllers/TrackChangesListController"
|
||||
"ide/track-changes/controllers/TrackChangesDiffController"
|
||||
"ide/track-changes/directives/infiniteScroll"
|
||||
"ide/history/controllers/HistoryListController"
|
||||
"ide/history/controllers/HistoryDiffController"
|
||||
"ide/history/directives/infiniteScroll"
|
||||
], () ->
|
||||
class TrackChangesManager
|
||||
class HistoryManager
|
||||
constructor: (@ide, @$scope) ->
|
||||
@reset()
|
||||
|
||||
@$scope.toggleTrackChanges = () =>
|
||||
if @$scope.ui.view == "track-changes"
|
||||
@$scope.toggleHistory = () =>
|
||||
if @$scope.ui.view == "history"
|
||||
@hide()
|
||||
else
|
||||
@show()
|
||||
|
||||
@$scope.$watch "trackChanges.selection.updates", (updates) =>
|
||||
@$scope.$watch "history.selection.updates", (updates) =>
|
||||
if updates? and updates.length > 0
|
||||
@_selectDocFromUpdates()
|
||||
@reloadDiff()
|
||||
|
||||
@$scope.$on "entity:selected", (event, entity) =>
|
||||
if (@$scope.ui.view == "track-changes") and (entity.type == "doc")
|
||||
@$scope.trackChanges.selection.doc = entity
|
||||
if (@$scope.ui.view == "history") and (entity.type == "doc")
|
||||
@$scope.history.selection.doc = entity
|
||||
@reloadDiff()
|
||||
|
||||
show: () ->
|
||||
@$scope.ui.view = "track-changes"
|
||||
@$scope.ui.view = "history"
|
||||
@reset()
|
||||
|
||||
hide: () ->
|
||||
|
@ -33,7 +33,7 @@ define [
|
|||
@$scope.$emit "entity:selected", @ide.fileTreeManager.findSelectedEntity()
|
||||
|
||||
reset: () ->
|
||||
@$scope.trackChanges = {
|
||||
@$scope.history = {
|
||||
updates: []
|
||||
nextBeforeTimestamp: null
|
||||
atEnd: false
|
||||
|
@ -51,36 +51,36 @@ define [
|
|||
}
|
||||
|
||||
autoSelectRecentUpdates: () ->
|
||||
return if @$scope.trackChanges.updates.length == 0
|
||||
return if @$scope.history.updates.length == 0
|
||||
|
||||
@$scope.trackChanges.updates[0].selectedTo = true
|
||||
@$scope.history.updates[0].selectedTo = true
|
||||
|
||||
indexOfLastUpdateNotByMe = 0
|
||||
for update, i in @$scope.trackChanges.updates
|
||||
for update, i in @$scope.history.updates
|
||||
if @_updateContainsUserId(update, @$scope.user.id)
|
||||
break
|
||||
indexOfLastUpdateNotByMe = i
|
||||
|
||||
@$scope.trackChanges.updates[indexOfLastUpdateNotByMe].selectedFrom = true
|
||||
@$scope.history.updates[indexOfLastUpdateNotByMe].selectedFrom = true
|
||||
|
||||
BATCH_SIZE: 10
|
||||
fetchNextBatchOfUpdates: () ->
|
||||
url = "/project/#{@ide.project_id}/updates?min_count=#{@BATCH_SIZE}"
|
||||
if @$scope.trackChanges.nextBeforeTimestamp?
|
||||
url += "&before=#{@$scope.trackChanges.nextBeforeTimestamp}"
|
||||
@$scope.trackChanges.loading = true
|
||||
if @$scope.history.nextBeforeTimestamp?
|
||||
url += "&before=#{@$scope.history.nextBeforeTimestamp}"
|
||||
@$scope.history.loading = true
|
||||
@ide.$http
|
||||
.get(url)
|
||||
.success (data) =>
|
||||
@_loadUpdates(data.updates)
|
||||
@$scope.trackChanges.nextBeforeTimestamp = data.nextBeforeTimestamp
|
||||
@$scope.history.nextBeforeTimestamp = data.nextBeforeTimestamp
|
||||
if !data.nextBeforeTimestamp?
|
||||
@$scope.trackChanges.atEnd = true
|
||||
@$scope.trackChanges.loading = false
|
||||
@$scope.history.atEnd = true
|
||||
@$scope.history.loading = false
|
||||
|
||||
reloadDiff: () ->
|
||||
diff = @$scope.trackChanges.diff
|
||||
{updates, doc} = @$scope.trackChanges.selection
|
||||
diff = @$scope.history.diff
|
||||
{updates, doc} = @$scope.history.selection
|
||||
{fromV, toV, start_ts, end_ts} = @_calculateRangeFromSelection()
|
||||
|
||||
return if !doc?
|
||||
|
@ -90,7 +90,7 @@ define [
|
|||
diff.fromV == fromV and
|
||||
diff.toV == toV
|
||||
|
||||
@$scope.trackChanges.diff = diff = {
|
||||
@$scope.history.diff = diff = {
|
||||
fromV: fromV
|
||||
toV: toV
|
||||
start_ts: start_ts
|
||||
|
@ -183,7 +183,7 @@ define [
|
|||
return {text, highlights}
|
||||
|
||||
_loadUpdates: (updates = []) ->
|
||||
previousUpdate = @$scope.trackChanges.updates[@$scope.trackChanges.updates.length - 1]
|
||||
previousUpdate = @$scope.history.updates[@$scope.history.updates.length - 1]
|
||||
|
||||
for update in updates
|
||||
for doc_id, doc of update.docs or {}
|
||||
|
@ -202,19 +202,19 @@ define [
|
|||
|
||||
previousUpdate = update
|
||||
|
||||
firstLoad = @$scope.trackChanges.updates.length == 0
|
||||
firstLoad = @$scope.history.updates.length == 0
|
||||
|
||||
@$scope.trackChanges.updates =
|
||||
@$scope.trackChanges.updates.concat(updates)
|
||||
@$scope.history.updates =
|
||||
@$scope.history.updates.concat(updates)
|
||||
|
||||
@autoSelectRecentUpdates() if firstLoad
|
||||
|
||||
_calculateRangeFromSelection: () ->
|
||||
fromV = toV = start_ts = end_ts = null
|
||||
|
||||
selected_doc_id = @$scope.trackChanges.selection.doc?.id
|
||||
selected_doc_id = @$scope.history.selection.doc?.id
|
||||
|
||||
for update in @$scope.trackChanges.selection.updates or []
|
||||
for update in @$scope.history.selection.updates or []
|
||||
for doc_id, doc of update.docs
|
||||
if doc_id == selected_doc_id
|
||||
if fromV? and toV?
|
||||
|
@ -236,11 +236,11 @@ define [
|
|||
# then prefer this one if present.
|
||||
_selectDocFromUpdates: () ->
|
||||
affected_docs = {}
|
||||
for update in @$scope.trackChanges.selection.updates
|
||||
for update in @$scope.history.selection.updates
|
||||
for doc_id, doc of update.docs
|
||||
affected_docs[doc_id] = doc.entity
|
||||
|
||||
selected_doc = @$scope.trackChanges.selection.doc
|
||||
selected_doc = @$scope.history.selection.doc
|
||||
if selected_doc? and affected_docs[selected_doc.id]?
|
||||
# Selected doc is already open
|
||||
else
|
||||
|
@ -248,7 +248,7 @@ define [
|
|||
selected_doc = doc
|
||||
break
|
||||
|
||||
@$scope.trackChanges.selection.doc = selected_doc
|
||||
@$scope.history.selection.doc = selected_doc
|
||||
@ide.fileTreeManager.selectEntity(selected_doc)
|
||||
|
||||
_updateContainsUserId: (update, user_id) ->
|
|
@ -0,0 +1,46 @@
|
|||
define [
|
||||
"base"
|
||||
], (App) ->
|
||||
App.controller "HistoryDiffController", ($scope, $modal, ide, event_tracking) ->
|
||||
$scope.restoreDeletedDoc = () ->
|
||||
event_tracking.sendMB "history-restore-deleted"
|
||||
$scope.history.diff.restoreInProgress = true
|
||||
ide.historyManager
|
||||
.restoreDeletedDoc(
|
||||
$scope.history.diff.doc
|
||||
)
|
||||
.success (response) ->
|
||||
$scope.history.diff.restoredDocNewId = response.doc_id
|
||||
$scope.history.diff.restoreInProgress = false
|
||||
$scope.history.diff.restoreDeletedSuccess = true
|
||||
|
||||
$scope.openRestoreDiffModal = () ->
|
||||
event_tracking.sendMB "history-restore-modal"
|
||||
$modal.open {
|
||||
templateUrl: "historyRestoreDiffModalTemplate"
|
||||
controller: "HistoryRestoreDiffModalController"
|
||||
resolve:
|
||||
diff: () -> $scope.history.diff
|
||||
}
|
||||
|
||||
$scope.backToEditorAfterRestore = () ->
|
||||
ide.editorManager.openDoc({ id: $scope.history.diff.restoredDocNewId })
|
||||
|
||||
App.controller "HistoryRestoreDiffModalController", ($scope, $modalInstance, diff, ide, event_tracking) ->
|
||||
$scope.state =
|
||||
inflight: false
|
||||
|
||||
$scope.diff = diff
|
||||
|
||||
$scope.restore = () ->
|
||||
event_tracking.sendMB "history-restored"
|
||||
$scope.state.inflight = true
|
||||
ide.historyManager
|
||||
.restoreDiff(diff)
|
||||
.success () ->
|
||||
$scope.state.inflight = false
|
||||
$modalInstance.close()
|
||||
ide.editorManager.openDoc(diff.doc)
|
||||
|
||||
$scope.cancel = () ->
|
||||
$modalInstance.dismiss()
|
|
@ -2,26 +2,26 @@ define [
|
|||
"base"
|
||||
], (App) ->
|
||||
|
||||
App.controller "TrackChangesPremiumPopup", ($scope, ide, sixpack)->
|
||||
App.controller "HistoryPremiumPopup", ($scope, ide, sixpack)->
|
||||
$scope.$watch "ui.view", ->
|
||||
if $scope.ui.view == "track-changes"
|
||||
if $scope.ui.view == "history"
|
||||
if $scope.project?.features?.versioning
|
||||
$scope.versioningPopupType = "default"
|
||||
else if $scope.ui.view == "track-changes"
|
||||
sixpack.participate 'track-changes-discount', ['default', 'discount'], (chosenVariation, rawResponse)->
|
||||
else if $scope.ui.view == "history"
|
||||
sixpack.participate 'history-discount', ['default', 'discount'], (chosenVariation, rawResponse)->
|
||||
$scope.versioningPopupType = chosenVariation
|
||||
|
||||
App.controller "TrackChangesListController", ["$scope", "ide", ($scope, ide) ->
|
||||
App.controller "HistoryListController", ["$scope", "ide", ($scope, ide) ->
|
||||
$scope.hoveringOverListSelectors = false
|
||||
|
||||
$scope.loadMore = () =>
|
||||
ide.trackChangesManager.fetchNextBatchOfUpdates()
|
||||
ide.historyManager.fetchNextBatchOfUpdates()
|
||||
|
||||
$scope.recalculateSelectedUpdates = () ->
|
||||
beforeSelection = true
|
||||
afterSelection = false
|
||||
$scope.trackChanges.selection.updates = []
|
||||
for update in $scope.trackChanges.updates
|
||||
$scope.history.selection.updates = []
|
||||
for update in $scope.history.updates
|
||||
if update.selectedTo
|
||||
inSelection = true
|
||||
beforeSelection = false
|
||||
|
@ -31,7 +31,7 @@ define [
|
|||
update.afterSelection = afterSelection
|
||||
|
||||
if inSelection
|
||||
$scope.trackChanges.selection.updates.push update
|
||||
$scope.history.selection.updates.push update
|
||||
|
||||
if update.selectedFrom
|
||||
inSelection = false
|
||||
|
@ -40,7 +40,7 @@ define [
|
|||
$scope.recalculateHoveredUpdates = () ->
|
||||
hoverSelectedFrom = false
|
||||
hoverSelectedTo = false
|
||||
for update in $scope.trackChanges.updates
|
||||
for update in $scope.history.updates
|
||||
# Figure out whether the to or from selector is hovered over
|
||||
if update.hoverSelectedFrom
|
||||
hoverSelectedFrom = true
|
||||
|
@ -50,7 +50,7 @@ define [
|
|||
if hoverSelectedFrom
|
||||
# We want to 'hover select' everything between hoverSelectedFrom and selectedTo
|
||||
inHoverSelection = false
|
||||
for update in $scope.trackChanges.updates
|
||||
for update in $scope.history.updates
|
||||
if update.selectedTo
|
||||
update.hoverSelectedTo = true
|
||||
inHoverSelection = true
|
||||
|
@ -60,7 +60,7 @@ define [
|
|||
if hoverSelectedTo
|
||||
# We want to 'hover select' everything between hoverSelectedTo and selectedFrom
|
||||
inHoverSelection = false
|
||||
for update in $scope.trackChanges.updates
|
||||
for update in $scope.history.updates
|
||||
if update.hoverSelectedTo
|
||||
inHoverSelection = true
|
||||
update.inHoverSelection = inHoverSelection
|
||||
|
@ -69,49 +69,49 @@ define [
|
|||
inHoverSelection = false
|
||||
|
||||
$scope.resetHoverState = () ->
|
||||
for update in $scope.trackChanges.updates
|
||||
for update in $scope.history.updates
|
||||
delete update.hoverSelectedFrom
|
||||
delete update.hoverSelectedTo
|
||||
delete update.inHoverSelection
|
||||
|
||||
$scope.$watch "trackChanges.updates.length", () ->
|
||||
$scope.$watch "history.updates.length", () ->
|
||||
$scope.recalculateSelectedUpdates()
|
||||
]
|
||||
|
||||
App.controller "TrackChangesListItemController", ["$scope", "event_tracking", ($scope, event_tracking) ->
|
||||
App.controller "HistoryListItemController", ["$scope", "event_tracking", ($scope, event_tracking) ->
|
||||
$scope.$watch "update.selectedFrom", (selectedFrom, oldSelectedFrom) ->
|
||||
if selectedFrom
|
||||
for update in $scope.trackChanges.updates
|
||||
for update in $scope.history.updates
|
||||
update.selectedFrom = false unless update == $scope.update
|
||||
$scope.recalculateSelectedUpdates()
|
||||
|
||||
$scope.$watch "update.selectedTo", (selectedTo, oldSelectedTo) ->
|
||||
if selectedTo
|
||||
for update in $scope.trackChanges.updates
|
||||
for update in $scope.history.updates
|
||||
update.selectedTo = false unless update == $scope.update
|
||||
$scope.recalculateSelectedUpdates()
|
||||
|
||||
$scope.select = () ->
|
||||
event_tracking.sendMB "track-changes-view-change"
|
||||
event_tracking.sendMB "history-view-change"
|
||||
$scope.update.selectedTo = true
|
||||
$scope.update.selectedFrom = true
|
||||
|
||||
$scope.mouseOverSelectedFrom = () ->
|
||||
$scope.trackChanges.hoveringOverListSelectors = true
|
||||
$scope.history.hoveringOverListSelectors = true
|
||||
$scope.update.hoverSelectedFrom = true
|
||||
$scope.recalculateHoveredUpdates()
|
||||
|
||||
$scope.mouseOutSelectedFrom = () ->
|
||||
$scope.trackChanges.hoveringOverListSelectors = false
|
||||
$scope.history.hoveringOverListSelectors = false
|
||||
$scope.resetHoverState()
|
||||
|
||||
$scope.mouseOverSelectedTo = () ->
|
||||
$scope.trackChanges.hoveringOverListSelectors = true
|
||||
$scope.history.hoveringOverListSelectors = true
|
||||
$scope.update.hoverSelectedTo = true
|
||||
$scope.recalculateHoveredUpdates()
|
||||
|
||||
$scope.mouseOutSelectedTo = () ->
|
||||
$scope.trackChanges.hoveringOverListSelectors = false
|
||||
$scope.history.hoveringOverListSelectors = false
|
||||
$scope.resetHoverState()
|
||||
|
||||
$scope.displayName = (user) ->
|
|
@ -1,46 +0,0 @@
|
|||
define [
|
||||
"base"
|
||||
], (App) ->
|
||||
App.controller "TrackChangesDiffController", ($scope, $modal, ide, event_tracking) ->
|
||||
$scope.restoreDeletedDoc = () ->
|
||||
event_tracking.sendMB "track-changes-restore-deleted"
|
||||
$scope.trackChanges.diff.restoreInProgress = true
|
||||
ide.trackChangesManager
|
||||
.restoreDeletedDoc(
|
||||
$scope.trackChanges.diff.doc
|
||||
)
|
||||
.success (response) ->
|
||||
$scope.trackChanges.diff.restoredDocNewId = response.doc_id
|
||||
$scope.trackChanges.diff.restoreInProgress = false
|
||||
$scope.trackChanges.diff.restoreDeletedSuccess = true
|
||||
|
||||
$scope.openRestoreDiffModal = () ->
|
||||
event_tracking.sendMB "track-changes-restore-modal"
|
||||
$modal.open {
|
||||
templateUrl: "trackChangesRestoreDiffModalTemplate"
|
||||
controller: "TrackChangesRestoreDiffModalController"
|
||||
resolve:
|
||||
diff: () -> $scope.trackChanges.diff
|
||||
}
|
||||
|
||||
$scope.backToEditorAfterRestore = () ->
|
||||
ide.editorManager.openDoc({ id: $scope.trackChanges.diff.restoredDocNewId })
|
||||
|
||||
App.controller "TrackChangesRestoreDiffModalController", ($scope, $modalInstance, diff, ide, event_tracking) ->
|
||||
$scope.state =
|
||||
inflight: false
|
||||
|
||||
$scope.diff = diff
|
||||
|
||||
$scope.restore = () ->
|
||||
event_tracking.sendMB "track-changes-restored"
|
||||
$scope.state.inflight = true
|
||||
ide.trackChangesManager
|
||||
.restoreDiff(diff)
|
||||
.success () ->
|
||||
$scope.state.inflight = false
|
||||
$modalInstance.close()
|
||||
ide.editorManager.openDoc(diff.doc)
|
||||
|
||||
$scope.cancel = () ->
|
||||
$modalInstance.dismiss()
|
|
@ -1,5 +1,5 @@
|
|||
@import "./editor/file-tree.less";
|
||||
@import "./editor/track-changes.less";
|
||||
@import "./editor/history.less";
|
||||
@import "./editor/toolbar.less";
|
||||
@import "./editor/left-menu.less";
|
||||
@import "./editor/pdf.less";
|
||||
|
@ -422,4 +422,4 @@
|
|||
.dropbox-teaser-video {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
@range-bar-color: @link-color;
|
||||
@range-bar-selected-offset: 14px;
|
||||
|
||||
#trackChanges {
|
||||
#history {
|
||||
.upgrade-prompt {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
|
@ -272,7 +272,7 @@
|
|||
}
|
||||
|
||||
.editor-dark {
|
||||
#trackChanges {
|
||||
#history {
|
||||
aside.change-list {
|
||||
border-color: @editor-dark-toolbar-border-color;
|
||||
|
Loading…
Add table
Reference in a new issue