@revenexx/studio-integrations 2.1.0 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @revenexx/studio-integrations
2
2
 
3
+ ## 2.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - deb3bf6: A setting takes a value mapped from an earlier step only where its node says it may (PO-548). Every choice, number and switch used to offer the `{{ }}` switch whatever the node declared — so XML's parse-or-build, a decision somebody has to make, could be mapped; now only a setting that declares `expressionAllowed` offers it. And one that does keeps its own control — the list, the number box, the switch — with the `{{ }}` switch beside it, instead of being drawn as the mapping box from the start. A value mapped into a setting before this stays shown, with the switch back to the regular control.
8
+
3
9
  ## 2.1.0
4
10
 
5
11
  ### Minor Changes
package/dist/module.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@revenexx/studio-integrations",
3
3
  "configKey": "studioIntegrations",
4
- "version": "2.1.0",
4
+ "version": "2.2.0",
5
5
  "builder": {
6
6
  "@nuxt/module-builder": "1.0.2",
7
7
  "unbuild": "unknown"
@@ -180,11 +180,12 @@ function acceptsSftp(field) {
180
180
  return t2 === "revenexx:sftp" || Array.isArray(t2) && t2.includes("revenexx:sftp");
181
181
  }
182
182
  const EXPR_TOKEN = "${{";
183
+ const TYPED_KINDS = ["number", "boolean", "select", "multiselect"];
184
+ const valueIsExpression = computed(() => typeof value.value === "string" && value.value.includes(EXPR_TOKEN));
183
185
  const canToggleExpression = computed(
184
- () => !!props.field.dynamic || ["number", "boolean", "select", "multiselect"].includes(props.field.type)
186
+ () => (!!props.field.dynamic || TYPED_KINDS.includes(props.field.type)) && (!!props.field.expressionAllowed || valueIsExpression.value)
185
187
  );
186
188
  const exprMode = ref(false);
187
- const valueIsExpression = computed(() => typeof value.value === "string" && value.value.includes(EXPR_TOKEN));
188
189
  const showExpression = computed(() => canToggleExpression.value && (exprMode.value || valueIsExpression.value));
189
190
  function toggleExpression() {
190
191
  if (showExpression.value) {
@@ -478,9 +479,12 @@ function setArrayItemField(index, fieldKey, v) {
478
479
  @update:model-value="write"
479
480
  />
480
481
 
481
- <!-- expression-capable string: token-autocomplete input -->
482
+ <!-- expression-capable string: token-autocomplete input. A typed control
483
+ (number, switch, choice) that allows an expression is not drawn here:
484
+ it keeps its own control, and the switch above turns it into this one
485
+ (showExpression, PO-548). -->
482
486
  <IntegrationsExpressionInput
483
- v-else-if="field.type === 'expression' || field.expressionAllowed"
487
+ v-else-if="field.type === 'expression' || field.expressionAllowed && !TYPED_KINDS.includes(field.type)"
484
488
  :model-value="value"
485
489
  :placeholder="resolveLocalized(field.placeholder)"
486
490
  :variables="variables"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@revenexx/studio-integrations",
3
- "version": "2.1.0",
3
+ "version": "2.2.0",
4
4
  "type": "module",
5
5
  "description": "Integration Studio (core: workflows, node editor, runs, schedules, credentials, secrets, audit) as a standalone, publishable Nuxt module.",
6
6
  "repository": {