mirror of
https://github.com/xibyte/jsketcher
synced 2025-12-22 08:26:26 +01:00
fix wizard selection
This commit is contained in:
parent
392cb24904
commit
4d2ebfbdbb
4 changed files with 6 additions and 10 deletions
|
|
@ -7,6 +7,7 @@ import {attachToForm} from './Form';
|
||||||
import {camelCaseSplitToStr} from 'gems/camelCaseSplit';
|
import {camelCaseSplitToStr} from 'gems/camelCaseSplit';
|
||||||
import {EMPTY_ARRAY, removeInPlace} from 'gems/iterables';
|
import {EMPTY_ARRAY, removeInPlace} from 'gems/iterables';
|
||||||
import {AppContext} from "cad/dom/components/AppContext";
|
import {AppContext} from "cad/dom/components/AppContext";
|
||||||
|
import produce from "immer";
|
||||||
|
|
||||||
|
|
||||||
function EntityList(props) {
|
function EntityList(props) {
|
||||||
|
|
@ -18,7 +19,7 @@ function EntityList(props) {
|
||||||
const deselect = (entityId) => {
|
const deselect = (entityId) => {
|
||||||
let {value, onChange} = props;
|
let {value, onChange} = props;
|
||||||
if (Array.isArray(value)) {
|
if (Array.isArray(value)) {
|
||||||
onChange(removeInPlace(value, entityId));
|
onChange(produce(value, value => removeInPlace(value, entityId)));
|
||||||
} else {
|
} else {
|
||||||
onChange(undefined);
|
onChange(undefined);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ import Field from 'ui/components/controls/Field';
|
||||||
import Stack from 'ui/components/Stack';
|
import Stack from 'ui/components/Stack';
|
||||||
import {camelCaseSplitToStr} from 'gems/camelCaseSplit';
|
import {camelCaseSplitToStr} from 'gems/camelCaseSplit';
|
||||||
import {ParamsPath, ParamsPathSegment, WizardState} from "cad/craft/wizard/wizardTypes";
|
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 {AppContext} from "cad/dom/components/AppContext";
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
|
|
||||||
|
|
@ -45,7 +45,7 @@ export function attachToForm(Control): any {
|
||||||
const params = useContext(FormParamsContext);
|
const params = useContext(FormParamsContext);
|
||||||
|
|
||||||
const fullPath = [...formPath, name];
|
const fullPath = [...formPath, name];
|
||||||
const fullPathFlatten = fullPath.join('.');
|
const fullPathFlatten = flattenPath(fullPath);
|
||||||
const onChange = value => ctx.wizardService.updateParam(fullPath, value);
|
const onChange = value => ctx.wizardService.updateParam(fullPath, value);
|
||||||
const setActive = (isActive) => ctx.wizardService.updateState(state => {
|
const setActive = (isActive) => ctx.wizardService.updateState(state => {
|
||||||
state.activeParam = isActive ? fullPathFlatten : null;
|
state.activeParam = isActive ? fullPathFlatten : null;
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,13 @@
|
||||||
import {FACE, SHELL} from 'cad/model/entities';
|
import {FACE, SHELL} from 'cad/model/entities';
|
||||||
import {OperationRequest} from "cad/craft/craftPlugin";
|
import {OperationRequest} from "cad/craft/craftPlugin";
|
||||||
import {ParamsPath, WizardService} from "cad/craft/wizard/wizardTypes";
|
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 {EntityReference} from "cad/craft/operationPlugin";
|
||||||
import {Plugin} from "plugable/pluginSystem";
|
import {Plugin} from "plugable/pluginSystem";
|
||||||
import {MarkerPluginContext} from "cad/scene/selectionMarker/markerPlugin";
|
import {MarkerPluginContext} from "cad/scene/selectionMarker/markerPlugin";
|
||||||
import {WizardPluginContext} from "cad/craft/wizard/wizardPlugin";
|
import {WizardPluginContext} from "cad/craft/wizard/wizardPlugin";
|
||||||
import {PickControlPluginContext} from "cad/scene/controls/pickControlPlugin";
|
import {PickControlPluginContext} from "cad/scene/controls/pickControlPlugin";
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
import {param} from "cypress/types/jquery";
|
|
||||||
|
|
||||||
export type WizardSelectionPluginInputContext = MarkerPluginContext & WizardPluginContext & PickControlPluginContext;
|
export type WizardSelectionPluginInputContext = MarkerPluginContext & WizardPluginContext & PickControlPluginContext;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,7 @@
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import {OperationSchema} from "cad/craft/schema/schema";
|
import {FieldBasicProps} from "cad/mdf/ui/field";
|
||||||
import {FieldBasicProps, fieldToSchemaGeneric} from "cad/mdf/ui/field";
|
|
||||||
import {Types} from "cad/craft/schema/types";
|
|
||||||
import {EntityKind} from "cad/model/entities";
|
import {EntityKind} from "cad/model/entities";
|
||||||
import {SectionWidgetProps} from "cad/mdf/ui/SectionWidget";
|
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 {
|
export interface BooleanWidgetProps extends FieldBasicProps {
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue