Budget fixes! (pre new budget)
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Elias Jansson
2025-05-26 14:20:24 +02:00
parent a9e6628fca
commit 0f0eaad7b1
33 changed files with 2136 additions and 329 deletions

View File

@@ -66,23 +66,23 @@
</button>
</div>
</div>
<div class="item-list">
<div ng-repeat="item in cat.items track by item.id">
<div drop-placeholder
category="cat"
index="$index"
on-drop-item="handleItemPreciseDrop(data, cat, $index)">
</div>
<div drop-placeholder
category="cat"
index="$index"
on-drop-item="handleItemPreciseDrop(data, cat, $index)">
</div>
<div class="item-row"
draggable-item
item="item"
category="cat"
on-item-drop="handleItemDrop(event, data, cat)"
ng-class="{ dragging: dragInProgress && draggedItemId === item.id }">
<i class="fa fa-grip-lines" ng-show="cat.editing" style="opacity: 0.5; padding-right: 6px;"></i>
<i class="fa fa-grip-lines drag-handle"
ng-show="cat.editing"
style="opacity: 0.5; padding-right: 6px; cursor: grab;"></i>
<input type="text" ng-model="item.name" ng-if="cat.editing" />
<span ng-if="!cat.editing">{{ item.name }}</span>
@@ -90,9 +90,31 @@
<input type="number" ng-model="item.amount" ng-if="cat.editing" />
<span class="amount" ng-if="!cat.editing">{{ item.amount | number:0 }}</span>
<button class="icon-button danger" ng-if="cat.editing" ng-click="deleteItem(cat, item)">
<i class="fa fa-trash"></i>
</button>
<!-- 3-pricksmeny -->
<div class="item-menu-container" ng-if="cat.editing" style="position: relative;">
<button class="icon-button" ng-click="openItemMenu($event, item)">
<i class="fa fa-ellipsis-v"></i>
</button>
<div class="item-floating-menu" ng-show="menuVisible" ng-style="menuStyle">
<button ng-click="deleteItem(menuItem.category, menuItem)">🗑 Ta bort</button>
<hr>
<button
ng-click="setItemType(menuItem, 'expense')"
ng-class="{ 'disabled': menuItem.isExpense }">
<span ng-if="menuItem.isExpense">✔️</span> 💸 Utgift
</button>
<button
ng-click="setItemType(menuItem, 'income')"
ng-class="{ 'disabled': !menuItem.isExpense && menuItem.includeInSummary }">
<span ng-if="!menuItem.isExpense && menuItem.includeInSummary">✔️</span> 💰 Inkomst
</button>
<button
ng-click="setItemType(menuItem, 'saving')"
ng-class="{ 'disabled': !menuItem.isExpense && !menuItem.includeInSummary }">
<span ng-if="!menuItem.isExpense && !menuItem.includeInSummary">✔️</span> 🏦 Sparande
</button>
</div>
</div>
</div>
</div>
@@ -106,16 +128,14 @@
<i class="fa fa-plus" style="padding-right: 6px; opacity: 0.7;"></i>
<input type="text" ng-model="cat.newItemName" placeholder="Ny post" />
<input type="number" ng-model="cat.newItemAmount" placeholder="Belopp" />
<button class="icon-button" ng-click="addItem(cat)"><i class="fa fa-plus"></i></button>
</div>
<div class="item-row total-row">
<div>Summa</div>
<div class="amount">{{ getCategorySum(cat) | number:0 }}</div>
</div>
</div>
</div>
<div class="item-row total-row">
<div>Summa</div>
<div class="amount">{{ getCategorySum(cat) | number:0 }}</div>
</div>
<div class="no-data" ng-if="!loading && budget && budget.categories.length === 0">
Det finns ingen budgetdata för vald månad ({{ selectedMonth }}/{{ selectedYear }}).
<button ng-click="copyPreviousMonthSafe()">[Test] Kopiera föregående</button>
@@ -125,6 +145,6 @@
<link rel="stylesheet" href="~/css/budget.css" />
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.8.2/angular.min.js"></script>
<script src="https://kit.fontawesome.com/a076d05399.js" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" />
<script src="~/js/budget.js"></script>
<script src="~/js/budget-dragdrop.js"></script>