summaryrefslogtreecommitdiff
path: root/public/assets/javascripts/ui
diff options
context:
space:
mode:
Diffstat (limited to 'public/assets/javascripts/ui')
-rw-r--r--public/assets/javascripts/ui/builder/BuilderSettings.js4
-rw-r--r--public/assets/javascripts/ui/editor/EditorSettings.js4
-rw-r--r--public/assets/javascripts/ui/editor/MediaUpload.js3
-rw-r--r--public/assets/javascripts/ui/editor/MediaViewer.js4
-rw-r--r--public/assets/javascripts/ui/editor/WallpaperPicker.js7
-rw-r--r--public/assets/javascripts/ui/site/LayoutsModal.js17
-rw-r--r--public/assets/javascripts/ui/site/ProjectList.js40
-rw-r--r--public/assets/javascripts/ui/site/StaffView.js23
8 files changed, 84 insertions, 18 deletions
diff --git a/public/assets/javascripts/ui/builder/BuilderSettings.js b/public/assets/javascripts/ui/builder/BuilderSettings.js
index 94eed29..7ae6294 100644
--- a/public/assets/javascripts/ui/builder/BuilderSettings.js
+++ b/public/assets/javascripts/ui/builder/BuilderSettings.js
@@ -107,7 +107,7 @@ var BuilderSettings = FormView.extend({
},
serialize: function(){
- map.draw.render()
+ var thumbnail = map.draw.render()
var fd = new FormData()
fd.append( "_csrf", this.$csrf.val() )
fd.append( "_id", this.$id.val() )
@@ -115,7 +115,7 @@ var BuilderSettings = FormView.extend({
fd.append( "privacy", this.$privacy.filter(":checked").val() == "private" )
fd.append( "rooms", JSON.stringify( Rooms.serialize() ) )
fd.append( "startPosition", JSON.stringify( app.position(scene.camera) ) )
- fd.append( "thumbnail", dataUriToBlob(map.canvas.toDataURL()) )
+ fd.append( "thumbnail", dataUriToBlob(thumbnail.toDataURL()) )
return fd
},
diff --git a/public/assets/javascripts/ui/editor/EditorSettings.js b/public/assets/javascripts/ui/editor/EditorSettings.js
index fd251b7..0c08369 100644
--- a/public/assets/javascripts/ui/editor/EditorSettings.js
+++ b/public/assets/javascripts/ui/editor/EditorSettings.js
@@ -146,7 +146,6 @@ var EditorSettings = FormView.extend({
},
serialize: function(){
- map.draw.render()
var fd = new FormData()
fd.append( "_csrf", this.$csrf.val() )
fd.append( "_id", this.$id.val() )
@@ -160,7 +159,8 @@ var EditorSettings = FormView.extend({
fd.append( "startPosition", JSON.stringify( app.position(scene.camera) ) )
if (this.thumbnailIsStale()) {
- fd.append( "thumbnail", dataUriToBlob(map.canvas.toDataURL()) )
+ var thumbnail = map.draw.render()
+ fd.append( "thumbnail", dataUriToBlob(thumbnail.toDataURL()) )
}
return fd
},
diff --git a/public/assets/javascripts/ui/editor/MediaUpload.js b/public/assets/javascripts/ui/editor/MediaUpload.js
index 971fb15..3f425c3 100644
--- a/public/assets/javascripts/ui/editor/MediaUpload.js
+++ b/public/assets/javascripts/ui/editor/MediaUpload.js
@@ -42,7 +42,6 @@ var MediaUpload = UploadView.extend({
}
media._csrf = $("[name=_csrf]").val()
- console.log(media)
var request = $.ajax({
type: "post",
@@ -55,7 +54,7 @@ var MediaUpload = UploadView.extend({
add: function(media){
console.log(media)
- this.parent.mediaViewer.add(media)
+ this.parent.mediaViewer.add(media, this.parent.mediaViewer.$myMedia)
this.parent.mediaViewer.$deleteMedia.show()
},
diff --git a/public/assets/javascripts/ui/editor/MediaViewer.js b/public/assets/javascripts/ui/editor/MediaViewer.js
index b51d8f2..1414e16 100644
--- a/public/assets/javascripts/ui/editor/MediaViewer.js
+++ b/public/assets/javascripts/ui/editor/MediaViewer.js
@@ -20,6 +20,7 @@ var MediaViewer = ModalView.extend({
this.$foundMedia = this.$(".foundMedia")
this.$foundToggle = this.$(".foundToggle")
this.$deleteMedia = this.$("#deleteMedia")
+ this.$noMedia = this.$(".noMedia")
},
foundToggle: function(){
@@ -103,9 +104,11 @@ var MediaViewer = ModalView.extend({
data.forEach(function(media){
this.add(media, this.$myMedia)
}.bind(this))
+ this.$noMedia.hide()
this.$deleteMedia.show()
}
else {
+ this.$noMedia.show()
this.$deleteMedia.hide()
}
this.__super__.show.call(this)
@@ -176,6 +179,7 @@ var MediaViewer = ModalView.extend({
if ($(".myMedia .mediaContainer").length == 0) {
this.$deleteMedia.hide()
+ this.$noMedia.show()
this.deleteArmed(false)
}
return
diff --git a/public/assets/javascripts/ui/editor/WallpaperPicker.js b/public/assets/javascripts/ui/editor/WallpaperPicker.js
index 140076d..6bf2542 100644
--- a/public/assets/javascripts/ui/editor/WallpaperPicker.js
+++ b/public/assets/javascripts/ui/editor/WallpaperPicker.js
@@ -133,7 +133,7 @@ var WallpaperPicker = UploadView.extend({
wall: null,
pickWall: function(wall){
- if (wall.background.src == "none") {
+ if (! wall.background || wall.background.src == "none") {
return;
}
this.wall = wall
@@ -148,16 +148,16 @@ var WallpaperPicker = UploadView.extend({
initializePositionCursor: function(){
var base = this
- var dx = 0, dy = 0, dragging = false
+ var dx = 0, dy = 0, dragging = false, delta
var x = 0, y = 0, s = 1
var mymouse = new mouse({
el: this.$position[0],
down: function(e, cursor){
if (! base.wall) return
+ dragging = true
s = parseFloat( base.$scale.val() )
x = base.wall.background.x
y = base.wall.background.y
- dragging = true
},
drag: function(e, cursor){
if (! dragging) return
@@ -172,7 +172,6 @@ var WallpaperPicker = UploadView.extend({
})
},
up: function(e, cursor, new_cursor){
- delta.zero()
dragging = false
},
})
diff --git a/public/assets/javascripts/ui/site/LayoutsModal.js b/public/assets/javascripts/ui/site/LayoutsModal.js
index 1bfc6cb..99db2a3 100644
--- a/public/assets/javascripts/ui/site/LayoutsModal.js
+++ b/public/assets/javascripts/ui/site/LayoutsModal.js
@@ -3,6 +3,7 @@ var LayoutsIndex = View.extend({
initialize: function(){
this.$templates = this.$(".templates")
+ this.$templatesList = this.$(".templates-list")
this.$noTemplates = this.$(".no-templates")
this.$form = this.$("form")
},
@@ -19,15 +20,21 @@ var LayoutsIndex = View.extend({
this.$form.hide()
this.$noTemplates.show()
}
- this.$templates.empty()
+ this.$templatesList.empty()
data.forEach(function(room){
var $span = $("<span>")
- // $span.html(JSON.stringify(room))
$span.data("slug", room.slug)
- $span.css("background-image", "url(" + room.photo + ")")
- $span.attr("data-name", room.name)
- this.$templates.append($span)
+ var $label = $("<label>")
+ $label.html( room.name )
+
+ var $image = $("<span>")
+ $image.addClass("image").css("background-image", "url(" + room.photo + ")")
+
+ $span.append( $image )
+ $span.append( $label )
+
+ this.$templatesList.append($span)
}.bind(this))
this.show()
}
diff --git a/public/assets/javascripts/ui/site/ProjectList.js b/public/assets/javascripts/ui/site/ProjectList.js
index 993d805..ebb0a96 100644
--- a/public/assets/javascripts/ui/site/ProjectList.js
+++ b/public/assets/javascripts/ui/site/ProjectList.js
@@ -1,16 +1,49 @@
-
+var projectListTimeout = null
var ProjectList = View.extend({
el: ".projectList",
events: {
- "mouseenter .room": 'spinOn',
- "mouseleave .room": 'spinOff',
+ "mouseenter .room": 'enter',
+ "mouseleave .room": 'leave',
},
initialize: function(){
+ this.$(".images").each(function(){
+ $divs = $(this).children("div")
+ $divs.hide()
+ $divs.first().show()
+ $(this).data("index", 0)
+ })
+ },
+
+ timeout: null,
+ enter: function(e){
+ clearTimeout(projectListTimeout)
+ this.advance(e.currentTarget)
},
+ leave: function(e){
+ clearTimeout(projectListTimeout)
+ var $divs = $(e.currentTarget).find(".images div")
+ $divs.hide()
+ $divs.eq(0).show()
+ },
+
+ advance: function(el){
+ projectListTimeout = setTimeout(function(){
+ this.advance(el)
+ }.bind(this), 500)
+ var $images = $(el).find(".images")
+ var $divs = $images.children("div")
+ var index = $images.data("index")
+ var nextIndex = (index + 1) % $divs.length
+ $divs.eq(index).hide()
+ $divs.eq(nextIndex).show()
+ $images.data("index", nextIndex)
+ }
+
+/*
spinOn: function(e){
var iframe = $(e.currentTarget).find("iframe").get('0')
if (! iframe) return
@@ -22,5 +55,6 @@ var ProjectList = View.extend({
if (! iframe) return
iframe.contentWindow.postMessage("spin-off", window.location.origin)
}
+*/
})
diff --git a/public/assets/javascripts/ui/site/StaffView.js b/public/assets/javascripts/ui/site/StaffView.js
index fdf39d2..0398f71 100644
--- a/public/assets/javascripts/ui/site/StaffView.js
+++ b/public/assets/javascripts/ui/site/StaffView.js
@@ -3,14 +3,19 @@ var StaffView = View.extend({
events: {
"click #toggle-staff": "toggleStaff",
+ "click #toggle-featured": "toggleFeatured",
},
initialize: function() {
this.$toggleStaff = $("#toggle-staff")
+ this.$toggleFeatured = $("#toggle-featured")
this.$mediaEmbed = $("#media-embed")
if (this.$toggleStaff.length && this.$toggleStaff.data().isstaff) {
this.$toggleStaff.html("Is Staff")
}
+ if (this.$toggleFeatured.length && this.$toggleFeatured.data().featured) {
+ this.$toggleFeatured.html("Featured Project")
+ }
if (this.$mediaEmbed.length) {
var media = this.$mediaEmbed.data()
this.$mediaEmbed.html( Parser.tag( media ) )
@@ -44,6 +49,24 @@ var StaffView = View.extend({
}.bind(this)
})
}.bind(this))
+ },
+
+ toggleFeatured: function(){
+ var state = ! this.$toggleFeatured.data().featured
+ $.ajax({
+ type: "put",
+ dataType: "json",
+ url: window.location.href + "/feature",
+ data: {
+ state: state,
+ _csrf: $("#_csrf").val(),
+ },
+ success: function(data){
+ this.$toggleFeatured.data("featured", data.state)
+ this.$toggleFeatured.html(data.state ? "Featured Project" : "Feature this project")
+ $("#isFeaturedProject").html(data.state ? "yes" : "no")
+ }.bind(this)
+ })
},
})