!7 DynTable > RecentlyDeletedModules { L calc() { ret reversed(map(scanLog_iterator(deletedModulesLogFile()), func(S structure) { O mod = safeUnstructure(structure); // old layout: // "c DynamicModule(_className=\"main$TextArea\", created=1529499892012L, frameRect=Rect(h=66, w=130, x=618, y=339), id=384L, moduleID=\"#1016122\", on=t, visible=t)" // new layout: // "hm{deleted=123L, module := c DynamicModule(...)}" long deleted = 0; if (mod instanceof Map) { deleted = toLong(mod/Map.get("deleted")); mod = mod/Map.get("module"); } S className = dynShortName(mod); if (eq(className, "DynamicModule")) className = shortenClassName(getString(mod, '_className)); ret litorderedmap( "Module ID" := joinNempties("/", getString(mod, 'moduleID), className), //"Created" := formatLocalDateWithMinutes(getOptLong(mod, 'created)), "Deleted" := formatLocalDateWithMinutes(deleted), "Data Size" := toK(l(structure)) + " K"); })); } }