Merge branch 'new-branch' of https://github.com/perroned/bigbluebutton into testing-version-15
This commit is contained in:
commit
cdf2d10b97
@ -1 +1 @@
|
|||||||
METEOR@1.0.2.1
|
METEOR@1.0.3.1
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
agnito:raphael@0.1.0
|
agnito:raphael@0.1.0
|
||||||
alanning:package-stubber@0.0.9
|
alanning:package-stubber@0.0.9
|
||||||
|
aldeed:simple-schema@1.3.0
|
||||||
amplify@1.0.0
|
amplify@1.0.0
|
||||||
application-configuration@1.0.4
|
application-configuration@1.0.4
|
||||||
arunoda:npm@0.2.6
|
arunoda:npm@0.2.6
|
||||||
autoupdate@1.1.4
|
autoupdate@1.1.5
|
||||||
base64@1.0.2
|
base64@1.0.2
|
||||||
binary-heap@1.0.2
|
binary-heap@1.0.2
|
||||||
blaze@2.0.4
|
blaze@2.0.4
|
||||||
@ -11,31 +12,32 @@ blaze-tools@1.0.2
|
|||||||
boilerplate-generator@1.0.2
|
boilerplate-generator@1.0.2
|
||||||
brentjanderson:winston-client@0.2.0
|
brentjanderson:winston-client@0.2.0
|
||||||
callback-hook@1.0.2
|
callback-hook@1.0.2
|
||||||
check@1.0.3
|
cfs:http-methods@0.0.27
|
||||||
clinical:nightwatch@1.5.0
|
check@1.0.4
|
||||||
|
clinical:nightwatch@1.5.1
|
||||||
coffeescript@1.0.5
|
coffeescript@1.0.5
|
||||||
ddp@1.0.13
|
ddp@1.0.14
|
||||||
deps@1.0.6
|
deps@1.0.6
|
||||||
duongthienduc:meteor-winston@1.0.0
|
duongthienduc:meteor-winston@1.0.0
|
||||||
ejson@1.0.5
|
ejson@1.0.5
|
||||||
fastclick@1.0.2
|
fastclick@1.0.2
|
||||||
follower-livedata@1.0.3
|
follower-livedata@1.0.3
|
||||||
francocatena:status@1.0.3
|
francocatena:status@1.1.2
|
||||||
geojson-utils@1.0.2
|
geojson-utils@1.0.2
|
||||||
html-tools@1.0.3
|
html-tools@1.0.3
|
||||||
htmljs@1.0.3
|
htmljs@1.0.3
|
||||||
http@1.0.9
|
http@1.0.10
|
||||||
id-map@1.0.2
|
id-map@1.0.2
|
||||||
infinitedg:winston@0.7.3
|
infinitedg:winston@0.7.3
|
||||||
iron:controller@1.0.6
|
iron:controller@1.0.7
|
||||||
iron:core@1.0.6
|
iron:core@1.0.7
|
||||||
iron:dynamic-template@1.0.6
|
iron:dynamic-template@1.0.7
|
||||||
iron:layout@1.0.6
|
iron:layout@1.0.7
|
||||||
iron:location@1.0.6
|
iron:location@1.0.7
|
||||||
iron:middleware-stack@1.0.6
|
iron:middleware-stack@1.0.7
|
||||||
iron:router@1.0.6
|
iron:router@1.0.7
|
||||||
iron:url@1.0.6
|
iron:url@1.0.7
|
||||||
jquery@1.0.2
|
jquery@1.11.3
|
||||||
json@1.0.2
|
json@1.0.2
|
||||||
launch-screen@1.0.1
|
launch-screen@1.0.1
|
||||||
less@1.0.12
|
less@1.0.12
|
||||||
@ -63,24 +65,23 @@ reactive-dict@1.0.5
|
|||||||
reactive-var@1.0.4
|
reactive-var@1.0.4
|
||||||
reload@1.1.2
|
reload@1.1.2
|
||||||
retry@1.0.2
|
retry@1.0.2
|
||||||
routepolicy@1.0.3
|
routepolicy@1.0.4
|
||||||
sanjo:jasmine@0.11.0
|
sanjo:jasmine@0.12.1
|
||||||
sanjo:karma@1.2.0
|
sanjo:karma@1.4.1
|
||||||
session@1.0.5
|
session@1.0.5
|
||||||
spacebars@1.0.4
|
spacebars@1.0.5
|
||||||
spacebars-compiler@1.0.4
|
spacebars-compiler@1.0.4
|
||||||
standard-app-packages@1.0.4
|
standard-app-packages@1.0.4
|
||||||
tap:http-methods@0.0.23
|
tap:i18n@1.3.2
|
||||||
tap:i18n@1.0.7
|
templating@1.0.11
|
||||||
templating@1.0.10
|
tracker@1.0.5
|
||||||
tracker@1.0.4
|
|
||||||
ui@1.0.5
|
ui@1.0.5
|
||||||
underscore@1.0.2
|
underscore@1.0.2
|
||||||
url@1.0.3
|
url@1.0.3
|
||||||
velocity:core@0.4.5
|
velocity:core@0.4.5
|
||||||
velocity:meteor-stubs@1.0.0_2
|
velocity:meteor-stubs@1.0.0_2
|
||||||
velocity:node-soft-mirror@0.2.8
|
velocity:node-soft-mirror@0.3.1
|
||||||
velocity:shim@0.1.0
|
velocity:shim@0.1.0
|
||||||
velocity:test-proxy@0.0.4
|
velocity:test-proxy@0.0.4
|
||||||
webapp@1.1.5
|
webapp@1.1.6
|
||||||
webapp-hashing@1.0.2
|
webapp-hashing@1.0.2
|
||||||
|
@ -46,7 +46,6 @@ body {
|
|||||||
|
|
||||||
.myFooter {
|
.myFooter {
|
||||||
color: black;
|
color: black;
|
||||||
font-size: 10px;
|
|
||||||
max-height: 20px;
|
max-height: 20px;
|
||||||
padding-top: 13px;
|
padding-top: 13px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
@ -74,4 +74,9 @@
|
|||||||
.logout-dialog.ui-widget-content {
|
.logout-dialog.ui-widget-content {
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.myFooter {
|
||||||
|
font-size: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -14,6 +14,10 @@
|
|||||||
min-height: 125%;
|
min-height: 125%;
|
||||||
max-height: 125%;
|
max-height: 125%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.myFooter {
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media all and (orientation: portrait) and (max-device-aspect-ratio: 1/1), all and (orientation: landscape) and (max-device-aspect-ratio: 1/1) {
|
@media all and (orientation: portrait) and (max-device-aspect-ratio: 1/1), all and (orientation: landscape) and (max-device-aspect-ratio: 1/1) {
|
||||||
@ -139,6 +143,10 @@
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.myFooter {
|
||||||
|
font-size: 18px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media all and (orientation: portrait) and (min-device-aspect-ratio: 1/1) {
|
@media all and (orientation: portrait) and (min-device-aspect-ratio: 1/1) {
|
||||||
@ -195,4 +203,8 @@
|
|||||||
.logout-dialog.ui-widget-content {
|
.logout-dialog.ui-widget-content {
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.myFooter {
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -8,8 +8,9 @@
|
|||||||
|
|
||||||
@activateBreakLines = (str) ->
|
@activateBreakLines = (str) ->
|
||||||
if typeof str is 'string'
|
if typeof str is 'string'
|
||||||
res = str.replace /\\n/gim, '<br/>'
|
# turn '\r' carriage return characters into '<br/>' break lines
|
||||||
res = res.replace /\r/gim, '<br/>'
|
res = str.replace(new RegExp(CARRIAGE_RETURN, 'g'), BREAK_LINE)
|
||||||
|
res
|
||||||
|
|
||||||
@detectUnreadChat = ->
|
@detectUnreadChat = ->
|
||||||
#if the current tab is not the same as the tab we just published in
|
#if the current tab is not the same as the tab we just published in
|
||||||
@ -109,7 +110,8 @@ Template.chatbar.helpers
|
|||||||
break # Messages are too far between, so them seperated and stop joining here
|
break # Messages are too far between, so them seperated and stop joining here
|
||||||
|
|
||||||
if msgs[i].message.from_userid is msgs[j].message.from_userid # Both messages are from the same user
|
if msgs[i].message.from_userid is msgs[j].message.from_userid # Both messages are from the same user
|
||||||
msgs[i].message.message += "\r#{msgs[j].message.message}" # Combine the messages
|
# insert a '\r' carriage return character between messages to put them on a new line
|
||||||
|
msgs[i].message.message += "#{CARRIAGE_RETURN}#{msgs[j].message.message}" # Combine the messages
|
||||||
msgs.splice(j,1) # Delete the message from the collection
|
msgs.splice(j,1) # Delete the message from the collection
|
||||||
deleted = true
|
deleted = true
|
||||||
else break # Messages are from different people, move on
|
else break # Messages are from different people, move on
|
||||||
@ -150,7 +152,8 @@ Template.chatInput.events
|
|||||||
|
|
||||||
if event.shiftKey and (key is 13)
|
if event.shiftKey and (key is 13)
|
||||||
event.preventDefault()
|
event.preventDefault()
|
||||||
document.getElementById("newMessageInput").value += '\r' # Change newline character
|
# append a '\r' carriage return character to the input box dropping the cursor to a new line
|
||||||
|
document.getElementById("newMessageInput").value += CARRIAGE_RETURN # Change newline character
|
||||||
return
|
return
|
||||||
|
|
||||||
if key is 13 # Check for pressing enter to submit message
|
if key is 13 # Check for pressing enter to submit message
|
||||||
|
@ -6,8 +6,8 @@ config = {}
|
|||||||
# Default global variables
|
# Default global variables
|
||||||
config.appName = 'BigBlueButton HTML5 Client'
|
config.appName = 'BigBlueButton HTML5 Client'
|
||||||
config.bbbServerVersion = '0.9.0'
|
config.bbbServerVersion = '0.9.0'
|
||||||
config.copyrightYear = '2014'
|
config.copyrightYear = '2015'
|
||||||
config.dateOfBuild = 'Sept 25, 2014' #TODO
|
config.dateOfBuild = 'Feb 06, 2015' #TODO
|
||||||
config.defaultWelcomeMessage = 'Welcome to %%CONFNAME%%!\r\rFor help on using BigBlueButton see these (short) <a href="event:http://www.bigbluebutton.org/content/videos"><u>tutorial videos</u></a>.\r\rTo join the audio bridge click the headset icon (upper-left hand corner). Use a headset to avoid causing background noise for others.\r\r\r'
|
config.defaultWelcomeMessage = 'Welcome to %%CONFNAME%%!\r\rFor help on using BigBlueButton see these (short) <a href="event:http://www.bigbluebutton.org/content/videos"><u>tutorial videos</u></a>.\r\rTo join the audio bridge click the headset icon (upper-left hand corner). Use a headset to avoid causing background noise for others.\r\r\r'
|
||||||
config.defaultWelcomeMessageFooter = "This server is running a build of <a href='https://code.google.com/p/bigbluebutton/wiki/090Overview' target='_blank'><u>BigBlueButton #{config.bbbServerVersion}</u></a>."
|
config.defaultWelcomeMessageFooter = "This server is running a build of <a href='https://code.google.com/p/bigbluebutton/wiki/090Overview' target='_blank'><u>BigBlueButton #{config.bbbServerVersion}</u></a>."
|
||||||
|
|
||||||
|
6
labs/meteor-client/app/lib/environment.coffee
Executable file
6
labs/meteor-client/app/lib/environment.coffee
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
# used in Flash and HTML to show a legitimate break in the line
|
||||||
|
@BREAK_LINE='<br/>'
|
||||||
|
# soft return in HTML to signify a broken line without displaying the escaped '<br/>' line break text
|
||||||
|
@CARRIAGE_RETURN='\r'
|
||||||
|
# handle this the same as carriage return, in case text copied has this
|
||||||
|
@NEW_LINE='\n'
|
@ -20,7 +20,6 @@ Meteor.methods
|
|||||||
|
|
||||||
if isAllowedTo(action(), meetingId, requesterUserId, requesterToken) and chatObject.from_userid is requesterUserId
|
if isAllowedTo(action(), meetingId, requesterUserId, requesterToken) and chatObject.from_userid is requesterUserId
|
||||||
chatObject.message = translateHTML5ToFlash(chatObject.message)
|
chatObject.message = translateHTML5ToFlash(chatObject.message)
|
||||||
|
|
||||||
message =
|
message =
|
||||||
header :
|
header :
|
||||||
timestamp: new Date().getTime()
|
timestamp: new Date().getTime()
|
||||||
@ -67,7 +66,6 @@ Meteor.methods
|
|||||||
id = Meteor.Chat.insert(entry)
|
id = Meteor.Chat.insert(entry)
|
||||||
Meteor.log.info "added chat id=[#{id}]:#{messageObject.message}." #" Chat.size is now #{Meteor.Chat.find({meetingId: meetingId}).count()}"
|
Meteor.log.info "added chat id=[#{id}]:#{messageObject.message}." #" Chat.size is now #{Meteor.Chat.find({meetingId: meetingId}).count()}"
|
||||||
|
|
||||||
|
|
||||||
# called on server start and meeting end
|
# called on server start and meeting end
|
||||||
@clearChatCollection = (meetingId) ->
|
@clearChatCollection = (meetingId) ->
|
||||||
if meetingId?
|
if meetingId?
|
||||||
@ -79,10 +77,16 @@ Meteor.methods
|
|||||||
# end Private methods on server
|
# end Private methods on server
|
||||||
# --------------------------------------------------------------------------------------------
|
# --------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
# translate '\n' newline character to '<br/>' breakline character for Flash
|
# translate '\n' newline character and '\r' carriage returns to '<br/>' breakline character for Flash
|
||||||
@translateHTML5ToFlash = (message) ->
|
@translateHTML5ToFlash = (message) ->
|
||||||
message.replace '\n', '<br/>'
|
result = message
|
||||||
|
result = result.replace(new RegExp(CARRIAGE_RETURN, 'g'), BREAK_LINE)
|
||||||
|
result = result.replace(new RegExp(NEW_LINE, 'g'), BREAK_LINE)
|
||||||
|
result
|
||||||
|
|
||||||
# translate '<br/>' breakline character to '\n' newline character for HTML5
|
# translate '<br/>' breakline character to '\r' carriage return character for HTML5
|
||||||
@translateFlashToHTML5 = (message) ->
|
@translateFlashToHTML5 = (message) ->
|
||||||
message.replace '<br/>', '\n'
|
result = message
|
||||||
|
result = result.replace(new RegExp(BREAK_LINE, 'g'), CARRIAGE_RETURN)
|
||||||
|
result
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user