Warning: session_start(): open(/var/lib/php/sessions/sess_ibsq6687h6ds2rmcdd68q98k67, 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
concept Statement {
S globalID = aGlobalIDUnlessLoading();
S text;
S comments;
long discordUserID;
S context;
}
cmodule Statements > DynCRUD {
enhanceFrame { internalFrameIcon(f, gazelle_frameIcon()); }
start {
dbIndexing(Statement, 'globalID);
crud.multiLineFields = litset('text, 'comments);
crud.dontDuplicateFields = litset('globalID);
crud.renderer = func(Statement r) -> Map { litorderedmap("Statement ID" := r.globalID, text := joinWithSpace(tlft(r.text)), comments := escapeNewLines(r.comments)) };
onConceptsChange(r { vmBus_sendMessage('gazelleStatementsChanged, this) });
}
// API
Pair addStatement(S text) {
ret addStatementWithComment(text, null);
}
Pair addStatementWithComment(S text, S comment) {
Pair p = uniq2_sync(Statement,
text := rtrim(text),
comments := nullIfEmpty(rtrim(comment)));
if (p.b) vmBus_sendMessage('gazelleStatementCreated, this, p.a);
ret pair(p.a.globalID, p.b);
}
PairS textAndCommentForStatement(S statementID) {
Statement r = conceptWhere Statement(globalID := statementID);
ret r == null ? null : pair(r.text, r.comments);
}
}