summaryrefslogtreecommitdiff
path: root/public/assets/javascripts/ui/site/LayoutsModal.js
diff options
context:
space:
mode:
Diffstat (limited to 'public/assets/javascripts/ui/site/LayoutsModal.js')
-rw-r--r--public/assets/javascripts/ui/site/LayoutsModal.js69
1 files changed, 54 insertions, 15 deletions
diff --git a/public/assets/javascripts/ui/site/LayoutsModal.js b/public/assets/javascripts/ui/site/LayoutsModal.js
index 0a03878..18bd27d 100644
--- a/public/assets/javascripts/ui/site/LayoutsModal.js
+++ b/public/assets/javascripts/ui/site/LayoutsModal.js
@@ -8,30 +8,63 @@ var LayoutsIndex = View.extend({
load: function(type){
this.$templates.children("span").remove()
- $.get("/api/layouts", $.proxy(function(data){
-
- data.forEach($.proxy(function(room){
- var $span = $("<span>")
- // $span.html(JSON.stringify(room))
- $span.data("slug", room.slug)
- $span.css("background-image", "url(" + room.photo + ")")
-
- this.$templates.append($span)
- }, this))
+ $.get(this.action, $.proxy(this.populate, this))
+ },
- this.show()
+ populate: function(data){
+ data.forEach($.proxy(function(room){
+ var $span = $("<span>")
+ // $span.html(JSON.stringify(room))
+ $span.data("slug", room.slug)
+ $span.css("background-image", "url(" + room.photo + ")")
+
+ this.$templates.append($span)
}, this))
+ this.show()
+ }
+
+})
+
+var ProjectsModal = ModalView.extend(LayoutsIndex.prototype).extend({
+ el: ".mediaDrawer.projects",
+ action: "/api/projects",
+
+ events: {
+ "click .templates span": 'toggleActive',
+ "submit form": 'newProject',
+ },
+
+ populate: function(data){
+ if (! data.length) {
+ app.router.newProject()
+ }
+ else {
+ this.__super__.populate(data)
+ }
+ },
+
+ toggleActive: function(e){
+ e.preventDefault()
+ this.$(".templates .active").removeClass("active")
+ var $layout = $(e.currentTarget)
+ $layout.addClass("active")
+
+ // actually do
+ window.location.pathname = "/project/" + $layout.data("slug")
}
+
})
var LayoutsModal = ModalView.extend(LayoutsIndex.prototype).extend({
el: ".mediaDrawer.layouts",
+ action: "/api/layouts",
+
events: {
"click .templates span": 'toggleActive',
- "submit form": 'newBuilder',
+ "submit form": 'newLayout',
},
toggleActive: function(e){
@@ -41,12 +74,12 @@ var LayoutsModal = ModalView.extend(LayoutsIndex.prototype).extend({
$layout.addClass("active")
// actually do
- window.location.pathname = "/builder/" + $layout.data("slug")
+ window.location.pathname = "/layout/" + $layout.data("slug")
},
- newBuilder: function(e){
+ newLayout: function(e){
e && e.preventDefault()
- window.location.pathname = "/builder/new"
+ window.location.pathname = "/layout/new"
}
})
@@ -55,6 +88,8 @@ var LayoutsModal = ModalView.extend(LayoutsIndex.prototype).extend({
var NewProjectModal = ModalView.extend(LayoutsIndex.prototype).extend({
el: ".mediaDrawer.newProject",
+ action: "/api/layouts",
+
events: {
"click .templates span": 'toggleActive',
"submit form": 'choose',
@@ -68,6 +103,10 @@ var NewProjectModal = ModalView.extend(LayoutsIndex.prototype).extend({
choose: function(e){
e && e.preventDefault()
+ var layout = this.$(".templates .active").data("slug")
+ console.log(layout)
+ if (! layout || ! layout.length) return
+ window.location.pathname = "/project/new/" + layout
}
})