index.js aktualisiert

main
macniel 2026-05-05 14:48:13 +02:00
parent 8ce0dfce1e
commit 4051e01463
1 changed files with 22 additions and 15 deletions

View File

@ -127,7 +127,8 @@ function addAccount(data) {
gadgets: gadgets
});
while (true) {
let indexOfNewAccount = -1;
while (true) {
var evt = gui.waitEvent(win);
if (!evt) continue;
@ -146,12 +147,15 @@ function addAccount(data) {
entries: []
}
)
indexOfNewAccount = data.findIndex( p => p.name == newAccountName);
console.log(indexOfNewAccount);
gui.closeWindow(win);
break;
}
}
}
}
return indexOfNewAccount;
}
function subWindow(data) {
@ -338,12 +342,17 @@ function mainWindow(projectData) {
let currentAccountIndex = 0;
let updateView = (accountIndex, data) => {
if (accountIndex!=null) {
gui.set(win, cycleId, getAccounts(data));
gui.set(win, cycleId, accountIndex);
}else {
accountIndex = gui.get(win, cycleId);
}
gui.set(win, 2, toListViewEntries(data[accountIndex].entries, cols));
gui.set(win, 3, getSummation(data[accountIndex].entries).toFixed(2));
}
let doNew = () => {
invalidate = true;
return [
{
name: "Current",
@ -357,7 +366,6 @@ function mainWindow(projectData) {
if (r) {
return JSON.parse(fs.readFileSync(r.file));
}
invalidate = false;
}
let doSave = () => {
@ -382,25 +390,28 @@ function mainWindow(projectData) {
if (evt.type === 'menu') {
if (evt.id === 101) {
internalProjectData = doNew();
break;
updateView(0, internalProjectData);
}
else if (evt.id === 102) {
internalProjectData = doOpen();
break;
updateView(0, internalProjectData);
}
else if (evt.id === 103) {
doSave();
}
else if (evt.id === 104) {
addAccount(internalProjectData);
invalidate = true;
let indexOfNewAccount = addAccount(internalProjectData);
if (indexOfNewAccount > -1) {
currentAccountIndex = indexOfNewAccount;
}
updateView(currentAccountIndex, internalProjectData);
}
else if (evt.id === 105) {
if (internalProjectData.length > 1) {
const rValue = closeAccount(internalProjectData, internalProjectData[currentAccountIndex]);
if (rValue === -1) {
internalProjectData.splice(currentAccountIndex, 1);
invalidate = true;
updateView(0, internalProjectData);
}
} else {
gui.alert("Cannot close last remaining Account");
@ -417,7 +428,7 @@ function mainWindow(projectData) {
if (evt.id === cycleId) {
currentAccountIndex = evt.code;
updateView(currentAccountIndex, internalProjectData);
updateView(null, internalProjectData);
} else if (evt.id === listViewId) {
const entry = subWindow(internalProjectData[currentAccountIndex].entries[evt.code]);
if (entry != null) {
@ -461,7 +472,6 @@ function mainWindow(projectData) {
gui.closeWindow(win);
return internalProjectData;
}
@ -506,7 +516,4 @@ function mainWindow(projectData) {
];
do {
projectData = mainWindow(projectData);
} while(projectData != null);
console.log("bye!");
mainWindow(projectData);