починка багов
This commit is contained in:
@@ -33,6 +33,15 @@ export const buttonGroupDefinition: ElementDefinition<
|
||||
},
|
||||
// Берём целевые ячейки прямо из конфига, если они заданы в редакторе
|
||||
mapToCells: cfg => cfg.targetCells || [],
|
||||
mapToCellValues: (config, value) => {
|
||||
const cells = config.targetCells || []
|
||||
|
||||
// Находим option по value чтобы получить label
|
||||
const selectedOption = config.options?.find(opt => opt.value === value)
|
||||
const cellValue = selectedOption ? selectedOption.label : value || ''
|
||||
|
||||
return cells.map(target => ({ target, value: cellValue }))
|
||||
},
|
||||
Editor: ({ config, onChange }) => {
|
||||
const handleAddOption = () => {
|
||||
onChange({
|
||||
|
||||
@@ -22,6 +22,10 @@ export const textDefinition: ElementDefinition<TextConfig, string> = {
|
||||
name: '',
|
||||
},
|
||||
mapToCells: config => config.targetCells || [],
|
||||
mapToCellValues: (config, value) => {
|
||||
const cells = config.targetCells || []
|
||||
return cells.map(target => ({ target, value: value || '' }))
|
||||
},
|
||||
Editor: () => <ExtraSettingsBadge />,
|
||||
Preview: ({ config }) => (
|
||||
<div className="space-y-1">
|
||||
|
||||
@@ -23,7 +23,11 @@ export interface ElementDefinition<Config = any, Value = any> {
|
||||
|
||||
/* бизнес-логика */
|
||||
defaultConfig: Config
|
||||
mapToCells(config: Config): CellTarget[] // куда пишем данные
|
||||
mapToCells(config: Config): CellTarget[] // куда пишем данные (для отображения)
|
||||
mapToCellValues(
|
||||
config: Config,
|
||||
value: Value
|
||||
): Array<{ target: CellTarget; value: any }> // готовые пары ячейка-значение для записи
|
||||
|
||||
/* мета */
|
||||
version: number
|
||||
|
||||
Reference in New Issue
Block a user