Страница для индексации
Перейти на сайт
Ниже представлены 3 чек-бокса с разными стилями: 1-й классический (поле ch1 ), 2-й сделан на CSS (поле ABC ) и 3-й классический в режиме чтения (поле ch2 ). На Питоне поле с типом checkbox выглядит примерно так:
{' field ': [' ch2 ', ' chb ', ' флажок (только чтение) '], ' classic ':1, ' name ':' CH2 '}
Первыми двумя можно пощелкать.
Средний (который на голубом фоне) управляет скрытием нижнего.

{_ {"field": ["ch1", "chb", "Классический флажок"], "classic":1, "edit":1, "className": "ttar", "style":{"width":200}} _}

{_{"field": ["abc", "chb", "Скрыть нижний флажок"], "edit":1, "style":{"width":400, "background":"#def", "font":"bold 9pt Arial", "color":"#048", "minHeight": 35, "padding": 7}}_}

{_ {"field": ["ch2", "chb", "флажок (только чтение)"], "classic":1, "name":"CH2", "style":{"border":"1px solid blue", "width":400}} _}

{_ {"div":"javascript(topic.js), который обеспечивает скрытие:", "style":{"color":"blue"}} _}CODE__
window.sovaInit = form => {
return {
recalc: {
ABC: doc => doc.forceUpdate(),// forceUpdate - метод React "перерисовать"
},
hide: {
CH2: doc => doc.getField('abc'),// checkbox "ABC" возвращает "1" или ""
},
};
};

//Пояснения:
// ABC - имя поля с типом "chb" (checkbox, который на голубом фоне).
// {"field": ["abc","chb","Скрыть нижний флажок"],"edit":1,"style":{"width":400}}

// CH2 - параметр "name" в описании нижнего флажка
// {"field": ["ch2", "chb", "флажок (только чтение)"], "classic":1, "name":"CH2"}

В глобальной переменной 'window.sova.recalc' находятся функции,
у которых название === названию поля на верхнем регистре.
Функция 'window.sova.recalc.ABC' вызывается, когда изменяется поле 'ABC'.
Со скрытием примерно также, только не имя поля, а параметр 'name' (скрываться могут
не только поля). Если функция 'window.sova.hide.CH2' вернет true,
все элементы, у которых 'name':'CH2' будут скрыты при очередной прорисовке.
__CODE