summaryrefslogtreecommitdiff
path: root/public/assets/javascripts
diff options
context:
space:
mode:
Diffstat (limited to 'public/assets/javascripts')
-rw-r--r--public/assets/javascripts/mx/primitives/mx.video.js2
-rw-r--r--public/assets/javascripts/mx/primitives/mx.vimeo.js10
-rw-r--r--public/assets/javascripts/mx/primitives/mx.youtube.js2
-rw-r--r--public/assets/javascripts/rectangles/engine/rooms/builder.js4
-rw-r--r--public/assets/javascripts/rectangles/engine/rooms/clipper.js7
-rw-r--r--public/assets/javascripts/rectangles/engine/scenery/types/video.js3
-rw-r--r--public/assets/javascripts/ui/_router.js1
-rw-r--r--public/assets/javascripts/ui/reader/ReaderView.js3
-rw-r--r--public/assets/javascripts/ui/site/LayoutsModal.js7
9 files changed, 31 insertions, 8 deletions
diff --git a/public/assets/javascripts/mx/primitives/mx.video.js b/public/assets/javascripts/mx/primitives/mx.video.js
index 7f91e34..b28204d 100644
--- a/public/assets/javascripts/mx/primitives/mx.video.js
+++ b/public/assets/javascripts/mx/primitives/mx.video.js
@@ -20,7 +20,7 @@ MX.Video = MX.Object3D.extend({
this.backface && this.el.classList.add("backface-visible")
this.el.classList.add("video")
this.paused = !! this.media.autoplay
- this.muted = !! this.media.mute
+ this.muted = app.muted || !! this.media.mute
this.load()
},
diff --git a/public/assets/javascripts/mx/primitives/mx.vimeo.js b/public/assets/javascripts/mx/primitives/mx.vimeo.js
index 0301e64..7a5327e 100644
--- a/public/assets/javascripts/mx/primitives/mx.vimeo.js
+++ b/public/assets/javascripts/mx/primitives/mx.vimeo.js
@@ -20,7 +20,7 @@ MX.Vimeo = MX.Object3D.extend({
this.backface && this.el.classList.add("backface-visible")
this.el.classList.add("video")
this.paused = !! this.media.autoplay
- this.muted = !! this.media.mute
+ this.muted = app.muted || !! this.media.mute
this.load()
},
@@ -82,6 +82,14 @@ MX.Vimeo = MX.Object3D.extend({
},
seek: function(n){
+ // defer seek until we have duration
+ if (! this.duration()) {
+ setTimeout(function(){
+ this.seek(n)
+ }.bind(this), 300)
+ return
+ }
+
if (n < 1) {
n = n * this.duration()
}
diff --git a/public/assets/javascripts/mx/primitives/mx.youtube.js b/public/assets/javascripts/mx/primitives/mx.youtube.js
index 8c11da6..47d5507 100644
--- a/public/assets/javascripts/mx/primitives/mx.youtube.js
+++ b/public/assets/javascripts/mx/primitives/mx.youtube.js
@@ -20,7 +20,7 @@ MX.Youtube = MX.Object3D.extend({
this.backface && this.el.classList.add("backface-visible")
this.el.classList.add("video")
this.paused = !! this.media.autoplay
- this.muted = !! this.media.mute
+ this.muted = app.muted || !! this.media.mute
this.load()
},
diff --git a/public/assets/javascripts/rectangles/engine/rooms/builder.js b/public/assets/javascripts/rectangles/engine/rooms/builder.js
index e6625ec..49e55dc 100644
--- a/public/assets/javascripts/rectangles/engine/rooms/builder.js
+++ b/public/assets/javascripts/rectangles/engine/rooms/builder.js
@@ -20,8 +20,8 @@ Rooms.builder = new function(){
}
}
function build (){
- Rooms.regions.forEach(function(room){
- build_walls(room).forEach(function(el){
+ Rooms.regions.forEach(function(region){
+ build_walls(region).forEach(function(el){
els.push(el)
scene.add(el)
})
diff --git a/public/assets/javascripts/rectangles/engine/rooms/clipper.js b/public/assets/javascripts/rectangles/engine/rooms/clipper.js
index eb467cd..e2bb894 100644
--- a/public/assets/javascripts/rectangles/engine/rooms/clipper.js
+++ b/public/assets/javascripts/rectangles/engine/rooms/clipper.js
@@ -20,12 +20,15 @@ Rooms.clipper = new function(){
// Given a set of overlapping rooms, clip any intersections, then cull any duplicate polygons
base.solve_rects = function(){
- if (Rooms.count() == 0) return
+ if (Rooms.count() == 0) {
+ Rooms.regions = regions = []
+ return
+ }
base.reset_rects()
base.clip_rects()
base.cull_rects()
-
+
Rooms.regions = sort_rects_by_position(regions)
}
diff --git a/public/assets/javascripts/rectangles/engine/scenery/types/video.js b/public/assets/javascripts/rectangles/engine/scenery/types/video.js
index 8cd5e6b..d3e2e76 100644
--- a/public/assets/javascripts/rectangles/engine/scenery/types/video.js
+++ b/public/assets/javascripts/rectangles/engine/scenery/types/video.js
@@ -25,6 +25,9 @@ Scenery.types.video = Scenery.types.base.extend(function(base){
this.mxType = MX.Youtube
break
}
+ if (app.muted) {
+ this.media.mute = true
+ }
this.mx = new this.mxType({
media: this.media,
scale: this.scale,
diff --git a/public/assets/javascripts/ui/_router.js b/public/assets/javascripts/ui/_router.js
index b59d838..d070d55 100644
--- a/public/assets/javascripts/ui/_router.js
+++ b/public/assets/javascripts/ui/_router.js
@@ -160,7 +160,6 @@ var SiteRouter = Router.extend({
profile: function(e){
this.profileView.load()
},
-
editProfile: function(e){
e && e.preventDefault()
window.history.pushState(null, document.title, "/profile/edit")
diff --git a/public/assets/javascripts/ui/reader/ReaderView.js b/public/assets/javascripts/ui/reader/ReaderView.js
index a2c2983..9d38daa 100644
--- a/public/assets/javascripts/ui/reader/ReaderView.js
+++ b/public/assets/javascripts/ui/reader/ReaderView.js
@@ -15,6 +15,9 @@ var ReaderView = View.extend({
if (window.location.search.indexOf("noui") !== -1) {
$(".logo,.topLinks,#editorView").hide()
}
+ if (window.location.search.indexOf("mute") !== -1) {
+ app.muted = true
+ }
name = sanitize(name)
$.get(this.projectAction + name, this.ready.bind(this))
},
diff --git a/public/assets/javascripts/ui/site/LayoutsModal.js b/public/assets/javascripts/ui/site/LayoutsModal.js
index 3b9e6cd..4948b0e 100644
--- a/public/assets/javascripts/ui/site/LayoutsModal.js
+++ b/public/assets/javascripts/ui/site/LayoutsModal.js
@@ -3,6 +3,8 @@ var LayoutsIndex = View.extend({
initialize: function(){
this.$templates = this.$(".templates")
+ this.$noTemplates = this.$(".no-templates")
+ this.$form = this.$("form")
},
load: function(type){
@@ -12,6 +14,11 @@ var LayoutsIndex = View.extend({
},
populate: function(data){
+ if (! data.length) {
+ this.$templates.hide()
+ this.$form.hide()
+ this.$noTemplates.show()
+ }
data.forEach(function(room){
var $span = $("<span>")
// $span.html(JSON.stringify(room))