!7 sclass LatestChangedSnippets extends DynTable { L data; void start { ownTimer(doEvery(10.0, r actualUpdate)); } void actualUpdate { temp enter(); actualCalc(); } L calc() { ret data != null ? data : actualCalc(); } L actualCalc() ctex { ret setFieldAndReturn(data := map(recentlyChangedSnippets(), func(Snippet s) { humanizeKeys(putKeysFirst(objectAsMap(s), "title", "id")) })); } }