fix wizard selection

This commit is contained in:
Val Erastov 2022-03-27 00:45:21 -07:00
parent 392cb24904
commit 4d2ebfbdbb
4 changed files with 6 additions and 10 deletions

View file

@ -7,6 +7,7 @@ import {attachToForm} from './Form';
import {camelCaseSplitToStr} from 'gems/camelCaseSplit';
import {EMPTY_ARRAY, removeInPlace} from 'gems/iterables';
import {AppContext} from "cad/dom/components/AppContext";
import produce from "immer";
function EntityList(props) {
@ -18,7 +19,7 @@ function EntityList(props) {
const deselect = (entityId) => {
let {value, onChange} = props;
if (Array.isArray(value)) {
onChange(removeInPlace(value, entityId));
onChange(produce(value, value => removeInPlace(value, entityId)));
} else {
onChange(undefined);
}

View file

@ -4,7 +4,7 @@ import Field from 'ui/components/controls/Field';
import Stack from 'ui/components/Stack';
import {camelCaseSplitToStr} from 'gems/camelCaseSplit';
import {ParamsPath, ParamsPathSegment, WizardState} from "cad/craft/wizard/wizardTypes";
import {OperationParams, OperationParamValue} from "cad/craft/schema/schema";
import {flattenPath, OperationParams, OperationParamValue} from "cad/craft/schema/schema";
import {AppContext} from "cad/dom/components/AppContext";
import _ from "lodash";
@ -45,7 +45,7 @@ export function attachToForm(Control): any {
const params = useContext(FormParamsContext);
const fullPath = [...formPath, name];
const fullPathFlatten = fullPath.join('.');
const fullPathFlatten = flattenPath(fullPath);
const onChange = value => ctx.wizardService.updateParam(fullPath, value);
const setActive = (isActive) => ctx.wizardService.updateState(state => {
state.activeParam = isActive ? fullPathFlatten : null;

View file

@ -1,14 +1,13 @@
import {FACE, SHELL} from 'cad/model/entities';
import {OperationRequest} from "cad/craft/craftPlugin";
import {ParamsPath, WizardService} from "cad/craft/wizard/wizardTypes";
import {OperationParamPrimitive, OperationParamValue} from "cad/craft/schema/schema";
import {OperationParamPrimitive} from "cad/craft/schema/schema";
import {EntityReference} from "cad/craft/operationPlugin";
import {Plugin} from "plugable/pluginSystem";
import {MarkerPluginContext} from "cad/scene/selectionMarker/markerPlugin";
import {WizardPluginContext} from "cad/craft/wizard/wizardPlugin";
import {PickControlPluginContext} from "cad/scene/controls/pickControlPlugin";
import _ from "lodash";
import {param} from "cypress/types/jquery";
export type WizardSelectionPluginInputContext = MarkerPluginContext & WizardPluginContext & PickControlPluginContext;

View file

@ -1,11 +1,7 @@
import React from "react";
import {OperationSchema} from "cad/craft/schema/schema";
import {FieldBasicProps, fieldToSchemaGeneric} from "cad/mdf/ui/field";
import {Types} from "cad/craft/schema/types";
import {FieldBasicProps} from "cad/mdf/ui/field";
import {EntityKind} from "cad/model/entities";
import {SectionWidgetProps} from "cad/mdf/ui/SectionWidget";
import {DynamicComponentWidget} from "cad/mdf/ui/DynamicComponentWidget";
import {AxisResolver} from "cad/craft/schema/resolvers/axisResolver";
export interface BooleanWidgetProps extends FieldBasicProps {