Bug fix related to saving entries with mixed changes

This commit is contained in:
Scott Idem
2025-04-01 18:42:32 -04:00
parent d393ed2c7a
commit a41ecb45a9
5 changed files with 119 additions and 24 deletions

View File

@@ -68,10 +68,10 @@ if (browser) {
<!-- These are needed: h-full overflow-auto -->
<div class="ae_journals">
<nav class="submenu flex flex-row items-center justify-center gap-1">
<nav class="submenu flex flex-row flex-wrap items-center justify-center gap-1">
<a
href="/"
class="btn btn-sm variant-ghost-success hover:variant-filled-success"
class="btn btn-sm variant-ghost-surface hover:variant-filled-success"
>
<House />
Home
@@ -82,7 +82,7 @@ if (browser) {
onclick={() => {
// Confirm before clearing
if (!confirm("Are you sure you want to clear all app data and settings? This will reload the page.")) {
if (!confirm("Are you sure you want to clear all *local* app data and settings? This will also reload the page.")) {
return;
}
console.log("Clearing local and session storage, and reloading the page...");
@@ -102,19 +102,19 @@ if (browser) {
window.location.reload(true); // true only works with Firefox
// alert('Local and Session Storage cleared and Indexed DBs deleted. You will probably want to refresh the page.');
}}
class="btn btn-sm variant-ghost-success hover:variant-filled-success"
class="btn btn-sm variant-ghost-surface hover:variant-filled-warning"
title="Clear App Data &amp; Settings - Reload: Clear the browser storage for this site"
>
<!-- <span class="fas fa-eraser mx-1"></span> -->
<span class="fas fa-sync mx-1"></span>
Clear &amp; Reload
<span class="hidden md:inline">Clear &amp; Reload</span>
</button>
</nav>
{#if $ae_loc.administrator_access && 1==2}
<nav
class="submenu flex flex-row justify-center"
class="submenu flex flex-row items-center justify-center"
class:hidden={$ae_loc.iframe}
>

View File

@@ -8,7 +8,7 @@ import { onMount } from 'svelte';
import { goto } from '$app/navigation';
// *** Import other supporting libraries
import { FolderPlus } from '@lucide/svelte';
import { BookPlus, FolderPlus } from '@lucide/svelte';
import { liveQuery } from "dexie";
import { Modal } from 'flowbite-svelte';
@@ -137,8 +137,8 @@ async function create_journal() {
<button
class="
btn btn-sm
variant-ghost-primary
hover:variant-filled-primary
variant-ghost-secondary
hover:variant-filled-secondary
transition
"
onclick={
@@ -146,8 +146,9 @@ async function create_journal() {
$journals_sess.show__modal_new__journal_obj = true;
}
}
>
<FolderPlus class="mx-1" />
>
<!-- <FolderPlus class="mx-1" /> -->
<BookPlus />
New Journal
</button>

View File

@@ -5,7 +5,12 @@ let log_lvl: number = 0;
let { data, children } = $props();
import { goto } from '$app/navigation';
import { BookHeart, Check, FilePlus, Minus, Notebook, Pencil, Plus, X } from '@lucide/svelte';
import {
BookHeart, Check,
FilePlus, Library,
Minus, Notebook, Pencil, Plus,
X
} from '@lucide/svelte';
import { liveQuery } from "dexie";
import { Modal } from 'flowbite-svelte';
@@ -121,10 +126,12 @@ async function handle_update_journal() {
hover:variant-filled-tertiary
transition
"
title="View all journals"
>
<BookHeart class="mx-1" />
<!-- <BookHeart /> -->
<Library />
<span class="hidden md:inline">
View Other Journals
All Journals
</span>
</a>
@@ -166,9 +173,12 @@ async function handle_update_journal() {
hover:variant-filled-warning
transition
"
title="Edit Journal meta and configuration (name, type, passcode, categories, etc.)"
>
<Pencil />
Edit Journal
<span class="hidden md:inline">
Edit Journal
</span>
</button>
{/if}
@@ -214,7 +224,7 @@ async function handle_update_journal() {
transition
"
>
<FilePlus class="mx-1" />
<FilePlus />
<!-- <span class="fas fa-plus m-1"></span> -->
<span class="hidden sm:inline">
New Journal Entry

View File

@@ -87,10 +87,12 @@ $effect(() => {
if (tmp_entry_obj_changed && confirm('Would you like to save changes to this journal entry before exiting edit mode?')) {
// Call API to save the content
let data_kv = {
name: tmp_entry_obj?.name,
alert_msg: tmp_entry_obj?.alert_msg,
category_code: tmp_entry_obj?.category_code,
content: tmp_entry_obj?.content,
group: tmp_entry_obj?.group,
name: tmp_entry_obj?.name,
tags: tmp_entry_obj?.tags,
content: tmp_entry_obj?.content
};
journals_func.update_ae_obj__journal_entry({
api_cfg: $ae_api,
@@ -266,7 +268,12 @@ $effect(() => {
// Call API to save the content
let data_kv = {
category_code: tmp_entry_obj?.category_code
alert_msg: tmp_entry_obj?.alert_msg,
category_code: tmp_entry_obj?.category_code,
content: tmp_entry_obj?.content,
group: tmp_entry_obj?.group,
name: tmp_entry_obj?.name,
tags: tmp_entry_obj?.tags,
};
journals_func.update_ae_obj__journal_entry({
api_cfg: $ae_api,
@@ -331,6 +338,13 @@ $effect(() => {
onclick={() => {
if ($ae_loc.trusted_access) {
let data_kv = {
alert_msg: tmp_entry_obj?.alert_msg,
category_code: tmp_entry_obj?.category_code,
content: tmp_entry_obj?.content,
group: tmp_entry_obj?.group,
name: tmp_entry_obj?.name,
tags: tmp_entry_obj?.tags,
alert: $lq__journal_entry_obj?.alert ? false : true
};
journals_func.update_ae_obj__journal_entry({
@@ -363,6 +377,12 @@ $effect(() => {
onclick={() => {
if ($ae_loc.trusted_access) {
let data_kv = {
category_code: tmp_entry_obj?.category_code,
content: tmp_entry_obj?.content,
group: tmp_entry_obj?.group,
name: tmp_entry_obj?.name,
tags: tmp_entry_obj?.tags,
alert_msg: $lq__journal_entry_obj?.alert_msg ? false : true
};
journals_func.update_ae_obj__journal_entry({
@@ -396,6 +416,13 @@ $effect(() => {
onclick={() => {
if ($ae_loc.trusted_access) {
let data_kv = {
alert_msg: tmp_entry_obj?.alert_msg,
category_code: tmp_entry_obj?.category_code,
content: tmp_entry_obj?.content,
group: tmp_entry_obj?.group,
name: tmp_entry_obj?.name,
tags: tmp_entry_obj?.tags,
private: $lq__journal_entry_obj?.private ? false : true
};
journals_func.update_ae_obj__journal_entry({
@@ -427,6 +454,13 @@ $effect(() => {
onclick={() => {
if ($ae_loc.trusted_access) {
let data_kv = {
alert_msg: tmp_entry_obj?.alert_msg,
category_code: tmp_entry_obj?.category_code,
content: tmp_entry_obj?.content,
group: tmp_entry_obj?.group,
name: tmp_entry_obj?.name,
tags: tmp_entry_obj?.tags,
public: $lq__journal_entry_obj?.public ? false : true
};
journals_func.update_ae_obj__journal_entry({
@@ -458,6 +492,13 @@ $effect(() => {
onclick={() => {
if ($ae_loc.trusted_access) {
let data_kv = {
alert_msg: tmp_entry_obj?.alert_msg,
category_code: tmp_entry_obj?.category_code,
content: tmp_entry_obj?.content,
group: tmp_entry_obj?.group,
name: tmp_entry_obj?.name,
tags: tmp_entry_obj?.tags,
personal: $lq__journal_entry_obj?.personal ? false : true
};
journals_func.update_ae_obj__journal_entry({
@@ -489,6 +530,13 @@ $effect(() => {
onclick={() => {
if ($ae_loc.trusted_access) {
let data_kv = {
alert_msg: tmp_entry_obj?.alert_msg,
category_code: tmp_entry_obj?.category_code,
content: tmp_entry_obj?.content,
group: tmp_entry_obj?.group,
name: tmp_entry_obj?.name,
tags: tmp_entry_obj?.tags,
professional: $lq__journal_entry_obj?.professional ? false : true
};
journals_func.update_ae_obj__journal_entry({
@@ -595,10 +643,12 @@ $effect(() => {
if ($ae_loc.trusted_access) {
// Call API to save the content
let data_kv = {
name: tmp_entry_obj?.name,
alert_msg: tmp_entry_obj?.alert_msg,
category_code: tmp_entry_obj?.category_code,
content: tmp_entry_obj?.content,
group: tmp_entry_obj?.group,
name: tmp_entry_obj?.name,
tags: tmp_entry_obj?.tags,
content: tmp_entry_obj?.content
};
journals_func.update_ae_obj__journal_entry({
api_cfg: $ae_api,
@@ -646,7 +696,13 @@ $effect(() => {
onclick={() => {
if ($ae_loc.trusted_access) {
let data_kv = {
priority: $lq__journal_entry_obj?.priority ? false : true
alert: $lq__journal_entry_obj?.alert,
alert_msg: $lq__journal_entry_obj?.alert_msg,
category_code: tmp_entry_obj?.category_code,
content: tmp_entry_obj?.content,
name: tmp_entry_obj?.name,
priority: $lq__journal_entry_obj?.priority ? false : true,
tags: tmp_entry_obj?.tags,
};
journals_func.update_ae_obj__journal_entry({
api_cfg: $ae_api,
@@ -681,6 +737,13 @@ $effect(() => {
type="button"
onclick={() => {
let data_kv = {
alert_msg: tmp_entry_obj?.alert_msg,
category_code: tmp_entry_obj?.category_code,
content: tmp_entry_obj?.content,
group: tmp_entry_obj?.group,
name: tmp_entry_obj?.name,
tags: tmp_entry_obj?.tags,
sort: $lq__journal_entry_obj?.sort ? $lq__journal_entry_obj?.sort + 1 : 1
};
journals_func.update_ae_obj__journal_entry({
@@ -713,7 +776,14 @@ $effect(() => {
type="button"
onclick={() => {
let data_kv = {
sort: $lq__journal_entry_obj?.sort ? $lq__journal_entry_obj?.sort - 1 : 0
alert_msg: tmp_entry_obj?.alert_msg,
category_code: tmp_entry_obj?.category_code,
content: tmp_entry_obj?.content,
group: tmp_entry_obj?.group,
name: tmp_entry_obj?.name,
tags: tmp_entry_obj?.tags,
sort: $lq__journal_entry_obj?.sort ? $lq__journal_entry_obj?.sort - 1 : 0,
};
journals_func.update_ae_obj__journal_entry({
api_cfg: $ae_api,
@@ -768,6 +838,13 @@ $effect(() => {
type="button"
onclick={() => {
let data_kv = {
alert_msg: tmp_entry_obj?.alert_msg,
category_code: tmp_entry_obj?.category_code,
content: tmp_entry_obj?.content,
group: tmp_entry_obj?.group,
name: tmp_entry_obj?.name,
tags: tmp_entry_obj?.tags,
hide: $lq__journal_entry_obj?.hide ? false : true
};
journals_func.update_ae_obj__journal_entry({
@@ -800,6 +877,13 @@ $effect(() => {
type="button"
onclick={() => {
let data_kv = {
alert_msg: tmp_entry_obj?.alert_msg,
category_code: tmp_entry_obj?.category_code,
content: tmp_entry_obj?.content,
group: tmp_entry_obj?.group,
name: tmp_entry_obj?.name,
tags: tmp_entry_obj?.tags,
enable: $lq__journal_entry_obj?.enable ? false : true
};
journals_func.update_ae_obj__journal_entry({

View File

@@ -316,7 +316,7 @@ let tmp_entry_obj: key_val = $state({});
});
}}
class:hidden={!$ae_loc.edit_mode}
class="btn btn-sm variant-soft-warning hover:variant-filled-warning transition py-1 px-2"
class="btn btn-sm variant-soft-surface hover:variant-filled-warning transition py-1 px-2"
title={`Set entry as ${journals_journal_entry_obj.hide ? 'visible' : 'hidden'}`}
>
{#if journals_journal_entry_obj.hide}