@rr0/cms
Version:
RR0 Content Management System (CMS)
27 lines (26 loc) • 834 B
JavaScript
import assert from "assert";
export class OrgMessages {
/**
*
* @param {string[]} titles The raw title.
* @see toTitle() for more complex title strings.
*/
constructor(...titles) {
this.titles = titles;
}
get title() {
return this.titles[0];
}
toTitle(context, org, opts) {
const options = opts || { parent: false };
const OrgMessages = org.getMessages(context);
assert.ok(OrgMessages, `Could not find organization "${org.id}" in organization "${org.parent.id}"`);
let str = OrgMessages.title;
if (options.parent) {
const parent = org.parent;
const parentMessages = parent.getMessages(context);
str += ` (${parentMessages.toTitle(context, parent, options)})`;
}
return str;
}
}