diff options
Diffstat (limited to 'public/assets/javascripts/ui/builder/BuilderSettings.js')
| -rw-r--r-- | public/assets/javascripts/ui/builder/BuilderSettings.js | 30 |
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() ) |
