Datagen database viewer barely works
This commit is contained in:
parent
1aab2bd811
commit
763e8b7912
@ -4,7 +4,7 @@ const Schema = mongoose.Schema;
|
||||
const DatagenEntrySchema = new Schema({
|
||||
id: {type: String, required: true},
|
||||
schema: { type: String, required: true},
|
||||
data: { type: Object },
|
||||
data: { type: Object, default: {} },
|
||||
datagen_collection: {type: mongoose.Types.ObjectId, ref: "DatagenCollection"},
|
||||
});
|
||||
|
||||
|
@ -69,7 +69,7 @@ async function appendDatagen(file, modelName, info, datagenCollection){
|
||||
let fileData = JSON.parse(fs.readFileSync(file));
|
||||
return await DatagenEntry.create({
|
||||
id: fileData.id,
|
||||
data: fileData.value,
|
||||
data: fileData.value !== undefined ? fileData.value : {},
|
||||
schema: modelName,
|
||||
datagen_collection: datagenCollection
|
||||
});
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { FetchConcepts, InitData } from "./data";
|
||||
import { FetchConcepts, GetConcepts, InitData } from "./data";
|
||||
import { Global } from '@/services/PluginGlobals';
|
||||
|
||||
var dndModule;
|
||||
@ -44,6 +44,8 @@ function Main(Api){
|
||||
Api.createWindow(databaseWindow, {
|
||||
title: "Campaign items",
|
||||
id: 'campaign-items-window',
|
||||
fetchConcepts: FetchConcepts, // Requests reactive ref update
|
||||
getConcepts: GetConcepts, // Needs to return reactive ref value
|
||||
close: () => Api.clearWindow("campaign-items-window")
|
||||
});
|
||||
}
|
||||
|
@ -37,19 +37,18 @@ function FetchBookList(){
|
||||
}
|
||||
|
||||
function OpenBook(element){
|
||||
console.log(element);
|
||||
console.log("!!!!!");
|
||||
dndModule.getDatagenData(element.id).then(response => {
|
||||
console.log(response.data);
|
||||
Api.createWindow(PluginData.windows.database, {
|
||||
title: element.name,
|
||||
id: 'campaign-items-window',
|
||||
elements: response.data.elements,
|
||||
transformer: (element) => element.data,
|
||||
topper: {
|
||||
icon: "/plugins/" + element.package + "/" + element.icon,
|
||||
title: element.name,
|
||||
description: element.desc
|
||||
},
|
||||
getConcepts: () => response.data.elements,
|
||||
close: () => Api.clearWindow("campaign-items-window")
|
||||
});
|
||||
});
|
||||
|
@ -38,22 +38,33 @@ onMounted(() => {
|
||||
SetResizable(id, true);
|
||||
SetMinSize(id, {width: 800, height: 300});
|
||||
|
||||
watch(GetConcepts, () => {
|
||||
let elements = GetConcepts();
|
||||
weapons.value = elements.filter((e) => e.type == "Weapon");
|
||||
equipment.value = elements.filter((e) => e.type == "Equipment");
|
||||
consumables.value = elements.filter((e) => e.type == "Consumable");
|
||||
containers.value = elements.filter((e) => e.type == "Container");
|
||||
tools.value = elements.filter((e) => e.type == "Tool");
|
||||
spells.value = elements.filter((e) => e.type == "Spell");
|
||||
features.value = elements.filter((e) => e.type == "Feature");
|
||||
// console.log(data);
|
||||
|
||||
console.log(elements);
|
||||
console.log(elements);
|
||||
watch(data.getConcepts, () => {
|
||||
updateView();
|
||||
});
|
||||
|
||||
FetchConcepts();
|
||||
if(data.fetchConcepts) data.fetchConcepts();
|
||||
updateView();
|
||||
});
|
||||
|
||||
function updateView(){
|
||||
let elements = data.getConcepts();
|
||||
if(data.transformer) elements = elements.map(element => data.transformer(element));
|
||||
|
||||
console.log(elements);
|
||||
|
||||
weapons.value = elements.filter((e) => e.type == "Weapon");
|
||||
equipment.value = elements.filter((e) => e.type == "Equipment");
|
||||
consumables.value = elements.filter((e) => e.type == "Consumable");
|
||||
containers.value = elements.filter((e) => e.type == "Container");
|
||||
tools.value = elements.filter((e) => e.type == "Tool");
|
||||
spells.value = elements.filter((e) => e.type == "Spell");
|
||||
features.value = elements.filter((e) => e.type == "Feature");
|
||||
|
||||
console.log(elements);
|
||||
}
|
||||
|
||||
function OpenCreateItemPrompt(){
|
||||
Api.createWindow(PluginData.windows.create_item_prompt, {id: 'create_item_prompt', title: 'Create Item', close: () => Api.clearWindow('create_item_prompt')})
|
||||
}
|
||||
|
@ -1,4 +0,0 @@
|
||||
{
|
||||
"id": "effects/test_effect",
|
||||
"value": {}
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
{
|
||||
"id": "consumables/test_consumable",
|
||||
"value": {}
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
{
|
||||
"id": "container/test_container",
|
||||
"value": {}
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
{
|
||||
"id": "equipment/test_equipment",
|
||||
"value": {}
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
{
|
||||
"id": "feature/test_feature",
|
||||
"value": {}
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
{
|
||||
"id": "spells/test_spell",
|
||||
"value": {}
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
{
|
||||
"id": "tools/test_tool",
|
||||
"value": {}
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"id": "weapon/test_weapon",
|
||||
"id": "weapons/test_weapon",
|
||||
"value": {
|
||||
"name": "Test datagen weapon",
|
||||
"description": "Test test test",
|
||||
@ -10,7 +10,7 @@
|
||||
"weight": "10",
|
||||
"price": "10",
|
||||
"data": {
|
||||
"weapon_type": "Natural",
|
||||
"weapon_type": "Natural",
|
||||
"properties": [
|
||||
"Finesse"
|
||||
]
|
||||
|
@ -1,4 +0,0 @@
|
||||
{
|
||||
"id": "monsters/test_monster",
|
||||
"value": {}
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
{
|
||||
"id": "classes/test_class",
|
||||
"value": {}
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
{
|
||||
"id": "races/test_race",
|
||||
"value": {}
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
{
|
||||
"id": "table/test_table",
|
||||
"value": {}
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
{
|
||||
"id": "effects/test_effect",
|
||||
"value": {}
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
{
|
||||
"id": "consumables/test_consumable",
|
||||
"value": {}
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
{
|
||||
"id": "container/test_container",
|
||||
"value": {}
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
{
|
||||
"id": "equipment/test_equipment",
|
||||
"value": {}
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
{
|
||||
"id": "feature/test_feature",
|
||||
"value": {}
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
{
|
||||
"id": "spells/test_spell",
|
||||
"value": {}
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
{
|
||||
"id": "tools/test_tool",
|
||||
"value": {}
|
||||
}
|
@ -1,19 +0,0 @@
|
||||
{
|
||||
"id": "weapon/test_weapon",
|
||||
"value": {
|
||||
"name": "Test datagen weapon",
|
||||
"description": "Test test test",
|
||||
"icon": "icons/weapons/ammunition/shot-round-blue.webp",
|
||||
"type": "Weapon",
|
||||
"rarity": "Rare",
|
||||
"quantity": "1",
|
||||
"weight": "10",
|
||||
"price": "10",
|
||||
"data": {
|
||||
"weapon_type": "Natural",
|
||||
"properties": [
|
||||
"Finesse"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
@ -1,4 +1,6 @@
|
||||
{
|
||||
"id": "monsters/test_monster",
|
||||
"value": {}
|
||||
"value": {
|
||||
|
||||
}
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
{
|
||||
"id": "classes/test_class",
|
||||
"value": {}
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
{
|
||||
"id": "races/test_race",
|
||||
"value": {}
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
{
|
||||
"id": "table/test_table",
|
||||
"value": {}
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
{
|
||||
"id": "effects/test_effect",
|
||||
"value": {}
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
{
|
||||
"id": "consumables/test_consumable",
|
||||
"value": {}
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
{
|
||||
"id": "container/test_container",
|
||||
"value": {}
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
{
|
||||
"id": "equipment/test_equipment",
|
||||
"value": {}
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
{
|
||||
"id": "feature/test_feature",
|
||||
"value": {}
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
{
|
||||
"id": "spells/test_spell",
|
||||
"value": {}
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
{
|
||||
"id": "tools/test_tool",
|
||||
"value": {}
|
||||
}
|
@ -1,19 +0,0 @@
|
||||
{
|
||||
"id": "weapon/test_weapon",
|
||||
"value": {
|
||||
"name": "Test datagen weapon",
|
||||
"description": "Test test test",
|
||||
"icon": "icons/weapons/ammunition/shot-round-blue.webp",
|
||||
"type": "Weapon",
|
||||
"rarity": "Rare",
|
||||
"quantity": "1",
|
||||
"weight": "10",
|
||||
"price": "10",
|
||||
"data": {
|
||||
"weapon_type": "Natural",
|
||||
"properties": [
|
||||
"Finesse"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
{
|
||||
"id": "monsters/test_monster",
|
||||
"value": {}
|
||||
}
|
Loading…
Reference in New Issue
Block a user