Moving things around... trying to keep it clean
This commit is contained in:
@@ -662,6 +662,207 @@ async function handle_update_journal() {
|
|||||||
</button>
|
</button>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Toggle buttons for showing/hiding various Journal Entry page view buttons: alert, alert message, private, public, personal, professional, template -->
|
||||||
|
<div class="flex flox-row gap-1">
|
||||||
|
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
onclick={() => {
|
||||||
|
$journals_slct.tmp_journal_obj.cfg_json.hide_btn_alert = !$journals_slct.tmp_journal_obj.cfg_json.hide_btn_alert;
|
||||||
|
}}
|
||||||
|
class="btn btn-sm variant-ghost-secondary hover:variant-filled-secondary transition *:hover:inline"
|
||||||
|
title="Toggle visibility of alert icon button(s) on Journal Entry view page"
|
||||||
|
>
|
||||||
|
{#if $journals_slct?.tmp_journal_obj?.cfg_json.hide_btn_alert}
|
||||||
|
<!-- <EyeOff strokeWidth="1" color="red" /> -->
|
||||||
|
<ToggleLeft strokeWidth="1" color="red" class="mx-1" />
|
||||||
|
<Siren strokeWidth="1" color="gray" />
|
||||||
|
<span class="hidden">
|
||||||
|
Hiding
|
||||||
|
</span>
|
||||||
|
{:else}
|
||||||
|
<!-- <Eye strokeWidth="2.5" color="green" /> -->
|
||||||
|
<ToggleRight strokeWidth="2.5" color="green" class="mx-1" />
|
||||||
|
<Siren strokeWidth="2.5" color="green" />
|
||||||
|
<span class="hidden">
|
||||||
|
Showing
|
||||||
|
</span>
|
||||||
|
{/if}
|
||||||
|
<span class="hidden">
|
||||||
|
Alert Button
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
onclick={() => {
|
||||||
|
$journals_slct.tmp_journal_obj.cfg_json.hide_btn_alert_msg = !$journals_slct.tmp_journal_obj.cfg_json.hide_btn_alert_msg;
|
||||||
|
}}
|
||||||
|
class="btn btn-sm variant-ghost-secondary hover:variant-filled-secondary transition *:hover:inline"
|
||||||
|
title="Toggle visibility of alert message icon button(s) on Journal Entry view page"
|
||||||
|
>
|
||||||
|
{#if $journals_slct?.tmp_journal_obj?.cfg_json.hide_btn_alert_msg}
|
||||||
|
<!-- <EyeOff strokeWidth="1" color="red" /> -->
|
||||||
|
<ToggleLeft strokeWidth="1" color="red" class="mx-1" />
|
||||||
|
<MessageSquareWarning strokeWidth="1" color="gray" />
|
||||||
|
<span class="hidden">
|
||||||
|
Hiding
|
||||||
|
</span>
|
||||||
|
{:else}
|
||||||
|
<!-- <Eye strokeWidth="2.5" color="green" /> -->
|
||||||
|
<ToggleRight strokeWidth="2.5" color="green" class="mx-1" />
|
||||||
|
<MessageSquareWarning strokeWidth="2.5" color="green" />
|
||||||
|
<span class="hidden">
|
||||||
|
Showing
|
||||||
|
</span>
|
||||||
|
{/if}
|
||||||
|
<span class="hidden">
|
||||||
|
Alert Message Button
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
onclick={() => {
|
||||||
|
$journals_slct.tmp_journal_obj.cfg_json.hide_btn_private = !$journals_slct.tmp_journal_obj.cfg_json.hide_btn_private;
|
||||||
|
}}
|
||||||
|
class="btn btn-sm variant-ghost-secondary hover:variant-filled-secondary transition *:hover:inline"
|
||||||
|
title="Toggle visibility of private icon button(s) on Journal Entry view page"
|
||||||
|
>
|
||||||
|
{#if $journals_slct?.tmp_journal_obj?.cfg_json.hide_btn_private}
|
||||||
|
<!-- <EyeOff strokeWidth="1" color="red" /> -->
|
||||||
|
<ToggleLeft strokeWidth="1" color="red" class="mx-1" />
|
||||||
|
<Fingerprint strokeWidth="1" color="gray" />
|
||||||
|
<span class="hidden">
|
||||||
|
Hiding
|
||||||
|
</span>
|
||||||
|
{:else}
|
||||||
|
<!-- <Eye strokeWidth="2.5" color="green" /> -->
|
||||||
|
<ToggleRight strokeWidth="2.5" color="green" class="mx-1" />
|
||||||
|
<Fingerprint strokeWidth="2.5" color="green" />
|
||||||
|
<span class="hidden">
|
||||||
|
Showing
|
||||||
|
</span>
|
||||||
|
{/if}
|
||||||
|
<span class="hidden">
|
||||||
|
Private Button
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
onclick={() => {
|
||||||
|
$journals_slct.tmp_journal_obj.cfg_json.hide_btn_public = !$journals_slct.tmp_journal_obj.cfg_json.hide_btn_public;
|
||||||
|
}}
|
||||||
|
class="btn btn-sm variant-ghost-secondary hover:variant-filled-secondary transition *:hover:inline"
|
||||||
|
title="Toggle visibility of public icon button(s) on Journal Entry view page"
|
||||||
|
>
|
||||||
|
{#if $journals_slct?.tmp_journal_obj?.cfg_json.hide_btn_public}
|
||||||
|
<!-- <EyeOff strokeWidth="1" color="red" /> -->
|
||||||
|
<ToggleLeft strokeWidth="1" color="red" class="mx-1" />
|
||||||
|
<EyeOff strokeWidth="1" color="gray" />
|
||||||
|
<span class="hidden">
|
||||||
|
Hiding
|
||||||
|
</span>
|
||||||
|
{:else}
|
||||||
|
<!-- <Eye strokeWidth="2.5" color="green" /> -->
|
||||||
|
<ToggleRight strokeWidth="2.5" color="green" class="mx-1" />
|
||||||
|
<Eye strokeWidth="2.5" color="green" />
|
||||||
|
<span class="hidden">
|
||||||
|
Showing
|
||||||
|
</span>
|
||||||
|
{/if}
|
||||||
|
<span class="hidden">
|
||||||
|
Public Button
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
onclick={() => {
|
||||||
|
$journals_slct.tmp_journal_obj.cfg_json.hide_btn_personal = !$journals_slct.tmp_journal_obj.cfg_json.hide_btn_personal;
|
||||||
|
}}
|
||||||
|
class="btn btn-sm variant-ghost-secondary hover:variant-filled-secondary transition *:hover:inline"
|
||||||
|
title="Toggle visibility of personal icon button(s) on Journal Entry view page"
|
||||||
|
>
|
||||||
|
{#if $journals_slct?.tmp_journal_obj?.cfg_json.hide_btn_personal}
|
||||||
|
<!-- <EyeOff strokeWidth="1" color="red" /> -->
|
||||||
|
<ToggleLeft strokeWidth="1" color="red" class="mx-1" />
|
||||||
|
<BookHeart strokeWidth="1" color="gray" />
|
||||||
|
<span class="hidden">
|
||||||
|
Hiding
|
||||||
|
</span>
|
||||||
|
{:else}
|
||||||
|
<!-- <Eye strokeWidth="2.5" color="green" /> -->
|
||||||
|
<ToggleRight strokeWidth="2.5" color="green" class="mx-1" />
|
||||||
|
<BookHeart strokeWidth="2.5" color="green" />
|
||||||
|
<span class="hidden">
|
||||||
|
Showing
|
||||||
|
</span>
|
||||||
|
{/if}
|
||||||
|
<span class="hidden">
|
||||||
|
Personal Button
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
onclick={() => {
|
||||||
|
$journals_slct.tmp_journal_obj.cfg_json.hide_btn_professional = !$journals_slct.tmp_journal_obj.cfg_json.hide_btn_professional;
|
||||||
|
}}
|
||||||
|
class="btn btn-sm variant-ghost-secondary hover:variant-filled-secondary transition *:hover:inline"
|
||||||
|
title="Toggle visibility of professional icon button(s) on Journal Entry view page"
|
||||||
|
>
|
||||||
|
{#if $journals_slct?.tmp_journal_obj?.cfg_json.hide_btn_professional}
|
||||||
|
<!-- <EyeOff strokeWidth="1" color="red" /> -->
|
||||||
|
<ToggleLeft strokeWidth="1" color="red" class="mx-1" />
|
||||||
|
<BriefcaseBusiness strokeWidth="1" color="gray" />
|
||||||
|
<span class="hidden">
|
||||||
|
Hiding
|
||||||
|
</span>
|
||||||
|
{:else}
|
||||||
|
<!-- <Eye strokeWidth="2.5" color="green" /> -->
|
||||||
|
<ToggleRight strokeWidth="2.5" color="green" class="mx-1" />
|
||||||
|
<BriefcaseBusiness strokeWidth="2.5" color="green" />
|
||||||
|
<span class="hidden">
|
||||||
|
Showing
|
||||||
|
</span>
|
||||||
|
{/if}
|
||||||
|
<span class="hidden">
|
||||||
|
Professional Button
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
onclick={() => {
|
||||||
|
$journals_slct.tmp_journal_obj.cfg_json.hide_btn_template = !$journals_slct.tmp_journal_obj.cfg_json.hide_btn_template;
|
||||||
|
}}
|
||||||
|
class="btn btn-sm variant-ghost-secondary hover:variant-filled-secondary transition *:hover:inline"
|
||||||
|
title="Toggle visibility of template icon button(s) on Journal Entry view page"
|
||||||
|
>
|
||||||
|
{#if $journals_slct?.tmp_journal_obj?.cfg_json.hide_btn_template}
|
||||||
|
<!-- <EyeOff strokeWidth="1" color="red" /> -->
|
||||||
|
<ToggleLeft strokeWidth="1" color="red" class="mx-1" />
|
||||||
|
<FilePlus strokeWidth="1" color="gray" />
|
||||||
|
<span class="hidden">
|
||||||
|
Hiding
|
||||||
|
</span>
|
||||||
|
{:else}
|
||||||
|
<!-- <Eye strokeWidth="2.5" color="green" /> -->
|
||||||
|
<ToggleRight strokeWidth="2.5" color="green" class="mx-1" />
|
||||||
|
<FilePlus strokeWidth="2.5" color="green" />
|
||||||
|
<span class="hidden">
|
||||||
|
Showing
|
||||||
|
</span>
|
||||||
|
{/if}
|
||||||
|
<span class="hidden">
|
||||||
|
Template Button
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<!-- JSON configuration editor for advanced users -->
|
<!-- JSON configuration editor for advanced users -->
|
||||||
<!-- textarea for json_cfg editing -->
|
<!-- textarea for json_cfg editing -->
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -11,13 +11,13 @@ import {
|
|||||||
Eye, EyeOff,
|
Eye, EyeOff,
|
||||||
Flag, FlagOff, FileX, Fingerprint,
|
Flag, FlagOff, FileX, Fingerprint,
|
||||||
Globe, Group,
|
Globe, Group,
|
||||||
History,
|
Hash, History,
|
||||||
LockKeyhole, LockKeyholeOpen,
|
LockKeyhole, LockKeyholeOpen,
|
||||||
MessageSquareWarning, Menu, Minus,
|
MessageSquareWarning, Menu, Minus,
|
||||||
NotebookPen, NotebookText, NotepadTextDashed,
|
NotebookPen, NotebookText, NotepadTextDashed,
|
||||||
Pencil, PenLine, Plus,
|
Pencil, PenLine, Plus,
|
||||||
RemoveFormatting,
|
RemoveFormatting,
|
||||||
Search,
|
Search, Settings,
|
||||||
Shapes, Share2, ShieldCheck, ShieldMinus, Siren, Skull,
|
Shapes, Share2, ShieldCheck, ShieldMinus, Siren, Skull,
|
||||||
SquareLibrary,
|
SquareLibrary,
|
||||||
Tags, Trash2, TypeOutline,
|
Tags, Trash2, TypeOutline,
|
||||||
@@ -863,7 +863,8 @@ function handle_marked(text_string: string) {
|
|||||||
<!-- <Pencil strokeWidth="2.5" color="blue" /> -->
|
<!-- <Pencil strokeWidth="2.5" color="blue" /> -->
|
||||||
<PenLine strokeWidth="2.5" color="red" />
|
<PenLine strokeWidth="2.5" color="red" />
|
||||||
{:else}
|
{:else}
|
||||||
<Pencil strokeWidth="1" color="gray" />
|
<!-- <Pencil strokeWidth="1" color="gray" /> -->
|
||||||
|
<Hash strokeWidth="1" color="green" />
|
||||||
{/if}
|
{/if}
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
@@ -935,70 +936,21 @@ function handle_marked(text_string: string) {
|
|||||||
{/if}
|
{/if}
|
||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
<!-- Category code for journal entry -->
|
|
||||||
{#if $journals_loc.entry.edit_kv[$lq__journal_entry_obj?.journal_entry_id] == 'current'}
|
|
||||||
<!-- <input
|
|
||||||
type="text"
|
|
||||||
bind:value={tmp_entry_obj.category_code}
|
|
||||||
class="input input-bordered"
|
|
||||||
placeholder="Category Code"
|
|
||||||
title="Edit the category code for this journal entry"
|
|
||||||
/> -->
|
|
||||||
|
|
||||||
<!-- Give list of categories to base the new entry on -->
|
<!-- Currently selected category for Entry; text only -->
|
||||||
<div class="flex flex-row items-center gap-2">
|
{#if $lq__journal_entry_obj.category_code}
|
||||||
<span class="text-sm text-gray-500 hidden sm:inline">
|
<div class="category flex flex-row gap-1 items-center justify-start border-l border-gray-200 rounded-lg">
|
||||||
Category:
|
<span class="text-sm text-gray-500">
|
||||||
|
<Shapes class="mx-1 inline-block" />
|
||||||
|
<!-- <span class="hidden sm:inline">Category:</span> -->
|
||||||
</span>
|
</span>
|
||||||
<select
|
<span
|
||||||
class="novi_btn btn btn-secondary btn-sm
|
class="btn btn-sm variant-glass-tertiary hover:variant-ghost-tertiary transition py-1 px-2"
|
||||||
variant-soft-primary
|
title={`Category: ${$lq__journal_entry_obj.category_code}`}
|
||||||
hover:variant-filled-primary
|
|
||||||
transition
|
|
||||||
text-xs
|
|
||||||
"
|
|
||||||
bind:value={tmp_entry_obj.category_code}
|
|
||||||
onchange={(event) => {
|
|
||||||
tmp_entry_obj.category_code = event.target.value;
|
|
||||||
console.log('Selected category:', tmp_entry_obj.category_code);
|
|
||||||
|
|
||||||
update_journal_entry();
|
|
||||||
}}
|
|
||||||
title="Select a category for the new journal entry"
|
|
||||||
>
|
>
|
||||||
<option value="">Select Category</option>
|
{$lq__journal_entry_obj.category_code}
|
||||||
{#each $lq__journal_obj?.cfg_json.category_li as category}
|
</span>
|
||||||
<option value={category.code}
|
|
||||||
selected={$lq__journal_entry_obj.category_code == category.code}
|
|
||||||
title={`Category: ${category.name}`}
|
|
||||||
>
|
|
||||||
{category.name}
|
|
||||||
</option>
|
|
||||||
{/each}
|
|
||||||
</select>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{:else}
|
|
||||||
|
|
||||||
{#if $lq__journal_entry_obj.category_code}
|
|
||||||
<!-- When clicked, this will change to edit the journal entry. -->
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
onclick={() => {
|
|
||||||
// Toggle edit mode
|
|
||||||
$journals_loc.entry.edit_kv[$lq__journal_entry_obj?.journal_entry_id] = 'current';
|
|
||||||
// tmp_entry_obj.category_code = $lq__journal_entry_obj.category_code;
|
|
||||||
console.log('Editing category:', tmp_entry_obj.category_code);
|
|
||||||
}}
|
|
||||||
class="btn btn-sm variant-ghost-secondary hover:variant-filled-secondary transition py-1 px-2"
|
|
||||||
title={`Filter by category: ${$lq__journal_entry_obj.category_code}`}
|
|
||||||
>
|
|
||||||
<span class="text-sm text-gray-500">
|
|
||||||
<Shapes class="mx-1 inline-block"/>
|
|
||||||
</span>
|
|
||||||
{$lq__journal_entry_obj.category_code ?? '-- no category --'}
|
|
||||||
</button>
|
|
||||||
{/if}
|
|
||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@@ -1019,7 +971,229 @@ function handle_marked(text_string: string) {
|
|||||||
{#if show_menu}
|
{#if show_menu}
|
||||||
<div
|
<div
|
||||||
class="absolute top-12 right-0 bg-white dark:bg-gray-800 shadow-lg rounded-lg p-4 z-50 w-80"
|
class="absolute top-12 right-0 bg-white dark:bg-gray-800 shadow-lg rounded-lg p-4 z-50 w-80"
|
||||||
>
|
>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="flex flex-row flex-wrap gap-1 items-center justify-end">
|
||||||
|
<!-- Category code for journal entry -->
|
||||||
|
{#if $journals_loc.entry.edit_kv[$lq__journal_entry_obj?.journal_entry_id] == 'current'}
|
||||||
|
<!-- <input
|
||||||
|
type="text"
|
||||||
|
bind:value={tmp_entry_obj.category_code}
|
||||||
|
class="input input-bordered"
|
||||||
|
placeholder="Category Code"
|
||||||
|
title="Edit the category code for this journal entry"
|
||||||
|
/> -->
|
||||||
|
|
||||||
|
<!-- Give list of categories to base the new entry on -->
|
||||||
|
<div class="flex flex-row items-center gap-2">
|
||||||
|
<span class="text-sm text-gray-500 hidden sm:inline">
|
||||||
|
Category:
|
||||||
|
</span>
|
||||||
|
<select
|
||||||
|
class="novi_btn btn btn-secondary btn-sm
|
||||||
|
variant-soft-primary
|
||||||
|
hover:variant-filled-primary
|
||||||
|
transition
|
||||||
|
text-xs
|
||||||
|
"
|
||||||
|
bind:value={tmp_entry_obj.category_code}
|
||||||
|
onchange={(event) => {
|
||||||
|
tmp_entry_obj.category_code = event.target.value;
|
||||||
|
console.log('Selected category:', tmp_entry_obj.category_code);
|
||||||
|
|
||||||
|
update_journal_entry();
|
||||||
|
}}
|
||||||
|
title="Select a category for the new journal entry"
|
||||||
|
>
|
||||||
|
<option value="">Select Category</option>
|
||||||
|
{#each $lq__journal_obj?.cfg_json.category_li as category}
|
||||||
|
<option value={category.code}
|
||||||
|
selected={$lq__journal_entry_obj.category_code == category.code}
|
||||||
|
title={`Category: ${category.name}`}
|
||||||
|
>
|
||||||
|
{category.name}
|
||||||
|
</option>
|
||||||
|
{/each}
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{:else}
|
||||||
|
|
||||||
|
{#if $lq__journal_entry_obj.category_code}
|
||||||
|
<!-- When clicked, this will change to edit the journal entry. -->
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
onclick={() => {
|
||||||
|
// Toggle edit mode
|
||||||
|
$journals_loc.entry.edit_kv[$lq__journal_entry_obj?.journal_entry_id] = 'current';
|
||||||
|
// tmp_entry_obj.category_code = $lq__journal_entry_obj.category_code;
|
||||||
|
console.log('Editing category:', tmp_entry_obj.category_code);
|
||||||
|
}}
|
||||||
|
class="btn btn-sm variant-ghost-secondary hover:variant-filled-secondary transition py-1 px-2"
|
||||||
|
title={`Filter by category: ${$lq__journal_entry_obj.category_code}`}
|
||||||
|
>
|
||||||
|
<span class="text-sm text-gray-500">
|
||||||
|
<Shapes class="mx-1 inline-block"/>
|
||||||
|
</span>
|
||||||
|
{$lq__journal_entry_obj.category_code ?? '-- no category --'}
|
||||||
|
</button>
|
||||||
|
{/if}
|
||||||
|
{/if}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Journal Entry Options: alert, private, public, personal, professional, template -->
|
||||||
|
<div
|
||||||
|
class="
|
||||||
|
flex flex-row flex-wrap gap-1 items-center justify-center
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<span class="text-sm text-gray-500">
|
||||||
|
<Settings strokeWidth="1" class="mx-1 inline-block" />
|
||||||
|
Toggles:
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<!-- Entry alert status -->
|
||||||
|
<!-- class:hidden={$lq__journal_obj.cfg_json?.hide_btn_alert} -->
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
onclick={() => {
|
||||||
|
tmp_entry_obj.alert = !$lq__journal_entry_obj?.alert;
|
||||||
|
update_journal_entry();
|
||||||
|
}}
|
||||||
|
class="btn-icon btn-icon-sm variant-soft-secondary hover:variant-filled-secondary transition"
|
||||||
|
title="Toggle alert status of this journal entry"
|
||||||
|
>
|
||||||
|
{#if $lq__journal_entry_obj?.alert}
|
||||||
|
<Siren strokeWidth="2.5" color="red" />
|
||||||
|
{:else}
|
||||||
|
<MessageSquareWarning strokeWidth="1" color="gray" />
|
||||||
|
{/if}
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<!-- Entry marked as private -->
|
||||||
|
<!-- ($lq__journal_obj.cfg_json?.hide_btn_private) || -->
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
class:hidden={(tmp_entry_obj?.private && !$ae_loc.edit_mode)}
|
||||||
|
onclick={() => {
|
||||||
|
// Allow for toggle between private (encrypted) and not,
|
||||||
|
// and if private, allow for decryption.
|
||||||
|
if (!$lq__journal_entry_obj?.private && tmp_entry_obj?.content) {
|
||||||
|
// Handle converting to private (encrypted) content
|
||||||
|
if (confirm('Are you sure you want to encrypt and resave this journal entry?')) {
|
||||||
|
// Setting private to true will cause the update_journal_entry() function to encrypt the content.
|
||||||
|
tmp_entry_obj.private = true;
|
||||||
|
update_journal_entry();
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
} else if ($lq__journal_entry_obj?.private && tmp_entry_obj?.content_encrypted) {
|
||||||
|
// Handle converting to not private (decrypted) content
|
||||||
|
if (confirm('Are you sure you want to decrypt and resave this journal entry unencrypted?')) {
|
||||||
|
// tmp_entry_obj.private = !$lq__journal_entry_obj?.private;
|
||||||
|
// update_journal_entry();
|
||||||
|
|
||||||
|
// Setting private to false will cause the update_journal_entry() function to decrypt the content. This will also copy it to tmp_entry_obj.content.
|
||||||
|
tmp_entry_obj.private = false;
|
||||||
|
// tmp_entry_obj.
|
||||||
|
// handle_decrypt_content();
|
||||||
|
update_journal_entry();
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
class="btn-icon btn-icon-sm variant-soft-secondary hover:variant-filled-secondary transition"
|
||||||
|
title="Toggle private visibility of this journal entry"
|
||||||
|
>
|
||||||
|
{#if $lq__journal_entry_obj?.private}
|
||||||
|
<Fingerprint strokeWidth="2.5" color="green" />
|
||||||
|
<!-- Private (Encrypted) -->
|
||||||
|
{:else}
|
||||||
|
<Fingerprint strokeWidth="1" color="gray" />
|
||||||
|
<!-- Not Private -->
|
||||||
|
{/if}
|
||||||
|
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<!-- Entry allowed to be public -->
|
||||||
|
<!-- class:hidden={$lq__journal_obj.cfg_json?.hide_btn_public} -->
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
onclick={() => {
|
||||||
|
tmp_entry_obj.public = !$lq__journal_entry_obj?.public;
|
||||||
|
update_journal_entry();
|
||||||
|
}}
|
||||||
|
class="btn-icon btn-icon-sm variant-soft-secondary hover:variant-filled-secondary transition"
|
||||||
|
title="Toggle public visibility of this journal entry"
|
||||||
|
>
|
||||||
|
{#if $lq__journal_entry_obj?.public}
|
||||||
|
<Globe strokeWidth="2.5" color="green" />
|
||||||
|
{:else}
|
||||||
|
<Globe strokeWidth="1" color="gray" />
|
||||||
|
{/if}
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<!-- Entry marked as personal -->
|
||||||
|
<!-- class:hidden={$lq__journal_obj.cfg_json?.hide_btn_personal} -->
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
onclick={() => {
|
||||||
|
tmp_entry_obj.personal = !$lq__journal_entry_obj?.personal;
|
||||||
|
update_journal_entry();
|
||||||
|
}}
|
||||||
|
class="btn-icon btn-icon-sm variant-soft-secondary hover:variant-filled-secondary transition"
|
||||||
|
title="Toggle personal visibility of this journal entry"
|
||||||
|
>
|
||||||
|
{#if $lq__journal_entry_obj?.personal}
|
||||||
|
<BookHeart strokeWidth="2.5" color="green" />
|
||||||
|
{:else}
|
||||||
|
<BookHeart strokeWidth="1" color="gray" />
|
||||||
|
{/if}
|
||||||
|
</button>
|
||||||
|
|
||||||
|
<!-- Entry marked as professional -->
|
||||||
|
<!-- class:hidden={$lq__journal_obj.cfg_json?.hide_btn_professional} -->
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
onclick={() => {
|
||||||
|
tmp_entry_obj.professional = !$lq__journal_entry_obj?.professional;
|
||||||
|
update_journal_entry();
|
||||||
|
}}
|
||||||
|
class="btn-icon btn-icon-sm variant-soft-secondary hover:variant-filled-secondary transition"
|
||||||
|
title="Toggle professional visibility of this journal entry"
|
||||||
|
>
|
||||||
|
{#if $lq__journal_entry_obj?.professional}
|
||||||
|
<BriefcaseBusiness strokeWidth="2.5" color="green" />
|
||||||
|
{:else}
|
||||||
|
<BriefcaseBusiness strokeWidth="1" color="gray" />
|
||||||
|
{/if}
|
||||||
|
</button>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Toggle if entry should be used as a template entry (cloneable). Only visible in edit_mode. -->
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
class:hidden={($lq__journal_obj.cfg_json?.hide_btn_template) || !$ae_loc.edit_mode}
|
||||||
|
onclick={() => {
|
||||||
|
tmp_entry_obj.template = !$lq__journal_entry_obj?.template;
|
||||||
|
update_journal_entry();
|
||||||
|
}}
|
||||||
|
class="btn-icon btn-icon-sm variant-soft-secondary hover:variant-filled-secondary transition"
|
||||||
|
title="Toggle if used as journal entry template"
|
||||||
|
>
|
||||||
|
{#if $lq__journal_entry_obj?.template}
|
||||||
|
<NotepadTextDashed strokeWidth="2.5" color="green" />
|
||||||
|
{:else}
|
||||||
|
<NotepadTextDashed strokeWidth="1" color="gray" />
|
||||||
|
{/if}
|
||||||
|
</button>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- Copy and Clone Buttons -->
|
<!-- Copy and Clone Buttons -->
|
||||||
<div>
|
<div>
|
||||||
<!-- Button to copy the Markdown version -->
|
<!-- Button to copy the Markdown version -->
|
||||||
@@ -1038,8 +1212,8 @@ function handle_marked(text_string: string) {
|
|||||||
>
|
>
|
||||||
<Copy size="1em" />
|
<Copy size="1em" />
|
||||||
<RemoveFormatting size="2em" />
|
<RemoveFormatting size="2em" />
|
||||||
<span class="hidden">
|
<span class="hidden md:inline">
|
||||||
Copy Plaintext Markdown
|
Copy Plaintext Markdown
|
||||||
</span>
|
</span>
|
||||||
</button>
|
</button>
|
||||||
<!-- Button to copy the HTML version -->
|
<!-- Button to copy the HTML version -->
|
||||||
@@ -1060,8 +1234,8 @@ function handle_marked(text_string: string) {
|
|||||||
>
|
>
|
||||||
<Copy size="1em" />
|
<Copy size="1em" />
|
||||||
<CodeXml size="2em" />
|
<CodeXml size="2em" />
|
||||||
<span class="hidden">
|
<span class="hidden md:inline">
|
||||||
Copy HTML
|
Copy HTML
|
||||||
</span>
|
</span>
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
@@ -1098,7 +1272,9 @@ function handle_marked(text_string: string) {
|
|||||||
>
|
>
|
||||||
<Copy size="1em" />
|
<Copy size="1em" />
|
||||||
<TypeOutline size="2em" />
|
<TypeOutline size="2em" />
|
||||||
<span class="hidden">Copy Rich Text</span>
|
<span class="hidden md:inline">
|
||||||
|
Copy Rich Text
|
||||||
|
</span>
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<!-- Clone entry -->
|
<!-- Clone entry -->
|
||||||
@@ -1136,7 +1312,9 @@ function handle_marked(text_string: string) {
|
|||||||
<!-- class="btn btn-sm variant-soft-surface 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" -->
|
||||||
<!-- <Copy strokeWidth="1" /> -->
|
<!-- <Copy strokeWidth="1" /> -->
|
||||||
<Copy size="2em" />
|
<Copy size="2em" />
|
||||||
<span class="hidden md:inline">Clone Entry</span>
|
<span class="hidden md:inline">
|
||||||
|
Clone Entry
|
||||||
|
</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -1420,6 +1598,7 @@ function handle_marked(text_string: string) {
|
|||||||
<!-- Entry alert status -->
|
<!-- Entry alert status -->
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
|
class:hidden={$lq__journal_obj.cfg_json?.hide_btn_alert}
|
||||||
onclick={() => {
|
onclick={() => {
|
||||||
tmp_entry_obj.alert = !$lq__journal_entry_obj?.alert;
|
tmp_entry_obj.alert = !$lq__journal_entry_obj?.alert;
|
||||||
update_journal_entry();
|
update_journal_entry();
|
||||||
@@ -1456,6 +1635,7 @@ function handle_marked(text_string: string) {
|
|||||||
<!-- Only show this private toggle if not private or in edit mode. -->
|
<!-- Only show this private toggle if not private or in edit mode. -->
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
|
class:hidden={($lq__journal_obj.cfg_json?.hide_btn_private) || (tmp_entry_obj?.private && !$ae_loc.edit_mode)}
|
||||||
onclick={() => {
|
onclick={() => {
|
||||||
// Allow for toggle between private (encrypted) and not,
|
// Allow for toggle between private (encrypted) and not,
|
||||||
// and if private, allow for decryption.
|
// and if private, allow for decryption.
|
||||||
@@ -1484,7 +1664,6 @@ function handle_marked(text_string: string) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
class:hidden={(tmp_entry_obj?.private && !$ae_loc.edit_mode)}
|
|
||||||
class="btn-icon btn-icon-sm variant-soft-secondary hover:variant-filled-secondary transition"
|
class="btn-icon btn-icon-sm variant-soft-secondary hover:variant-filled-secondary transition"
|
||||||
title="Toggle private visibility of this journal entry"
|
title="Toggle private visibility of this journal entry"
|
||||||
>
|
>
|
||||||
@@ -1564,8 +1743,10 @@ function handle_marked(text_string: string) {
|
|||||||
</button>
|
</button>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
|
<!-- Entry allowed to be public -->
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
|
class:hidden={$lq__journal_obj.cfg_json?.hide_btn_public}
|
||||||
onclick={() => {
|
onclick={() => {
|
||||||
tmp_entry_obj.public = !$lq__journal_entry_obj?.public;
|
tmp_entry_obj.public = !$lq__journal_entry_obj?.public;
|
||||||
update_journal_entry();
|
update_journal_entry();
|
||||||
@@ -1580,8 +1761,10 @@ function handle_marked(text_string: string) {
|
|||||||
{/if}
|
{/if}
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
|
<!-- Entry marked as personal -->
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
|
class:hidden={$lq__journal_obj.cfg_json?.hide_btn_personal}
|
||||||
onclick={() => {
|
onclick={() => {
|
||||||
tmp_entry_obj.personal = !$lq__journal_entry_obj?.personal;
|
tmp_entry_obj.personal = !$lq__journal_entry_obj?.personal;
|
||||||
update_journal_entry();
|
update_journal_entry();
|
||||||
@@ -1596,8 +1779,10 @@ function handle_marked(text_string: string) {
|
|||||||
{/if}
|
{/if}
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
|
<!-- Entry marked as professional -->
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
|
class:hidden={$lq__journal_obj.cfg_json?.hide_btn_professional}
|
||||||
onclick={() => {
|
onclick={() => {
|
||||||
tmp_entry_obj.professional = !$lq__journal_entry_obj?.professional;
|
tmp_entry_obj.professional = !$lq__journal_entry_obj?.professional;
|
||||||
update_journal_entry();
|
update_journal_entry();
|
||||||
@@ -1612,55 +1797,6 @@ function handle_marked(text_string: string) {
|
|||||||
{/if}
|
{/if}
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
<!-- Toggle if entry should be used as a template entry (cloneable). Only visible in edit_mode. -->
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
onclick={() => {
|
|
||||||
tmp_entry_obj.template = !$lq__journal_entry_obj?.template;
|
|
||||||
update_journal_entry();
|
|
||||||
}}
|
|
||||||
class:hidden={!$ae_loc.edit_mode}
|
|
||||||
class="btn-icon btn-icon-sm variant-soft-secondary hover:variant-filled-secondary transition"
|
|
||||||
title="Toggle if used as journal entry template"
|
|
||||||
>
|
|
||||||
{#if $lq__journal_entry_obj?.template}
|
|
||||||
<NotepadTextDashed strokeWidth="2.5" color="green" />
|
|
||||||
{:else}
|
|
||||||
<NotepadTextDashed strokeWidth="1" color="gray" />
|
|
||||||
{/if}
|
|
||||||
</button>
|
|
||||||
|
|
||||||
<!-- <button
|
|
||||||
type="button"
|
|
||||||
onclick={() => {
|
|
||||||
if ($ae_loc.trusted_access) {
|
|
||||||
let data_kv = {
|
|
||||||
shared: $lq__journal_entry_obj?.shared ? false : true
|
|
||||||
};
|
|
||||||
journals_func.update_ae_obj__journal_entry({
|
|
||||||
api_cfg: $ae_api,
|
|
||||||
journal_entry_id: $lq__journal_entry_obj?.journal_entry_id,
|
|
||||||
data_kv: data_kv,
|
|
||||||
log_lvl: log_lvl
|
|
||||||
}).then(() => {
|
|
||||||
// Optionally, you can provide feedback to the user
|
|
||||||
// alert('Journal entry updated successfully!');
|
|
||||||
orig_entry_obj = null;
|
|
||||||
}).catch((error) => {
|
|
||||||
console.error('Error updating journal entry:', error);
|
|
||||||
alert('Failed to update journal entry.');
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}}
|
|
||||||
class="btn-icon btn-icon-sm variant-soft-secondary hover:variant-filled-secondary transition"
|
|
||||||
title="Toggle shared visibility of this journal entry"
|
|
||||||
>
|
|
||||||
{#if $lq__journal_entry_obj?.shared}
|
|
||||||
<Share2 strokeWidth="2.5" color="green" />
|
|
||||||
{:else}
|
|
||||||
<Share2 strokeWidth="1" color="gray" />
|
|
||||||
{/if}
|
|
||||||
</button> -->
|
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<!-- If there is history, then we want a toggle button to show and hide the history. -->
|
<!-- If there is history, then we want a toggle button to show and hide the history. -->
|
||||||
|
|||||||
Reference in New Issue
Block a user