Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
c0c5b24
virtual Parameter for user- and organization-roles added, template up…
canptura Mar 23, 2026
e8d62f6
Merge branch 'config/virtual-data-object' of https://github.com/PROCE…
canptura Mar 23, 2026
b335b70
Merge branch 'main' of https://github.com/PROCEED-Labs/proceed into c…
canptura Mar 24, 2026
235553f
userInfo only storing parent, parameter name fix: camelCase to kebab-…
canptura Mar 25, 2026
f6a75df
split configuration-helpers into aas and non-aas helpers
canptura Mar 25, 2026
9bab076
Reorganization of template files
canptura Mar 25, 2026
5a326d5
adding user Parameters for each organizaion role parameter
canptura Mar 26, 2026
f1d3c81
hardcoded IDs for generated parameters to ensure frontend consistency
canptura Mar 27, 2026
ec049aa
Merge branch 'main' of https://github.com/PROCEED-Labs/proceed into c…
canptura Mar 27, 2026
f9bd2a1
typo and bug fixes, added IDs to role parameters, simpler role mappin…
canptura Apr 1, 2026
2aa25f1
defaultParameter() overhaul
canptura Apr 1, 2026
ca8d014
fixes and refactoring
canptura Apr 2, 2026
abd438b
bugfix: checking for unique name among sibling on parameter creation
canptura Apr 20, 2026
eedeb0f
Merge branch 'main' of https://github.com/PROCEED-Labs/proceed into c…
canptura Apr 20, 2026
8ec67e2
Merge branch 'main' of https://github.com/PROCEED-Labs/proceed into c…
canptura Apr 21, 2026
052ac7e
usage of defaultParameter() cleaned up
canptura Apr 21, 2026
30ad166
return and display of userErrors when creating a parameter
canptura Apr 23, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import { useRouter } from 'next/navigation';
import { useCallback, useMemo, useRef, useState } from 'react';
import { Col, Row, Space, Tag, Table, Modal } from 'antd';
import { updateParameter } from '@/lib/data/db/machine-config';
import { buildLinkedInputParametersFromIds } from '../configuration-helper';
import { buildLinkedInputParametersFromIds } from '../helpers/configuration-helper';
import AddButton from './add-button';
import AasCreateParameterModal, {
CreateParameterModalReturnType,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ import { getSpaceSettingsValues } from '@/lib/data/space-settings';
import { MqttPublishButton } from './mqtt-publish-button';
import AasContent from './aas-config-content';
import Image from 'next/image';
import { configToAasFormat, findParameter } from '../configuration-helper';
import { findParameter } from '../helpers/configuration-helper';
import { generateMachineDatasetNames, useParameterActions } from './shared-parameter-utils';
import AasCreateParameterModal, {
CreateParameterModalReturnType,
Expand All @@ -93,6 +93,7 @@ import { useCollapseItems } from './aas-config-editor-collapse';
import LanguageDropdown from './language-dropdown';
import { Localization } from '@/lib/data/locale';
import PreviewFeatureModal from '../preview-feature-modal';
import { configToAasFormat } from '../helpers/aas-configuration-helpers';
const { Text } = Typography;

type MachineDataViewProps = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ import { FaFolderTree } from 'react-icons/fa6';
import AasConfigEditor from './aas-config-editor';
import AasConfigurationTreeView from './aas-config-tree-view';
import { nestedParametersFromStorage, updateConfigMetadata } from '@/lib/data/db/machine-config';
import { findParameter } from '../configuration-helper';
import { findParameter } from '../helpers/configuration-helper';
import ConfigModal from '@/components/config-modal';
import { useRouter } from 'next/navigation';
import { useConfigEditStore } from './store/useConfigEditStore';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { Dropdown, MenuProps, Modal, Tree, Button, TreeDataNode, App } from 'ant
import { EventDataNode } from 'antd/es/tree';
import { useRouter } from 'next/navigation';
import { Key, useEffect, useMemo, useState } from 'react';
import { buildLinkedInputParametersFromIds, findParameter } from '../configuration-helper';
import { buildLinkedInputParametersFromIds, findParameter } from '../helpers/configuration-helper';
import ConfigModal from '@/components/config-modal';
import AasCreateParameterModal, {
CreateParameterModalReturnType,
Expand Down Expand Up @@ -73,7 +73,12 @@ const AasConfigurationTreeView: React.FC<ConfigurationTreeViewProps> = ({
description: '',
});

const { setCurrentParameter, addParameter: baseAddParameter } = useParameterActions({
const {
setCurrentParameter,
addParameter: baseAddParameter,
createFieldOpen,
setCreateFieldOpen,
} = useParameterActions({
parentConfig,
onRefresh: () => router.refresh(),
currentLanguage,
Expand Down Expand Up @@ -157,8 +162,6 @@ const AasConfigurationTreeView: React.FC<ConfigurationTreeViewProps> = ({

const handleCreateParameterOk = async (values: CreateParameterModalReturnType[]) => {
await addParameter(values);
closeModal();
setCurrentParameter(undefined);
};

// const handleCreateMetadataOk = async (values: CreateParameterModalReturnType[]) => {
Expand Down Expand Up @@ -369,6 +372,7 @@ const AasConfigurationTreeView: React.FC<ConfigurationTreeViewProps> = ({
onClick: () => {
setCurrentParameter(currentParameter as Parameter);
setOpenModal('parameter');
setCreateFieldOpen(true);
},
disabled: !editMode,
},
Expand Down Expand Up @@ -436,8 +440,11 @@ const AasConfigurationTreeView: React.FC<ConfigurationTreeViewProps> = ({

<AasCreateParameterModal
title="Create Parameter"
open={openModal === 'parameter'}
onCancel={closeModal}
open={createFieldOpen}
onCancel={() => {
closeModal();
setCreateFieldOpen(false);
}}
onSubmit={handleCreateParameterOk}
okText="Create"
showKey
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ import {
LinkedParameter,
LocalizedText,
} from '@/lib/data/machine-config-schema';
import { buildLinkedInputParametersFromIds } from '../configuration-helper';
import { buildLinkedInputParametersFromIds } from '../helpers/configuration-helper';
import { getConfigurationCategories } from '@/lib/data/db/machine-config';
import { useEnvironment } from '../../../../../components/auth-can';
import { QuestionCircleOutlined } from '@ant-design/icons';
Expand Down Expand Up @@ -178,19 +178,7 @@ const AasCreateParameterModal = <T extends CreateParameterModalReturnType>({

// Let the parent of this modal handle the submission.
setSubmitting(true);
try {
const res = await onSubmit(mergedValues);
if (res?.error) {
message.open({ type: 'error', content: res.error.message });
}
} catch (e) {
setError(e);

message.open({
type: 'error',
content: 'Something went wrong while submitting the data',
});
}
await onSubmit(mergedValues);
setSubmitting(false);
} catch (info) {
// Validate Failed
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import {
buildLinkedInputParametersFromIds,
findParameter,
getAllParameters,
} from '../configuration-helper';
} from '../helpers/configuration-helper';
import { useMemo } from 'react';
import { updateParameter } from '@/lib/data/db/machine-config';
import { useRouter } from 'next/navigation';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,14 @@ import {
defaultMetaParameter,
buildLinkedInputParametersFromIds,
findParameter,
} from '../configuration-helper';
} from '../helpers/configuration-helper';
import { CreateParameterModalReturnType } from './aas-create-parameter-modal';
import { updateConfigMetadata } from '@/lib/data/db/machine-config';
import { Modal } from 'antd';
import Tree from 'antd/es/tree/Tree';
import { Localization } from '@/lib/data/locale';
import { wrapServerCall } from '@/lib/wrap-server-call';
import useApp from 'antd/es/app/useApp';
export const getInitialTransformationData = (param: Parameter | MetaParameter) => {
const paramWithTransformation = param as Parameter & {
transformation?: {
Expand Down Expand Up @@ -249,26 +251,27 @@ export const editParameter = async (

if (shouldBeVirtual) {
// converting regular to virtual
newParam = defaultMetaParameter(
valuesFromModal.name,
newDisplayName,
newDescription,
advancedSettingsUpdate.parameterType || 'none',
valuesFromModal.valueTemplateSource as unknown as MetaParameter['valueTemplateSource'],
currentParameter.valueType,
valuesFromModal.unit,
);
newParam = defaultMetaParameter({
name: valuesFromModal.name,
displayName: newDisplayName,
description: newDescription,
parameterType: advancedSettingsUpdate.parameterType || 'none',
valueTemplateSource:
valuesFromModal.valueTemplateSource as unknown as MetaParameter['valueTemplateSource'],
valueType: currentParameter.valueType,
unitRef: valuesFromModal.unit,
});
} else {
// Converting virtual to regular
newParam = defaultParameter(
valuesFromModal.name,
newDisplayName,
newDescription,
advancedSettingsUpdate.parameterType || 'none',
valuesFromModal.value,
currentParameter.valueType,
valuesFromModal.unit,
);
newParam = defaultParameter({
name: valuesFromModal.name,
displayName: newDisplayName,
description: newDescription,
parameterType: advancedSettingsUpdate.parameterType || 'none',
value: valuesFromModal.value,
valueType: currentParameter.valueType,
unitRef: valuesFromModal.unit,
});

// apply transformation for regular parameter
if (transformationUpdate.transformation) {
Expand Down Expand Up @@ -479,11 +482,18 @@ export const useParameterActions = ({
currentLanguage,
}: UseParameterActionsParams) => {
const router = useRouter();
const app = useApp();
const [currentParameter, setCurrentParameter] = useState<Parameter | MetaParameter>();
const [createFieldOpen, setCreateFieldOpen] = useState<boolean>(false);
const [editFieldOpen, setEditFieldOpen] = useState<boolean>(false);
const [deleteModalOpen, setDeleteModalOpen] = useState<boolean>(false);

const onSubmitSuccess = () => {
setCreateFieldOpen(false);
router.refresh();
setCurrentParameter(undefined);
};

const addParameter = async (
values: CreateParameterModalReturnType[],
parent?: Parameter | MetaParameter,
Expand All @@ -493,33 +503,34 @@ export const useParameterActions = ({
const displayName = valuesFromModal.displayName || [];
const description = valuesFromModal.description || [];
// get parameterType from advanced settings or default to 'none'
const parameterType = valuesFromModal.parameterType || 'none';
const parameterType = (valuesFromModal.parameterType || 'none') as 'meta' | 'content' | 'none';

let newParameter: Parameter | MetaParameter;

const shouldBeVirtual =
valuesFromModal.valueTemplateSource && valuesFromModal.valueTemplateSource !== 'none';

if (shouldBeVirtual) {
newParameter = defaultMetaParameter(
valuesFromModal.name,
newParameter = defaultMetaParameter({
name: valuesFromModal.name,
displayName,
description,
parameterType as 'meta' | 'content' | 'none',
valuesFromModal.valueTemplateSource as unknown as MetaParameter['valueTemplateSource'],
'xs:string',
valuesFromModal.unit,
);
parameterType,
valueTemplateSource:
valuesFromModal.valueTemplateSource as unknown as MetaParameter['valueTemplateSource'],
valueType: 'xs:string',
unitRef: valuesFromModal.unit,
});
} else {
newParameter = defaultParameter(
valuesFromModal.name,
newParameter = defaultParameter({
name: valuesFromModal.name,
displayName,
description,
parameterType as 'meta' | 'content' | 'none',
valuesFromModal.value,
'xs:string',
valuesFromModal.unit,
);
parameterType,
value: valuesFromModal.value,
valueType: 'xs:string',
unitRef: valuesFromModal.unit,
});
}

// apply advanced settings
Expand Down Expand Up @@ -553,14 +564,22 @@ export const useParameterActions = ({
// use parent parameter if provided, otherwise use currentParameter, otherwise add to root
const targetParent = parent || currentParameter;
if (targetParent) {
await backendAddParameter(targetParent.id, 'parameter', newParameter, parentConfig.id);
wrapServerCall({
fn: () => backendAddParameter(targetParent.id, 'parameter', newParameter, parentConfig.id),
onSuccess: () => {
app.message.success('Parameter successfully created.');
onSubmitSuccess();
},
});
} else {
await backendAddParameter(parentConfig.id, 'config', newParameter, parentConfig.id);
wrapServerCall({
fn: () => backendAddParameter(parentConfig.id, 'config', newParameter, parentConfig.id),
onSuccess: () => {
app.message.success('Parameter successfully created.');
onSubmitSuccess();
},
});
}

setCreateFieldOpen(false);
router.refresh();
setCurrentParameter(undefined);
};

const handleEditParameter = async (values: CreateParameterModalReturnType[]) => {
Expand Down

This file was deleted.

Loading
Loading