diff --git a/.mapping.json b/.mapping.json index c16b50f26..3759d6caf 100644 --- a/.mapping.json +++ b/.mapping.json @@ -19291,6 +19291,7 @@ "visual-editor/src/lib/components/simple-props/TextStylesProp.svelte":"divkit/public/visual-editor/src/lib/components/simple-props/TextStylesProp.svelte", "visual-editor/src/lib/components/simple-props/UnknownProp.svelte":"divkit/public/visual-editor/src/lib/components/simple-props/UnknownProp.svelte", "visual-editor/src/lib/components/simple-props/UnknownPropWithLabel.svelte":"divkit/public/visual-editor/src/lib/components/simple-props/UnknownPropWithLabel.svelte", + "visual-editor/src/lib/components/simple-props/VariableNameProp.svelte":"divkit/public/visual-editor/src/lib/components/simple-props/VariableNameProp.svelte", "visual-editor/src/lib/components/simple-props/VideoSourcesItem.svelte":"divkit/public/visual-editor/src/lib/components/simple-props/VideoSourcesItem.svelte", "visual-editor/src/lib/components/simple-props/VideoSourcesProp.svelte":"divkit/public/visual-editor/src/lib/components/simple-props/VideoSourcesProp.svelte", "visual-editor/src/lib/ctx/appContext.ts":"divkit/public/visual-editor/src/lib/ctx/appContext.ts", diff --git a/visual-editor/src/lib/components/Timers.svelte b/visual-editor/src/lib/components/Timers.svelte index d451fedff..0be8e6397 100644 --- a/visual-editor/src/lib/components/Timers.svelte +++ b/visual-editor/src/lib/components/Timers.svelte @@ -11,6 +11,7 @@ import { ChangeTimersCommand } from '../data/commands/changeTimers'; import Actions2Prop from './simple-props/Actions2Prop.svelte'; import { APP_CTX, type AppContext } from '../ctx/appContext'; + import VariableNameProp from './simple-props/VariableNameProp.svelte'; const { l10nString } = getContext(LANGUAGE_CTX); const { state } = getContext(APP_CTX); @@ -150,9 +151,11 @@
{$l10nString('timersValueVariable')}
- onValueVariableChange(index, event)} /> diff --git a/visual-editor/src/lib/components/simple-props/SelectProp.svelte b/visual-editor/src/lib/components/simple-props/SelectProp.svelte index 47de34393..589d08092 100644 --- a/visual-editor/src/lib/components/simple-props/SelectProp.svelte +++ b/visual-editor/src/lib/components/simple-props/SelectProp.svelte @@ -9,8 +9,8 @@ export let value: string; export let item: ComponentProperty; - export let processedJson; - export let parentProcessedJson; + export let processedJson: unknown | undefined = undefined; + export let parentProcessedJson: unknown | undefined = undefined; export let hasEmpty = true; export let options: { rawName?: string; @@ -25,6 +25,7 @@ $: filteredOptions = options.filter( it => it.show === undefined || + processedJson && parentProcessedJson && evalCondition(processedJson, parentProcessedJson, it.show) ); diff --git a/visual-editor/src/lib/components/simple-props/SimpleProps.svelte b/visual-editor/src/lib/components/simple-props/SimpleProps.svelte index 5111c02b6..dcecb4773 100644 --- a/visual-editor/src/lib/components/simple-props/SimpleProps.svelte +++ b/visual-editor/src/lib/components/simple-props/SimpleProps.svelte @@ -35,7 +35,8 @@ // todo const enableSources = it.editor.type !== 'background2' && it.editor.type !== 'actions2' && - it.editor.type !== 'video_sources'; + it.editor.type !== 'video_sources' && + it.editor.type !== 'variable-name'; return { rawName: it.templatePropertyName, diff --git a/visual-editor/src/lib/components/simple-props/UnknownProp.svelte b/visual-editor/src/lib/components/simple-props/UnknownProp.svelte index 717265480..76d88b50c 100644 --- a/visual-editor/src/lib/components/simple-props/UnknownProp.svelte +++ b/visual-editor/src/lib/components/simple-props/UnknownProp.svelte @@ -15,6 +15,7 @@ import TextStylesProp from './TextStylesProp.svelte'; import Actions2Prop from './Actions2Prop.svelte'; import VideoSourcesProp from './VideoSourcesProp.svelte'; + import VariableNameProp from './VariableNameProp.svelte'; export let item: ComponentProperty; export let value; @@ -155,4 +156,12 @@ {value} on:change /> +{:else if item.type === 'variable-name'} + {/if} diff --git a/visual-editor/src/lib/components/simple-props/VariableNameProp.svelte b/visual-editor/src/lib/components/simple-props/VariableNameProp.svelte new file mode 100644 index 000000000..17b4beb0b --- /dev/null +++ b/visual-editor/src/lib/components/simple-props/VariableNameProp.svelte @@ -0,0 +1,30 @@ + + + diff --git a/visual-editor/src/lib/data/componentProps.ts b/visual-editor/src/lib/data/componentProps.ts index fae93f24b..07e489d3f 100644 --- a/visual-editor/src/lib/data/componentProps.ts +++ b/visual-editor/src/lib/data/componentProps.ts @@ -157,11 +157,15 @@ export interface SplitProperty { list: [ComponentProperty, ComponentProperty]; } +export interface VariableNameProperty extends BaseProperty { + type: 'variable-name'; +} + export type ComponentProperty = RadioProperty | IntegerProperty | BooleanProperty | SelectProperty | PercentProperty | RotationProperty | StringProperty | ColorProperty | FileProperty | GroupProperty | SplitProperty | AlignmentProperty | MarginsPaddingsProperty | Background2Property | TextAlignProperty | TextStylesProperty | - Actions2Property | VideoSourcesProperty | NumberProperty; + Actions2Property | VideoSourcesProperty | NumberProperty | VariableNameProperty; export type SiblingComponentProperty = ComponentProperty & { related?: { @@ -696,8 +700,7 @@ export const COMPONENT_PROPS: Record = { list: [{ name: 'props.text_variable', prop: 'text_variable', - type: 'string', - enableSources: true + type: 'variable-name' }, { name: 'props.keyboard_type', prop: 'keyboard_type', diff --git a/visual-editor/src/lib/data/schema.ts b/visual-editor/src/lib/data/schema.ts index e49ed88e4..b583dde23 100644 --- a/visual-editor/src/lib/data/schema.ts +++ b/visual-editor/src/lib/data/schema.ts @@ -47,6 +47,7 @@ const editors = new Map([ ['common.json#/boolean_int', 'boolean'], ['common.json#/color', 'color'], ['common.json#/url', 'file'], + ['div-variable-name.json', 'variable-name'], ['div-background.json', '__background-item'], ['div-action.json', '__action-item'], ['div-video-source.json', '__video-source-item']