mirror of
https://github.com/overleaf/overleaf.git
synced 2025-04-21 00:13:37 +00:00
Merge branch 'master-redesign' of https://github.com/sharelatex/web-sharelatex into master-redesign
This commit is contained in:
commit
b428a8fb7d
13 changed files with 74 additions and 30 deletions
|
@ -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
|
||||
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
}
|
|
@ -2,4 +2,5 @@ define [
|
|||
"ide/chat/controllers/ChatButtonController"
|
||||
"ide/chat/controllers/ChatController"
|
||||
"ide/chat/controllers/ChatMessageController"
|
||||
"ide/chat/directives/mathjax"
|
||||
], () ->
|
|
@ -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
|
|
@ -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"
|
||||
|
|
|
@ -143,6 +143,9 @@
|
|||
top: 3px;
|
||||
left: 0;
|
||||
}
|
||||
.name {
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
}
|
||||
.time {
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue