Merge branch 'master' of github.com:sharelatex/web-sharelatex

This commit is contained in:
Henry Oswald 2014-03-13 17:10:15 +00:00
commit 9a86f24bf7
6 changed files with 42 additions and 16 deletions

View file

@ -120,7 +120,7 @@ module.exports = class ProjectController
allowed: true
featureSwitches:
dropbox: false
longPolling: false
trackChanges: false
else
anonymous = false
SubscriptionLocator.getUsersSubscription user._id, (err, subscription)->
@ -154,7 +154,7 @@ module.exports = class ProjectController
spellCheckLanguage: user.ace.spellCheckLanguage
pdfViewer : user.ace.pdfViewer
docPositions: {}
longPolling: user.featureSwitches.longPolling
trackChanges: user.featureSwitches.trackChanges
})
sharelatexObject : JSON.stringify({
siteUrl: Settings.siteUrl,

View file

@ -32,7 +32,7 @@ UserSchema = new Schema
}
featureSwitches : {
dropbox: {type:Boolean, default:true},
longPolling: {type:Boolean, default:false}
trackChanges: {type:Boolean, default:false}
}
referal_id : {type:String, default:() -> uuid.v4().split("-")[0]}
refered_users: [ type:ObjectId, ref:'User' ]

View file

@ -100,6 +100,8 @@ define [
showContextMenu: (position) ->
entries = @getContextMenuEntries()
@manager.trigger "contextmenu:beforeshow", @model, entries
@contextMenu = new ContextMenu(position, entries)
@contextMenu.on "destroy", () =>
delete @contextMenu

View file

@ -97,8 +97,6 @@ define [
ioOptions =
reconnect: false
"force new connection": true
if @userSettings.longPolling
ioOptions.transports = ["xhr-polling"]
@socket = socket = io.connect null, ioOptions
@messageManager = new MessageManager(@)
@ -119,7 +117,8 @@ define [
@cursorManager = new CursorManager(@)
@fileViewManager = new FileViewManager(@)
@analyticsManager = new AnalyticsManager(@)
@trackChangesManager = new TrackChangesManager(@)
if @userSettings.trackChanges
@trackChangesManager = new TrackChangesManager(@)
@setLoadingMessage("Connecting")
firstConnect = true

View file

@ -23,11 +23,14 @@ define [
@insertNameTag()
return @
destroy: () ->
@$editor?.remove()
createAceEditor: () ->
@$el.empty()
$editor = $("<div/>")
@$el.append($editor)
@aceEditor = Ace.edit($editor[0])
@$editor = $("<div/>")
@$el.append(@$editor)
@aceEditor = Ace.edit(@$editor[0])
@aceEditor.setTheme("ace/theme/#{window.userSettings.theme}")
@aceEditor.setReadOnly true
@aceEditor.setShowPrintMargin(false)

View file

@ -4,26 +4,38 @@ define [
"track-changes/ChangeListView"
"track-changes/DiffView"
"utils/Modal"
"models/Doc"
"moment"
], (ChangeList, Diff, ChangeListView, DiffView, Modal, moment) ->
], (ChangeList, Diff, ChangeListView, DiffView, Modal, Doc, moment) ->
class TrackChangesManager
template: $("#trackChangesPanelTemplate").html()
constructor: (@ide) ->
@project_id = window.userSettings.project_id
@$el = $(@template)
$("#editorWrapper").append(@$el)
@hide()
@hideEl()
@ide.editor.on "change:doc", () =>
@hide()
@hideEl()
@$el.find(".track-changes-close").on "click", (e) =>
e.preventDefault
@hide()
show: () ->
@project_id = window.userSettings.project_id
@doc_id = @ide.editor.current_doc_id
@ide.fileTreeManager.on "contextmenu:beforeshow", (entity, entries) =>
if entity instanceof Doc
entries.push {
divider: true
}, {
text: "History"
onClick: () =>
@show(entity.id)
}
show: (@doc_id) ->
@ide.fileTreeManager.selectEntity(@doc_id)
@changes = new ChangeList([], doc_id: @doc_id, project_id: @project_id)
@changeListView = new ChangeListView(
@ -40,8 +52,15 @@ define [
@changeListView.on "restore", (change) =>
@restore(change)
if @diffView?
@diffView.destroy()
@showEl()
hide: () ->
@hideEl()
@ide.fileTreeManager.openDoc(@doc_id)
autoSelectDiff: () ->
if @changes.models.length == 0
return
@ -69,6 +88,9 @@ define [
from: fromModel.get("fromVersion")
to: toModel.get("toVersion")
})
if @diffView?
@diffView.destroy()
@diffView = new DiffView(
model: @diff
el: @$el.find(".track-changes-diff")
@ -79,7 +101,7 @@ define [
@ide.editor.hide()
@$el.show()
hide: () ->
hideEl: () ->
@ide.editor.show()
@$el.hide()