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:
@@ -1484,11 +1484,11 @@
|
|||||||
background: rgba(220,220,210,0.75);
|
background: rgba(220,220,210,0.75);
|
||||||
border: 2px solid #545469;
|
border: 2px solid #545469;
|
||||||
}
|
}
|
||||||
|
|
||||||
.chat-message hr {
|
.chat-message hr {
|
||||||
margin: 0.2rem 0;
|
margin: 0.2rem 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.chat-icon {
|
.chat-icon {
|
||||||
border: 0;
|
border: 0;
|
||||||
padding: 2px 6px 2px 2px;
|
padding: 2px 6px 2px 2px;
|
||||||
|
@@ -12,14 +12,18 @@ export class ExportScriptarium {
|
|||||||
}
|
}
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
Hooks.on("getActorDirectoryFolderContext", (actorDirectory, menus) => { ExportScriptarium.INSTANCE.onActorDirectoryMenu(actorDirectory, menus) })
|
//Hooks.on("getActorDirectoryFolderContext", (actorDirectory, menus) => { ExportScriptarium.INSTANCE.onActorDirectoryMenu(actorDirectory, menus) })
|
||||||
Hooks.on("getActorDirectoryEntryContext", (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) {
|
onActorDirectoryMenu(actorDirectory, menus) {
|
||||||
|
// DEBUG console.log("ExportScriptarium.onActorDirectoryMenu", actorDirectory, menus)
|
||||||
menus.push({
|
menus.push({
|
||||||
name: 'Export Personnages <i class="fa-regular fa-file-csv"></i>',
|
name: 'Export Personnages',
|
||||||
icon: IMG_SCRIPTARIUM,
|
icon: '<i class="fa-solid fa-download"></i>', //IMG_SCRIPTARIUM,
|
||||||
condition: (target) => game.user.isGM &&
|
condition: (target) => game.user.isGM &&
|
||||||
OptionsAvancees.isUsing(EXPORT_CSV_SCRIPTARIUM) &&
|
OptionsAvancees.isUsing(EXPORT_CSV_SCRIPTARIUM) &&
|
||||||
this.$getActors(actorDirectory, target).length > 0,
|
this.$getActors(actorDirectory, target).length > 0,
|
||||||
@@ -28,22 +32,28 @@ export class ExportScriptarium {
|
|||||||
}
|
}
|
||||||
|
|
||||||
$getTargetName(actorDirectory, target) {
|
$getTargetName(actorDirectory, target) {
|
||||||
|
target = $(target)
|
||||||
const li = target.closest(".directory-item")
|
const li = target.closest(".directory-item")
|
||||||
const folderId = li.data("folderId")
|
const folderId = li.data("folderId")
|
||||||
const actorId = li.data("documentId")
|
const actorId = li.data("entryId")
|
||||||
return actorId
|
return actorId
|
||||||
? game.actors.get(actorId).name
|
? 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) {
|
$getActors(actorDirectory, target) {
|
||||||
|
if (actorDirectory.id != "actors") {
|
||||||
|
return []
|
||||||
|
}
|
||||||
|
// DEBUG console.log("ExportScriptarium.$getActors", actorDirectory, target)
|
||||||
|
target = $(target)
|
||||||
const li = target.closest(".directory-item")
|
const li = target.closest(".directory-item")
|
||||||
const folderId = li.data("folderId")
|
const folderId = li.data("folderId")
|
||||||
const actorId = li.data("documentId")
|
const actorId = li.data("entryId")
|
||||||
const actors = actorId
|
const actors = actorId
|
||||||
? [game.actors.get(actorId)]
|
? [game.actors.get(actorId)]
|
||||||
: folderId
|
: 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)
|
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 actorLines = actors.map(actor => Misc.join(this.getActorLine(actor), ';'))
|
||||||
const data = Misc.join([header, ...actorLines], eol)
|
const data = Misc.join([header, ...actorLines], eol)
|
||||||
const filename = `scriptarium-${targetName?.slugify()}.csv`;
|
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() {
|
getHeaderLine() {
|
||||||
|
Reference in New Issue
Block a user