1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
|
var NewProjectModal = ModalView.extend(LayoutsIndex.prototype).extend({
el: ".mediaDrawer.newProject",
action: "/api/layout",
events: {
"click [data-role='create-new-layout']": 'createNewLayout',
"click [data-role='create-new-blueprint']": 'createNewBlueprint',
"click .templates span": 'pick',
},
toggleActive: function(e){
e.preventDefault()
this.$(".templates .active").removeClass("active")
$(e.currentTarget).addClass("active")
},
pick: function(e){
e && e.preventDefault()
// var layout = this.$(".templates .active").data("slug")
var layout = $(e.currentTarget).data("slug")
var isBlueprint = $(e.currentTarget).data("blueprint")
if (! layout || ! layout.length) return
if (isBlueprint) {
window.location.pathname = "/project/blueprint/" + layout
}
else {
window.location.pathname = "/project/new/" + layout
}
},
createNewLayout: function(e){
e.preventDefault()
window.location.pathname = "/project/new/empty"
},
createNewBlueprint: function(e){
e.preventDefault()
window.location.pathname = "/blueprint/new"
},
populate: function(data){
/*
if (data.user.plan_level < 1 && data.projectCount == 1) {
// show lockout message
this.$newBlueprintButton.hide()
}
*/
if (! data.layouts.length) {
this.$templates.hide()
this.$form.hide()
this.$noTemplates.show()
}
if (! data.blueprints.length) {
this.$blueprintsList.parent().hide()
}
if (! data.user_layouts.length) {
this.$userTemplatesList.parent().hide()
}
this.$templatesList.empty()
data.layouts.forEach(function(room){
var $span = $("<span>")
$span.data("slug", room.slug)
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))
data.user_layouts.forEach(function(room){
var $span = $("<span>")
$span.data("slug", room.slug)
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))
data.blueprints.forEach(function(blueprint){
if (! blueprint.slug) { return }
var $span = $("<span>")
$span.data("blueprint", true)
$span.data("slug", blueprint.slug)
var $label = $("<label>")
$label.html( blueprint.name )
var $image = $("<span>")
$image.addClass("image").css("background-image", "url(" + blueprint.url + ")")
$span.append( $image )
$span.append( $label )
this.$templatesList.append($span)
}.bind(this))
this.show()
},
})
|