diff --git a/web/app/sketcher.js b/web/app/sketcher.js index b45713a0..bcac7977 100644 --- a/web/app/sketcher.js +++ b/web/app/sketcher.js @@ -84,19 +84,7 @@ function initializeSketcherApplication() { }, click : function(item) { - var c = item.constr; - if (c.SettableFields === undefined) return; - for (var f in c.SettableFields) { - var value = c[f]; - var intro = c.SettableFields[f]; - - - value = askNumber(intro, typeof(value) == "number" ? value.toFixed(4) : value, prompt, pm.constantResolver); - if (value != null) { - c[f] = value; - } - } - app.viewer.parametricManager.refresh(); + pm.updateConstraintConstants(item.constr); } }); var constraintsView = app.dock.views['Constraints']; diff --git a/web/app/sketcher/components/ConstraintExplorer.jsx b/web/app/sketcher/components/ConstraintExplorer.jsx index 2afaca23..2e270790 100644 --- a/web/app/sketcher/components/ConstraintExplorer.jsx +++ b/web/app/sketcher/components/ConstraintExplorer.jsx @@ -23,7 +23,8 @@ import Fa from 'ui/components/Fa'; viewer.deselectAll(); viewer.refresh(); }, - constraints: ctx.services.sketcher.inPlaceEditor.viewer.parametricManager.system.constraints + constraints: ctx.services.sketcher.inPlaceEditor.viewer.parametricManager.system.constraints, + updateConstraintConstants: c => ctx.services.sketcher.inPlaceEditor.viewer.parametricManager.updateConstraintConstants(c) })) export class ConstraintExplorer extends React.Component { @@ -33,6 +34,7 @@ export class ConstraintExplorer extends React.Component {
Constraints
{constraints.map((c, i) =>
this.props.updateConstraintConstants(c)} onMouseEnter={() => this.props.highlight(c)} onMouseLeave={() => this.props.withdraw(c)}> diff --git a/web/app/sketcher/parametric.js b/web/app/sketcher/parametric.js index 1f36251e..494cdaea 100644 --- a/web/app/sketcher/parametric.js +++ b/web/app/sketcher/parametric.js @@ -872,5 +872,20 @@ ParametricManager.prototype.prepareForSubSystem = function(locked, subSystemCons return solver; }; +ParametricManager.prototype.updateConstraintConstants = function(constr) { + let c = constr; + if (c.SettableFields === undefined) return; + for (let f in c.SettableFields) { + let value = c[f]; + let intro = c.SettableFields[f]; + value = askNumber(intro, typeof(value) === "number" ? value.toFixed(4) : value, prompt, this.constantResolver); + if (value != null) { + c[f] = value; + } + } + this.viewer.parametricManager.refresh(); +}; + import {Constraints} from './constraints'; +import {askNumber} from '../utils/utils'; export {Constraints, ParametricManager} \ No newline at end of file