Now with prepend or append to Entry content option.
This commit is contained in:
@@ -7,6 +7,7 @@ let { data, children } = $props();
|
|||||||
import { goto } from '$app/navigation';
|
import { goto } from '$app/navigation';
|
||||||
import {
|
import {
|
||||||
ArrowDown01, ArrowDown10, ArrowDownUp,
|
ArrowDown01, ArrowDown10, ArrowDownUp,
|
||||||
|
BetweenVerticalEnd, BetweenVerticalStart,
|
||||||
BookHeart, BookImage, Bookmark, BookOpenText, BriefcaseBusiness,
|
BookHeart, BookImage, Bookmark, BookOpenText, BriefcaseBusiness,
|
||||||
Check, Copy,
|
Check, Copy,
|
||||||
Expand, Eye, EyeOff,
|
Expand, Eye, EyeOff,
|
||||||
@@ -615,6 +616,51 @@ async function handle_update_journal() {
|
|||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- Toggles for the of how to add new content to an existing Journal Entry. append, prepend, and defaults to append -->
|
||||||
|
<div class="flex flex-row flex-wrap gap-1 items-center justify-start">
|
||||||
|
|
||||||
|
<span class="text-sm text-gray-500 hidden sm:inline">
|
||||||
|
Journal Entry Add Content:
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<span class="flex flex-row flex-wrap gap-1 items-center justify-center">
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
onclick={() => {
|
||||||
|
if ($journals_slct.tmp_journal_obj.cfg_json.entry_add_text == 'append') {
|
||||||
|
$journals_slct.tmp_journal_obj.cfg_json.entry_add_text = 'prepend';
|
||||||
|
} else {
|
||||||
|
$journals_slct.tmp_journal_obj.cfg_json.entry_add_text = 'append';
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
class="btn btn-sm variant-ghost-secondary hover:variant-filled-secondary transition *:hover:inline"
|
||||||
|
title="Toggle visibility of Markdown copy button(s) on Journal Entry view page"
|
||||||
|
>
|
||||||
|
{#if $journals_slct.tmp_journal_obj.cfg_json.entry_add_text == 'append'}
|
||||||
|
<!-- <EyeOff strokeWidth="1" color="red" /> -->
|
||||||
|
<ToggleLeft strokeWidth="1" color="red" class="mx-1" />
|
||||||
|
|
||||||
|
<!-- <Plus strokeWidth="2.5" color="green" /> -->
|
||||||
|
<BetweenVerticalEnd strokeWidth="2.5" color="green" />
|
||||||
|
<span class="hidden">
|
||||||
|
Append
|
||||||
|
</span>
|
||||||
|
{:else}
|
||||||
|
<!-- <Eye strokeWidth="2.5" color="green" /> -->
|
||||||
|
<ToggleRight strokeWidth="2.5" color="green" class="mx-1" />
|
||||||
|
<!-- <Minus strokeWidth="2.5" color="green" /> -->
|
||||||
|
<BetweenVerticalStart strokeWidth="2.5" color="green" />
|
||||||
|
<span class="hidden">
|
||||||
|
Prepend
|
||||||
|
</span>
|
||||||
|
{/if}
|
||||||
|
<span class="hidden">
|
||||||
|
Add Content to Journal Entry
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- Select color scheme for the journal entries -->
|
<!-- Select color scheme for the journal entries -->
|
||||||
<!-- Should select from the common Tailwind CSS options. Examples: slate, blue, gray, green, orange, red, yellow, etc. -->
|
<!-- Should select from the common Tailwind CSS options. Examples: slate, blue, gray, green, orange, red, yellow, etc. -->
|
||||||
<!-- Saves to cfg_json.color_scheme -->
|
<!-- Saves to cfg_json.color_scheme -->
|
||||||
|
|||||||
@@ -38,14 +38,14 @@ let ae_promises: key_val = $state({});
|
|||||||
// let ae_triggers: key_val = {};
|
// let ae_triggers: key_val = {};
|
||||||
|
|
||||||
let tmp_entry_obj: key_val = $state({});
|
let tmp_entry_obj: key_val = $state({});
|
||||||
let tmp_entry_obj_append_timestamp_header: boolean = $state(false);
|
let tmp_entry_obj_add_timestamp_header: boolean = $state(false);
|
||||||
let tmp_entry_obj_append_text_header: string = $state('');
|
let tmp_entry_obj_add_text_header: string = $state('');
|
||||||
let tmp_entry_obj_append_text: string = $state('');
|
let tmp_entry_obj_add_text: string = $state('');
|
||||||
let tmp_entry_obj_changed: boolean = $state(false);
|
let tmp_entry_obj_changed: boolean = $state(false);
|
||||||
|
|
||||||
|
|
||||||
$effect(() => {
|
$effect(() => {
|
||||||
if (tmp_entry_obj_append_text_header.length || tmp_entry_obj_append_text) {
|
if (tmp_entry_obj_add_text_header.length || tmp_entry_obj_add_text) {
|
||||||
tmp_entry_obj_changed = true;
|
tmp_entry_obj_changed = true;
|
||||||
} else {
|
} else {
|
||||||
tmp_entry_obj_changed = false;
|
tmp_entry_obj_changed = false;
|
||||||
@@ -625,7 +625,7 @@ $effect(() => {
|
|||||||
<input
|
<input
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
id="append_timestamp_header"
|
id="append_timestamp_header"
|
||||||
bind:checked={tmp_entry_obj_append_timestamp_header}
|
bind:checked={tmp_entry_obj_add_timestamp_header}
|
||||||
class:border-orange-200={$ae_loc.edit_mode}
|
class:border-orange-200={$ae_loc.edit_mode}
|
||||||
class:hover:border-orange-500={$ae_loc.edit_mode}
|
class:hover:border-orange-500={$ae_loc.edit_mode}
|
||||||
class="
|
class="
|
||||||
@@ -661,7 +661,7 @@ $effect(() => {
|
|||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
placeholder="Markdown header for appended content"
|
placeholder="Markdown header for appended content"
|
||||||
bind:value={tmp_entry_obj_append_text_header}
|
bind:value={tmp_entry_obj_add_text_header}
|
||||||
onchange={() => {
|
onchange={() => {
|
||||||
// tmp_entry_obj_changed = true;
|
// tmp_entry_obj_changed = true;
|
||||||
}}
|
}}
|
||||||
@@ -679,7 +679,7 @@ $effect(() => {
|
|||||||
/>
|
/>
|
||||||
|
|
||||||
<textarea
|
<textarea
|
||||||
bind:value={tmp_entry_obj_append_text}
|
bind:value={tmp_entry_obj_add_text}
|
||||||
onchange={() => {
|
onchange={() => {
|
||||||
// tmp_entry_obj_changed = true;
|
// tmp_entry_obj_changed = true;
|
||||||
}}
|
}}
|
||||||
@@ -706,25 +706,45 @@ $effect(() => {
|
|||||||
disabled={!tmp_entry_obj_changed}
|
disabled={!tmp_entry_obj_changed}
|
||||||
onclick={async () => {
|
onclick={async () => {
|
||||||
|
|
||||||
let new_content = tmp_entry_obj?.content + '\n\n';
|
let current_entry_content = tmp_entry_obj?.content
|
||||||
|
let add_content = '';// tmp_entry_obj?.content + '\n\n';
|
||||||
|
let new_content = current_entry_content;
|
||||||
|
|
||||||
console.log(tmp_entry_obj_append_text_header);
|
console.log(`Append or Prepend? ${$lq__journal_obj?.cfg_json?.entry_add_text}`);
|
||||||
console.log(tmp_entry_obj_append_text);
|
console.log(tmp_entry_obj_add_text_header);
|
||||||
|
console.log(tmp_entry_obj_add_text);
|
||||||
|
|
||||||
if (tmp_entry_obj_append_timestamp_header && tmp_entry_obj_append_text_header) {
|
// if ($lq__journal_obj?.cfg_json?.entry_add_text == 'prepend') {
|
||||||
new_content = new_content + '# ' + ae_util.iso_datetime_formatter(new Date(), 'datetime_iso_12_no_seconds') + ' - ' + tmp_entry_obj_append_text_header.trim() + '\n';
|
if (tmp_entry_obj_add_timestamp_header && tmp_entry_obj_add_text_header) {
|
||||||
} else if (tmp_entry_obj_append_timestamp_header) {
|
add_content = '## ' + ae_util.iso_datetime_formatter(new Date(), 'datetime_iso_12_no_seconds') + ' - ' + tmp_entry_obj_add_text_header.trim() + '\n' + tmp_entry_obj_add_text.trim() + '\n\n';
|
||||||
new_content = new_content + '# ' + ae_util.iso_datetime_formatter(new Date(), 'datetime_iso_12_no_seconds') + '\n';
|
} else if (tmp_entry_obj_add_timestamp_header) {
|
||||||
} else if (tmp_entry_obj_append_text_header) {
|
add_content = '## ' + ae_util.iso_datetime_formatter(new Date(), 'datetime_iso_12_no_seconds') + '\n' + tmp_entry_obj_add_text.trim() + '\n\n';
|
||||||
new_content = new_content + '# ' + tmp_entry_obj_append_text_header.trim() + '\n';
|
} else if (tmp_entry_obj_add_text_header) {
|
||||||
|
add_content = '## ' + tmp_entry_obj_add_text_header.trim() + '\n' + tmp_entry_obj_add_text.trim() + '\n\n';
|
||||||
}
|
}
|
||||||
|
// } else {
|
||||||
// if (tmp_entry_obj_append_text_header) {
|
// if (tmp_entry_obj_add_timestamp_header && tmp_entry_obj_add_text_header) {
|
||||||
// new_content = new_content + '# ' + tmp_entry_obj_append_text_header.trim() + '\n';
|
// new_content = new_content + '## ' + ae_util.iso_datetime_formatter(new Date(), 'datetime_iso_12_no_seconds') + ' - ' + tmp_entry_obj_add_text_header.trim() + '\n';
|
||||||
|
// } else if (tmp_entry_obj_add_timestamp_header) {
|
||||||
|
// new_content = new_content + '## ' + ae_util.iso_datetime_formatter(new Date(), 'datetime_iso_12_no_seconds') + '\n';
|
||||||
|
// } else if (tmp_entry_obj_add_text_header) {
|
||||||
|
// new_content = new_content + '## ' + tmp_entry_obj_add_text_header.trim() + '\n';
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// if (tmp_entry_obj_add_text_header) {
|
||||||
|
// new_content = new_content + '# ' + tmp_entry_obj_add_text_header.trim() + '\n';
|
||||||
|
// }
|
||||||
|
// if (tmp_entry_obj_add_text) {
|
||||||
|
if ($lq__journal_obj?.cfg_json?.entry_add_text == 'prepend') {
|
||||||
|
new_content = add_content + new_content;
|
||||||
|
} else {
|
||||||
|
new_content = new_content + add_content;
|
||||||
|
}
|
||||||
|
// new_content = new_content + tmp_entry_obj_add_text.trim();
|
||||||
// }
|
// }
|
||||||
if (tmp_entry_obj_append_text) {
|
|
||||||
new_content = new_content + tmp_entry_obj_append_text.trim();
|
|
||||||
}
|
|
||||||
new_content = new_content.trim() + '\n';
|
new_content = new_content.trim() + '\n';
|
||||||
|
|
||||||
let data_kv = {
|
let data_kv = {
|
||||||
@@ -749,8 +769,8 @@ $effect(() => {
|
|||||||
if (update_result) {
|
if (update_result) {
|
||||||
// alert('Journal entry updated successfully!');
|
// alert('Journal entry updated successfully!');
|
||||||
// Reset the form
|
// Reset the form
|
||||||
tmp_entry_obj_append_text_header = '';
|
tmp_entry_obj_add_text_header = '';
|
||||||
tmp_entry_obj_append_text = '';
|
tmp_entry_obj_add_text = '';
|
||||||
tmp_entry_obj_changed = false;
|
tmp_entry_obj_changed = false;
|
||||||
$journals_sess.show__modal_append__journal_entry_id = false;
|
$journals_sess.show__modal_append__journal_entry_id = false;
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user