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

This commit is contained in:
Henry Oswald 2014-07-17 13:43:41 +01:00
commit b428a8fb7d
13 changed files with 74 additions and 30 deletions

View file

@ -10,7 +10,7 @@ module.exports =
json:
content:messageContent
user_id:user_id
uri:"#{settings.apis.chat.url}/room/#{project_id}/messages"
uri:"#{settings.apis.chat.internal_url}/room/#{project_id}/messages"
request opts, (err, response, body)->
if err?
logger.err err:err, "problem sending new message to chat"
@ -24,7 +24,7 @@ module.exports =
qs.before = query.before if query?.before?
opts =
uri:"#{settings.apis.chat.url}/room/#{project_id}/messages"
uri:"#{settings.apis.chat.internal_url}/room/#{project_id}/messages"
method:"get"
qs: qs

View file

@ -33,7 +33,10 @@ aside.chat(
}"
)
.arrow(ng-style="{'border-color': 'hsl({{ hue(message.user) }}, 60%, 80%)'}")
p(ng-repeat="content in message.contents track by $index") {{ content }}
p(
mathjax,
ng-repeat="content in message.contents track by $index"
) {{ content }}
.new-message
textarea(

View file

@ -312,7 +312,7 @@ script(type='text/ng-template', id='newDocModalTemplate')
script(type='text/ng-template', id='newFolderModalTemplate')
.modal-header
h3 New File
h3 New Folder
.modal-body
form(novalidate, name="newFolderForm")
input.form-control(

View file

@ -69,8 +69,8 @@ script(type='text/ng-template', id='shareProjectModalTemplate')
div.text-center(ng-hide="canAddCollaborators")
p You need to upgrade your account to add more collaborators.
p
a.btn.btn-info(href, ng-click="startFreeTrial()") Start Free Trial
p.small(ng-show="state.startedFreeTrial")
a.btn.btn-info(href, ng-click="startFreeTrial('projectMembers')") Start Free Trial
p.small(ng-show="startedFreeTrial")
| Please refresh this page after starting your free trial.
.modal-footer

View file

@ -4,9 +4,8 @@ div#trackChanges(ng-show="ui.view == 'track-changes'")
p You need to upgrade your account to use the History feature.
p
a.btn.btn-info(
href="/user/subscription/plans"
target="_blank"
ng-click="startedFreeTrial = true"
href
ng-click="startFreeTrial('track-changes')"
) Start Free Trial
p.small(ng-show="startedFreeTrial") Please refresh the page after starting your free trial.
.message(ng-show="project.owner._id != user.id")
@ -70,8 +69,8 @@ div#trackChanges(ng-show="ui.view == 'track-changes'")
div.users
div.user(ng-repeat="update_user in update.meta.users")
.color-square(ng-style="{'background-color': 'hsl({{ update_user.hue }}, 100%, 50%)'}")
span(ng-if="update_user.id != user.id") {{update_user.first_name}} {{update_user.last_name}}
span(ng-if="update_user.id == user.id") You
.name(ng-if="update_user.id != user.id") {{update_user.first_name}} {{update_user.last_name}}
.name(ng-if="update_user.id == user.id") You
div.user(ng-if="update.meta.users.length == 0")
.color-square(style="background-color: hsl(100, 100%, 50%)")
span Anonymous

View file

@ -88,6 +88,7 @@ module.exports =
subdomain: ""
chat:
url: "http://localhost:3010"
internal_url: "http://localhost:3010"
templates:
port: 3007
user_id: process.env.TEMPLATES_USER_ID or "5395eb7aad1f29a88756c7f2"

View file

@ -53,6 +53,11 @@ define [
$scope.settings = window.userSettings
$scope.chat = {}
$scope.startFreeTrial = (source) ->
ga?('send', 'event', 'subscription-funnel', 'upgraded-free-trial', source)
window.open("/user/subscription/new?planCode=student_free_trial")
$scope.startedFreeTrial = true
window._ide = ide

View file

@ -0,0 +1,24 @@
define [
"base"
"mathjax"
], (App) ->
mathjaxConfig =
"HTML-CSS": { availableFonts: ["TeX"] },
TeX:
equationNumbers: { autoNumber: "AMS" },
useLabelIDs: false
tex2jax:
inlineMath: [ ['$','$'], ["\\(","\\)"] ],
displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
processEscapes: true
MathJax.Hub.Config(mathjaxConfig);
App.directive "mathjax", () ->
return {
link: (scope, element, attrs) ->
setTimeout () ->
MathJax.Hub.Queue(["Typeset", MathJax.Hub, element.get(0)])
, 0
}

View file

@ -2,4 +2,5 @@ define [
"ide/chat/controllers/ChatButtonController"
"ide/chat/controllers/ChatController"
"ide/chat/controllers/ChatMessageController"
"ide/chat/directives/mathjax"
], () ->

View file

@ -14,11 +14,27 @@ define [
nextBeforeTimestamp: null
newMessage: null
}
justSent = false
ide.socket.on "new-chat-message", (message) =>
ide.$scope.$apply () ->
chat.state.newMessage = message
appendMessage(message)
if message.user.id == ide.$scope.user.id and justSent
# Nothing to do
else
ide.$scope.$apply () ->
appendMessage(message)
justSent = false
chat.sendMessage = (message) ->
body =
content: message
_csrf : window.csrfToken
justSent = true
appendMessage({
user: ide.$scope.user
content: message
timestamp: Date.now()
})
return $http.post(MESSAGES_URL, body)
chat.loadMoreMessages = () ->
return if chat.state.atEnd
@ -60,6 +76,9 @@ define [
prependMessage(message)
appendMessage = (message) ->
console.log "MESSAGES", message, chat.state.messages
chat.state.newMessage = message
lastMessage = chat.state.messages[chat.state.messages.length - 1]
shouldGroup = lastMessage? and
lastMessage.user.id == message.user.id and
@ -74,10 +93,4 @@ define [
contents: [message.content]
})
chat.sendMessage = (message) ->
body =
content: message
_csrf : window.csrfToken
return $http.post(MESSAGES_URL, body)
return chat

View file

@ -51,11 +51,6 @@ define [
$scope.state.inflight = false
$scope.state.error = "Sorry, something went wrong :("
$scope.startFreeTrial = () ->
ga?('send', 'event', 'subscription-funnel', 'upgraded-free-trial', "projectMembers")
window.open("/user/subscription/plans")
$scope.state.startedFreeTrial = true
$scope.openMakePublicModal = () ->
$modal.open {
templateUrl: "makePublicModalTemplate"

View file

@ -143,6 +143,9 @@
top: 3px;
left: 0;
}
.name {
display: inline-block;
}
}
}
.time {

View file

@ -13,7 +13,7 @@ describe "ChatHandler", ->
@settings =
apis:
chat:
url:"chat.sharelatex.env"
internal_url:"chat.sharelatex.env"
@request = sinon.stub()
@ChatHandler = SandboxedModule.require modulePath, requires:
"settings-sharelatex":@settings
@ -38,7 +38,7 @@ describe "ChatHandler", ->
json:
content:@messageContent
user_id:@user_id
uri:"#{@settings.apis.chat.url}/room/#{@project_id}/messages"
uri:"#{@settings.apis.chat.internal_url}/room/#{@project_id}/messages"
@request.calledWith(@opts).should.equal true
done()
@ -59,7 +59,7 @@ describe "ChatHandler", ->
@ChatHandler.getMessages @project_id, @query, (err)=>
@opts =
method:"get"
uri:"#{@settings.apis.chat.url}/room/#{@project_id}/messages"
uri:"#{@settings.apis.chat.internal_url}/room/#{@project_id}/messages"
qs:{}
@request.calledWith(@opts).should.equal true
done()
@ -70,7 +70,7 @@ describe "ChatHandler", ->
@ChatHandler.getMessages @project_id, @query, (err)=>
@opts =
method:"get"
uri:"#{@settings.apis.chat.url}/room/#{@project_id}/messages"
uri:"#{@settings.apis.chat.internal_url}/room/#{@project_id}/messages"
qs:
limit:5
before:12345