diff --git a/js/cam/Assembler.js b/js/cam/Assembler.js index 3863168c777e0c7b0b153fc9589813ff7e6d9223..3f9e9f259e1740e234a421f7472a2a01ee85e829 100644 --- a/js/cam/Assembler.js +++ b/js/cam/Assembler.js @@ -166,13 +166,12 @@ Assembler = Backbone.Model.extend({ _moveOrigin: function(){ var position = this.get("originPosition"); this.get("origin").position.set(position.x, position.y, position.z); - if (this.get("stockFixed")) this._updateStockPosToOrigin(position); + if (this.get("stockFixed")) this._updateStockPosToOrigin(position, this.previous("originPosition")); dmaGlobals.three.render(); if (this.get("machine").setMachinePosition) this.get("machine").setMachinePosition(); }, - _updateStockPosToOrigin: function(newOrigin){ - var lastOrigin = this.previous("originPosition"); + _updateStockPosToOrigin: function(newOrigin, lastOrigin){ var newStockPosition = _.clone(this.get("stockPosition")); _.each(_.keys(newStockPosition), function(key){ newStockPosition[key] += newOrigin[key] - lastOrigin[key]; diff --git a/js/menus/CamMenuView.js b/js/menus/CamMenuView.js index 46e594eaf25f45060a22b30fdb7dc7eb91d6be04..1540dcd735a7b57e4736438898f1f6111f309461 100644 --- a/js/menus/CamMenuView.js +++ b/js/menus/CamMenuView.js @@ -77,11 +77,10 @@ CamMenuView = Backbone.View.extend({ e.preventDefault(); var newVal = this._getNumber(e); if (newVal == null) return; - var object = this.assembler.get(property); + var object = _.clone(this.assembler.get(property)); if ($(e.target).data("type")) { object[$(e.target).data("type")] = newVal; - this.assembler.trigger("change:" + property); - this.assembler.trigger("change"); + this.assembler.set(property, object); } else this.assembler.set(property, newVal); },