summaryrefslogtreecommitdiff
path: root/public/assets/javascripts/ui/builder/BuilderSettings.js
diff options
context:
space:
mode:
Diffstat (limited to 'public/assets/javascripts/ui/builder/BuilderSettings.js')
-rw-r--r--public/assets/javascripts/ui/builder/BuilderSettings.js30
1 files changed, 28 insertions, 2 deletions
diff --git a/public/assets/javascripts/ui/builder/BuilderSettings.js b/public/assets/javascripts/ui/builder/BuilderSettings.js
index 051bbf4..f5bf51c 100644
--- a/public/assets/javascripts/ui/builder/BuilderSettings.js
+++ b/public/assets/javascripts/ui/builder/BuilderSettings.js
@@ -8,6 +8,9 @@ var BuilderSettings = FormView.extend({
events: {
"keydown [name=name]": 'enterSubmit',
"click [data-role='save-layout']": 'save',
+ "click [data-role='clone-layout']": 'clone',
+ "click [data-role='clear-layout']": 'clear',
+ "click [data-role='delete-layout']": 'delete',
},
initialize: function(opt){
@@ -30,6 +33,30 @@ var BuilderSettings = FormView.extend({
this.action = data.isNew ? this.createAction : this.updateAction
},
+
+ clone: function(){
+ var names = this.$name.val().split(" ")
+ if ( ! isNaN(Number( names[names.length-1] )) ) {
+ names[names.length-1] = Number( names[names.length-1] ) + 1
+ }
+ else {
+ names.push("2")
+ }
+
+ this.$id.val('new')
+ this.$name.val( names.join(" ") )
+ this.action = this.createAction
+
+ window.history.pushState(null, document.title, "/builder/new")
+ },
+
+ clear: function(){
+ Rooms.removeAll()
+ },
+
+ delete: function(){
+
+ },
toggle: function(){
this.$el.toggleClass("active")
@@ -39,7 +66,7 @@ var BuilderSettings = FormView.extend({
e.stopPropagation()
var base = this
if (e.keyCode == 13) {
- setTimeout(this.save.bind(this), 100)
+ setTimeout(function(){ base.save(e) }, 100)
}
},
@@ -67,7 +94,6 @@ var BuilderSettings = FormView.extend({
serialize: function(){
map.draw.render()
-
var fd = new FormData()
fd.append( "_csrf", this.$csrf.val() )
fd.append( "_id", this.$id.val() )