var BlueprintInfo = View.extend({ el: "#blueprintInfo", events: { "mousedown": "stopPropagation", "keydown": 'stopPropagation', "change [name=height]": 'changeHeight', "keydown [name=height]": 'enterHeight', "change [name=units]": 'changeUnits', "keydown [name=viewHeight]": 'enterViewHeight', "change [name=viewHeight]": 'changeViewHeight', }, initialize: function(opt){ this.parent = opt.parent this.$height = this.$("[name=height]") this.$units = this.$("[name=units]") this.$viewHeight = this.$("[name=viewHeight]") this.$unitName = this.$(".unitName") }, load: function(data){ this.$viewHeight.unitVal( window.viewHeight = data.viewHeight || app.defaults.viewHeight ) this.$height.unitVal( window.wallHeight = data.wallHeight || app.defaults.wallHeight ) this.$units.val( data.units ) this.$unitName.html( data.units ) this.show() }, toggle: function(state){ this.$el.toggleClass("active", state) this.$viewHeight.unitVal( window.viewHeight ) }, show: function(){ this.toggle(true) }, hide: function(){ this.toggle(false) }, deselect: function(){ this.toggle(true) }, enterHeight: function(e){ if (e.keyCode == 13) this.changeHeight(e) }, changeHeight: function(e){ e.stopPropagation() window.wallHeight = this.$height.unitVal() shapes.forEach(function(line){ line.mx.set_height( window.wallHeight ) }) }, changeUnits: function(){ app.units = this.$units.val() this.$('.units').resetUnitVal() }, enterViewHeight: function(e){ if (e.keyCode == 13) this.changeViewHeight(e) }, changeViewHeight: function(){ window.viewHeight = this.$viewHeight.unitVal() } })