Notebook = ({ item, codes, column, onCodesChange, ...props }) => {
let ref = React.useRef();
let value = React.useRef(new Mutable(item));
React.useEffect(() => {
let code_with_derived = `
${Object.keys(item)
.map(key => `${key} = row.${key};`)
.join('\n\n')}
${Object.entries(codes)
.map(([key, code]) => `${key} = ${code}`)
.join('\n\n')}
`;
value.current.value = item;
let hmmm = notebook_direct(code_with_derived)({
row: value.current.generator
});
if (ref.current.firstChild) {
ref.current.firstChild.remove();
}
ref.current.appendChild(hmmm);
}, [codes]);
React.useEffect(() => {
value.current.value = item;
console.log('value.current.value:', value.current.value);
}, [item, codes]);
return htm`<div ref=${ref} ...${props} />`;
}