From 49ee4d06589bdb51840d31fae723a8f75300d5e6 Mon Sep 17 00:00:00 2001 From: Charlie Kolb Date: Mon, 23 Dec 2024 14:50:05 +0100 Subject: [PATCH 01/82] Add wip work --- .../src/components/ParameterInputFull.vue | 88 ++++++++++++++----- 1 file changed, 66 insertions(+), 22 deletions(-) diff --git a/packages/editor-ui/src/components/ParameterInputFull.vue b/packages/editor-ui/src/components/ParameterInputFull.vue index 332011b9ea743..273a1d914ce07 100644 --- a/packages/editor-ui/src/components/ParameterInputFull.vue +++ b/packages/editor-ui/src/components/ParameterInputFull.vue @@ -53,6 +53,20 @@ const focused = ref(false); const menuExpanded = ref(false); const forceShowExpression = ref(false); +const hasContentOverride = ref(false); +const overrideContent = computed(() => + /*props.parameter.overrideField === 'fromAI'*/ true + ? /*getOverride('fromAi')*/ { + overridePlaceholder: 'Defined automatically by the model', + icon: 'plus', + output: '$fromAI({key}, {value}, {description})', + extraProps: { + description: 'Description of how the model should define this value', + }, + } + : null, +); + const ndvStore = useNDVStore(); const node = computed(() => ndvStore.activeNode); @@ -232,28 +246,53 @@ watch( @drop="onDrop" >
+ diff --git a/packages/editor-ui/src/components/ParameterInput.vue b/packages/editor-ui/src/components/ParameterInput.vue index 1a5740979d6c6..0d70116bce10c 100644 --- a/packages/editor-ui/src/components/ParameterInput.vue +++ b/packages/editor-ui/src/components/ParameterInput.vue @@ -447,8 +447,14 @@ const parameterInputClasses = computed(() => { return classes; }); +const isNormalBoolParameter = computed( + () => props.parameter.type === 'boolean' && !props.droppable, +); + const parameterInputWrapperStyle = computed(() => { let deductWidth = 0; + let width; + const styles = { width: '100%', }; @@ -459,6 +465,10 @@ const parameterInputWrapperStyle = computed(() => { deductWidth += 20; } + if (isNormalBoolParameter.value) { + deductWidth += 30; + } + if (deductWidth !== 0) { styles.width = `calc(100% - ${deductWidth}px)`; } @@ -1023,7 +1033,17 @@ onUpdated(async () => { @update:model-value="expressionUpdated" > -
+
{ /> + HERE???
@@ -1503,7 +1524,7 @@ onUpdated(async () => {
- + isOverrideValue(props.value?.toString() ?? '')); -const canBeContentOverride = computed( - () => node.value?.type?.endsWith('Tool') && props.parameter.type !== 'options', +const canBeContentOverride = computed(() => + node.value?.type === undefined + ? false + : nodeTypesStore + .getNodeType(node.value.type, node.value.typeVersion) + ?.codex?.categories?.includes('AI') && + !props.parameter.noDataExpression && + props.parameter.type !== 'options', ); // const canBeContentOverride = computed(() => getNodeTypeDescription().codex?.ai?.subcategories.contains('Tool')); const ndvStore = useNDVStore(); +const nodeTypesStore = useNodeTypesStore(); const node = computed(() => ndvStore.activeNode); const hint = computed(() => i18n.nodeText().hint(props.parameter, props.path)); @@ -125,13 +138,18 @@ const isResourceLocator = computed( const isDropDisabled = computed( () => props.parameter.noDataExpression || - props.isReadOnly || + isReadOnlyParameter.value || isResourceLocator.value || isExpression.value, ); const isExpression = computed(() => isValueExpression(props.parameter, props.value)); const showExpressionSelector = computed(() => - isResourceLocator.value ? !hasOnlyListMode(props.parameter) : true, + !isContentOverride.value && isResourceLocator.value ? !hasOnlyListMode(props.parameter) : true, +); + +const isReadOnlyParameter = computed( + () => + props.isReadOnly || props.parameter.disabledOptions !== undefined || isContentOverride.value, ); function onFocus() { @@ -264,7 +282,7 @@ watch( - HERE???
diff --git a/packages/editor-ui/src/components/ParameterInputFull.vue b/packages/editor-ui/src/components/ParameterInputFull.vue index be6e40c3d163f..fcb8d83d2ffcb 100644 --- a/packages/editor-ui/src/components/ParameterInputFull.vue +++ b/packages/editor-ui/src/components/ParameterInputFull.vue @@ -1,5 +1,5 @@