-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathlanguages.ts
39 lines (35 loc) · 1.19 KB
/
languages.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import { Language } from "module-helpers";
import { createDaily } from "../daily";
import { utils } from "../utils";
function createLanguageDaily(key: string, uuid: string) {
return createDaily({
key,
items: [
{
slug: "item",
uuid,
required: true,
},
],
label: (actor, items) => items.item.name,
rows: (actor) => {
const languageList = utils.getLanguages();
const actorLanguages = actor.system.details.languages.value;
const options = languageList.filter(({ value }) => !actorLanguages.includes(value));
return [
{
type: "select",
slug: "language",
options,
},
];
},
process: ({ rows, items, messages, addRule }) => {
const language = rows.language as Language;
const source = utils.createLanguageRuleElement({ language });
addRule(items.item, source);
messages.add("languages", { uuid, selected: utils.getLanguageLabel(language) });
},
});
}
export { createLanguageDaily };