@rr0/cms
Version:
RR0 Content Management System (CMS)
37 lines (36 loc) • 1.22 kB
JavaScript
import assert from "assert";
export class OrganizationMessages {
/**
*
* @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, options = { parent: true }) {
var _a;
const orgMessages = org.getMessages(context);
assert.ok(orgMessages, `Could not find name of city with ZIP code "${org.id}" in departement "${(_a = org.parent) === null || _a === void 0 ? void 0 : _a.id}"`);
let title = orgMessages.title;
return this.toTitleFromName(context, org, title, options);
}
toTitleFromName(context, org, title, options) {
let str = org.getMessages(context).cityName(title);
if (options.parent) {
const parent = org.parent;
if (parent) {
const depMessages = parent.getMessages(context);
const parentStr = depMessages.toTitle(context, parent, options);
str += ` (${parentStr})`;
}
}
return str;
}
cityName(cityStr) {
return cityStr.trim();
}
}