!7 sclass NamedList { S name; L lines; } module SomeObjects > DynObjectTable { L lists = synchroList(); transient SingleComponentPanel scp; start { itemToMap = func(NamedList l) -> Map { litorderedmap("Name" := l.name, lines := l(l.lines)) }; defaultAction = voidfunc(final NamedList l) { final LiveValue lvText = stringLiveValue(lines(l.text)); lvText.onChange(r { l.text = lvText!; blubberblub; }); setSCPComponent(scp, jSection(name, jLiveValueWordWrapTextArea(lvText))); }; blub; } void blubberblub { setData(lists); } visualize { ret jhsplit(withCenteredButtonsOnTop(super.visualize(), "Add" := rThread { inputText("Name of new list", voidfunc(S name) { lists.add(nu(NamedList, +name)); blubberblub; }); } ), scp = singleComponentPanel(jSection("Content"))); } }