From bb0705221f93cc75d699793c949d438bc2363906 Mon Sep 17 00:00:00 2001 From: Val Erastov Date: Mon, 10 Dec 2018 23:21:22 -0800 Subject: [PATCH] fix wizard cancel behaviour --- web/app/cad/craft/wizard/components/WizardManager.jsx | 6 ++++-- web/app/cad/craft/wizard/wizardPlugin.js | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) 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,