From 74329cf515579a755e9ef447520b15f5ac74647d Mon Sep 17 00:00:00 2001 From: Nikita Kartashov Date: Fri, 31 Jan 2025 15:05:32 +0700 Subject: [PATCH] Sticky list headers --- .../camunda-platform/properties/FormField.js | 24 +++++++++++++------ .../properties/InputOutputParameter.js | 6 +++-- .../camunda-platform/properties/ListProps.js | 6 +++-- .../properties/ListenerProps.js | 10 +++++--- .../camunda-platform/properties/MapProps.js | 4 +++- 5 files changed, 35 insertions(+), 15 deletions(-) diff --git a/src/provider/camunda-platform/properties/FormField.js b/src/provider/camunda-platform/properties/FormField.js index 3944edea..4dcd28e1 100644 --- a/src/provider/camunda-platform/properties/FormField.js +++ b/src/provider/camunda-platform/properties/FormField.js @@ -70,7 +70,8 @@ export default function FormField(props) { id: idPrefix + '-formFieldValues', component: ValueList, formField, - idPrefix + idPrefix, + headerNestingLevel: 1, }); } @@ -78,13 +79,15 @@ export default function FormField(props) { id: idPrefix + '-formFieldConstraints', component: ConstraintList, formField, - idPrefix + idPrefix, + headerNestingLevel: 1 }, { id: idPrefix + '-formFieldProperties', component: PropertiesList, formField, - idPrefix + idPrefix, + headerNestingLevel: 1 }); return entries; @@ -321,7 +324,8 @@ function ValueList(props) { const { element, formField, - idPrefix + idPrefix, + headerNestingLevel } = props; const id = `${ idPrefix }-formFieldValues`; @@ -368,6 +372,7 @@ function ValueList(props) { component={ Value } onAdd={ addValue } onRemove={ removeValue } + headerNestingLevel={ headerNestingLevel } />; } @@ -403,7 +408,8 @@ function ConstraintList(props) { const { element, formField, - idPrefix + idPrefix, + headerNestingLevel } = props; const id = `${ idPrefix }-formFieldConstraints`; @@ -482,7 +488,9 @@ function ConstraintList(props) { items={ constraints } component={ Constraint } onAdd={ addConstraint } - onRemove={ removeConstraint } /> + onRemove={ removeConstraint } + headerNestingLevel={ headerNestingLevel } + /> ); } @@ -518,7 +526,8 @@ function PropertiesList(props) { const { element, formField, - idPrefix + idPrefix, + headerNestingLevel } = props; const id = `${ idPrefix }-formFieldProperties`; @@ -597,5 +606,6 @@ function PropertiesList(props) { component={ Property } onAdd={ addProperty } onRemove={ removeProperty } + headerNestingLevel={ headerNestingLevel } />; } diff --git a/src/provider/camunda-platform/properties/InputOutputParameter.js b/src/provider/camunda-platform/properties/InputOutputParameter.js index d9988994..d95b29c5 100644 --- a/src/provider/camunda-platform/properties/InputOutputParameter.js +++ b/src/provider/camunda-platform/properties/InputOutputParameter.js @@ -93,7 +93,8 @@ export default function InputOutputParameter(props) { id: `${idPrefix}-list`, component: ListProps, idPrefix, - parameter + parameter, + headerNestingLevel: 1 }); // (4) Map @@ -102,7 +103,8 @@ export default function InputOutputParameter(props) { id: `${idPrefix}-map`, component: MapProps, idPrefix, - parameter + parameter, + headerNestingLevel: 1 }); } diff --git a/src/provider/camunda-platform/properties/ListProps.js b/src/provider/camunda-platform/properties/ListProps.js index 1efee55f..0e2c994e 100644 --- a/src/provider/camunda-platform/properties/ListProps.js +++ b/src/provider/camunda-platform/properties/ListProps.js @@ -38,7 +38,8 @@ export function ListProps(props) { const { idPrefix, element, - parameter + parameter, + headerNestingLevel } = props; const bpmnFactory = useService('bpmnFactory'); @@ -78,7 +79,8 @@ export function ListProps(props) { label: translate('List values'), onAdd: addItem, onRemove: removeItem, - component: ListProp + component: ListProp, + headerNestingLevel }); } diff --git a/src/provider/camunda-platform/properties/ListenerProps.js b/src/provider/camunda-platform/properties/ListenerProps.js index 73275f6f..b546a90f 100644 --- a/src/provider/camunda-platform/properties/ListenerProps.js +++ b/src/provider/camunda-platform/properties/ListenerProps.js @@ -161,7 +161,8 @@ function ExecutionListener(props) { { id: `${idPrefix}-fields`, component: Fields, - listener + listener, + headerNestingLevel: 1 } ]; } @@ -227,7 +228,8 @@ function TaskListener(props) { { id: `${idPrefix}-fields`, component: Fields, - listener + listener, + headerNestingLevel: 1 } ]; } @@ -434,7 +436,8 @@ function Fields(props) { const { id, element, - listener + listener, + headerNestingLevel } = props; const bpmnFactory = useService('bpmnFactory'); @@ -474,6 +477,7 @@ function Fields(props) { onAdd={ addField } onRemove={ removeField } autoFocusEntry={ `[data-entry-id="${id}-field-${fields.length - 1}"] input` } + headerNestingLevel={ headerNestingLevel } />; } diff --git a/src/provider/camunda-platform/properties/MapProps.js b/src/provider/camunda-platform/properties/MapProps.js index fb7444c3..8fcdaeb2 100644 --- a/src/provider/camunda-platform/properties/MapProps.js +++ b/src/provider/camunda-platform/properties/MapProps.js @@ -46,7 +46,8 @@ export function MapProps(props) { const { idPrefix, element, - parameter + parameter, + headerNestingLevel } = props; const bpmnFactory = useService('bpmnFactory'); @@ -88,6 +89,7 @@ export function MapProps(props) { onAdd: addEntry, onRemove: removeEntry, component: MapProp, + headerNestingLevel }); }