Export scriptarium OK agfain
All checks were successful
Release Creation / build (release) Successful in 2m29s
All checks were successful
Release Creation / build (release) Successful in 2m29s
This commit is contained in:
@@ -12,14 +12,18 @@ export class ExportScriptarium {
|
||||
}
|
||||
|
||||
constructor() {
|
||||
Hooks.on("getActorDirectoryFolderContext", (actorDirectory, menus) => { ExportScriptarium.INSTANCE.onActorDirectoryMenu(actorDirectory, menus) })
|
||||
Hooks.on("getActorDirectoryEntryContext", (actorDirectory, menus) => { ExportScriptarium.INSTANCE.onActorDirectoryMenu(actorDirectory, menus) })
|
||||
//Hooks.on("getActorDirectoryFolderContext", (actorDirectory, menus) => { ExportScriptarium.INSTANCE.onActorDirectoryMenu(actorDirectory, menus) })
|
||||
Hooks.on("getFolderContextOptions", (actorDirectory, menus) => { ExportScriptarium.INSTANCE.onActorDirectoryMenu(actorDirectory, menus) })
|
||||
//Hooks.on("getActorDirectoryEntryContext", (actorDirectory, menus) => { ExportScriptarium.INSTANCE.onActorDirectoryMenu(actorDirectory, menus) })
|
||||
Hooks.on("getActorContextOptions", (actorDirectory, menus) => { ExportScriptarium.INSTANCE.onActorDirectoryMenu(actorDirectory, menus) })
|
||||
|
||||
}
|
||||
|
||||
onActorDirectoryMenu(actorDirectory, menus) {
|
||||
// DEBUG console.log("ExportScriptarium.onActorDirectoryMenu", actorDirectory, menus)
|
||||
menus.push({
|
||||
name: 'Export Personnages <i class="fa-regular fa-file-csv"></i>',
|
||||
icon: IMG_SCRIPTARIUM,
|
||||
name: 'Export Personnages',
|
||||
icon: '<i class="fa-solid fa-download"></i>', //IMG_SCRIPTARIUM,
|
||||
condition: (target) => game.user.isGM &&
|
||||
OptionsAvancees.isUsing(EXPORT_CSV_SCRIPTARIUM) &&
|
||||
this.$getActors(actorDirectory, target).length > 0,
|
||||
@@ -28,22 +32,28 @@ export class ExportScriptarium {
|
||||
}
|
||||
|
||||
$getTargetName(actorDirectory, target) {
|
||||
target = $(target)
|
||||
const li = target.closest(".directory-item")
|
||||
const folderId = li.data("folderId")
|
||||
const actorId = li.data("documentId")
|
||||
const actorId = li.data("entryId")
|
||||
return actorId
|
||||
? game.actors.get(actorId).name
|
||||
: actorDirectory.folders.find(it => it.id == folderId).name
|
||||
: actorDirectory.collection.filter(it => it.folder.id == folderId).name
|
||||
}
|
||||
|
||||
$getActors(actorDirectory, target) {
|
||||
if (actorDirectory.id != "actors") {
|
||||
return []
|
||||
}
|
||||
// DEBUG console.log("ExportScriptarium.$getActors", actorDirectory, target)
|
||||
target = $(target)
|
||||
const li = target.closest(".directory-item")
|
||||
const folderId = li.data("folderId")
|
||||
const actorId = li.data("documentId")
|
||||
const actorId = li.data("entryId")
|
||||
const actors = actorId
|
||||
? [game.actors.get(actorId)]
|
||||
: folderId
|
||||
? actorDirectory.folders.find(it => it.id == folderId).contents
|
||||
? actorDirectory.collection.filter(it => it.folder.id == folderId)
|
||||
: []
|
||||
return actors.filter(it => it.type == ACTOR_TYPES.personnage)
|
||||
}
|
||||
@@ -54,7 +64,7 @@ export class ExportScriptarium {
|
||||
const actorLines = actors.map(actor => Misc.join(this.getActorLine(actor), ';'))
|
||||
const data = Misc.join([header, ...actorLines], eol)
|
||||
const filename = `scriptarium-${targetName?.slugify()}.csv`;
|
||||
saveDataToFile(data, "text/csv;charset=windows-1252", `${filename}`);
|
||||
foundry.utils.saveDataToFile(data, "text/csv;charset=windows-1252", `${filename}`);
|
||||
}
|
||||
|
||||
getHeaderLine() {
|
||||
|
Reference in New Issue
Block a user