diff options
Diffstat (limited to 'public/assets/javascripts')
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)) |
