diff --git a/web/app/cad/craft/wizard/components/WizardManager.jsx b/web/app/cad/craft/wizard/components/WizardManager.jsx index 8f6e4d11..c55cfeeb 100644 --- a/web/app/cad/craft/wizard/components/WizardManager.jsx +++ b/web/app/cad/craft/wizard/components/WizardManager.jsx @@ -3,14 +3,15 @@ import Wizard from './Wizard'; import connect from 'ui/connect'; import decoratorChain from 'ui/decoratorChain'; import mapContext from 'ui/mapContext'; +import {finishHistoryEditing} from '../../craftHistoryUtils'; -function WizardManager({wizardContext, type, changingHistory, cancel, cancelHistoryEdit, applyWorkingRequest}) { +function WizardManager({wizardContext, type, cancel, cancelHistoryEdit, applyWorkingRequest}) { if (!wizardContext) { return null; } return } @@ -18,6 +19,7 @@ export default decoratorChain( connect(streams => streams.wizard.wizardContext.map(wizardContext => ({wizardContext}))), mapContext(ctx => ({ cancel: ctx.services.wizard.cancel, + cancelHistoryEdit: () => ctx.streams.craft.modifications.update(modifications => finishHistoryEditing(modifications)), applyWorkingRequest: ctx.services.wizard.applyWorkingRequest })) ) diff --git a/web/app/cad/craft/wizard/wizardPlugin.js b/web/app/cad/craft/wizard/wizardPlugin.js index 7b766ca7..9ea9744e 100644 --- a/web/app/cad/craft/wizard/wizardPlugin.js +++ b/web/app/cad/craft/wizard/wizardPlugin.js @@ -54,7 +54,8 @@ export function activate(ctx) { let operation = ctx.services.operation.get(opRequest.type); let params; - if (opRequest.changingHistory) { + let changingHistory = opRequest.changingHistory; + if (changingHistory) { params = clone(opRequest.params) } else { params = initializeBySchema(operation.schema, ctx); @@ -86,7 +87,8 @@ export function activate(ctx) { const updateState = mutator => state$.mutate(state => mutator(state)); const disposerList = createFunctionList(); wizCtx = { - workingRequest$, materializedWorkingRequest$, state$, operation, updateParams, updateState, + workingRequest$, materializedWorkingRequest$, state$, updateParams, updateState, + operation, changingHistory, addDisposer: disposerList.add, dispose: disposerList.call, ID: ++REQUEST_COUNTER,