Warning: session_start(): open(/var/lib/php/sessions/sess_r3hdc3p8lc0n76ob9si5uo7qht, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
!7
sclass ServerModuleSearch extends DynCalculatedList {
transient S query;
transient new RestartableCountdown autoHide;
start {
calculateWhenHidden = true;
ownTimer(vmBus_onMessage('topInput, voidfunc(S s) { doSearch(s) }));
}
visualize {
JComponent c = super.visualize();
onDoubleClickOrEnter(list, voidfunc(fS s) {
thread {
dm_addDynamicModuleDialog2(beforeSpace(s), true);
dm_hideModule();
}
});
ret c;
}
void update {
S s = unnullTrim(dm_getInterestingString());
if (neq(s, query)) doSearch(s);
}
void doSearch(S s) {
temp enter();
query = s;
super.update();
if (nempty(query) && nempty(results)) {
dm_placeModuleUnderAIBar(this, query);
dm_autoHide(autoHide);
} else
dm_hideModule();
}
L calc() {
if (empty(query)) ret emptyList();
// L
L snippets = reversed(dm_dynModulesOnServer());
ret scoredSearch_eachTerm(query,
map(snippets, func(fO snippet) -> S {
fsI(getLong(snippet, 'snippetID))
+ " - "
+ _get(snippet, 'title) }));
}
}