!7 module CoarseSplitter > DynModule { S text, function; LS output; transient JList outputList; visualize { LiveValue lvOutputTitle = mapLiveValue(dm_fieldLiveValue('output), S, func(LS l) -> S { "OUTPUT" + (empty(l) ? "" : " (" + upper(n2(l, "item")) + ")") }); ret withMargin(jvsplit( jSection("INPUT", dm_fieldTextArea('text)), northAndCenterWithMargin( centerAndEastWithMargin( withLabel("Split function:", standardFunctionLiveValueComboBox(dm_fieldLiveValue('function))), jbutton("Do it", rThread compute)), jLiveValueSection(lvOutputTitle, jLiveValueList(dm_fieldLiveValue('output)))))); } void compute enter { setField(output := assertStringList(callAndMake(function, text))); } }