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 {
|
||||
ArrowDown01, ArrowDown10, ArrowDownUp,
|
||||
BetweenVerticalEnd, BetweenVerticalStart,
|
||||
BookHeart, BookImage, Bookmark, BookOpenText, BriefcaseBusiness,
|
||||
Check, Copy,
|
||||
Expand, Eye, EyeOff,
|
||||
@@ -615,6 +616,51 @@ async function handle_update_journal() {
|
||||
</span>
|
||||
</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 -->
|
||||
<!-- Should select from the common Tailwind CSS options. Examples: slate, blue, gray, green, orange, red, yellow, etc. -->
|
||||
<!-- Saves to cfg_json.color_scheme -->
|
||||
|
||||
@@ -38,14 +38,14 @@ let ae_promises: key_val = $state({});
|
||||
// let ae_triggers: key_val = {};
|
||||
|
||||
let tmp_entry_obj: key_val = $state({});
|
||||
let tmp_entry_obj_append_timestamp_header: boolean = $state(false);
|
||||
let tmp_entry_obj_append_text_header: string = $state('');
|
||||
let tmp_entry_obj_append_text: string = $state('');
|
||||
let tmp_entry_obj_add_timestamp_header: boolean = $state(false);
|
||||
let tmp_entry_obj_add_text_header: string = $state('');
|
||||
let tmp_entry_obj_add_text: string = $state('');
|
||||
let tmp_entry_obj_changed: boolean = $state(false);
|
||||
|
||||
|
||||
$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;
|
||||
} else {
|
||||
tmp_entry_obj_changed = false;
|
||||
@@ -625,7 +625,7 @@ $effect(() => {
|
||||
<input
|
||||
type="checkbox"
|
||||
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:hover:border-orange-500={$ae_loc.edit_mode}
|
||||
class="
|
||||
@@ -661,7 +661,7 @@ $effect(() => {
|
||||
<input
|
||||
type="text"
|
||||
placeholder="Markdown header for appended content"
|
||||
bind:value={tmp_entry_obj_append_text_header}
|
||||
bind:value={tmp_entry_obj_add_text_header}
|
||||
onchange={() => {
|
||||
// tmp_entry_obj_changed = true;
|
||||
}}
|
||||
@@ -679,7 +679,7 @@ $effect(() => {
|
||||
/>
|
||||
|
||||
<textarea
|
||||
bind:value={tmp_entry_obj_append_text}
|
||||
bind:value={tmp_entry_obj_add_text}
|
||||
onchange={() => {
|
||||
// tmp_entry_obj_changed = true;
|
||||
}}
|
||||
@@ -706,25 +706,45 @@ $effect(() => {
|
||||
disabled={!tmp_entry_obj_changed}
|
||||
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(tmp_entry_obj_append_text);
|
||||
console.log(`Append or Prepend? ${$lq__journal_obj?.cfg_json?.entry_add_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) {
|
||||
new_content = new_content + '# ' + ae_util.iso_datetime_formatter(new Date(), 'datetime_iso_12_no_seconds') + ' - ' + tmp_entry_obj_append_text_header.trim() + '\n';
|
||||
} else if (tmp_entry_obj_append_timestamp_header) {
|
||||
new_content = new_content + '# ' + ae_util.iso_datetime_formatter(new Date(), 'datetime_iso_12_no_seconds') + '\n';
|
||||
} else if (tmp_entry_obj_append_text_header) {
|
||||
new_content = new_content + '# ' + tmp_entry_obj_append_text_header.trim() + '\n';
|
||||
// if ($lq__journal_obj?.cfg_json?.entry_add_text == 'prepend') {
|
||||
if (tmp_entry_obj_add_timestamp_header && tmp_entry_obj_add_text_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';
|
||||
} else if (tmp_entry_obj_add_timestamp_header) {
|
||||
add_content = '## ' + ae_util.iso_datetime_formatter(new Date(), 'datetime_iso_12_no_seconds') + '\n' + tmp_entry_obj_add_text.trim() + '\n\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';
|
||||
}
|
||||
|
||||
// if (tmp_entry_obj_append_text_header) {
|
||||
// new_content = new_content + '# ' + tmp_entry_obj_append_text_header.trim() + '\n';
|
||||
// } else {
|
||||
// if (tmp_entry_obj_add_timestamp_header && tmp_entry_obj_add_text_header) {
|
||||
// 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';
|
||||
|
||||
let data_kv = {
|
||||
@@ -749,8 +769,8 @@ $effect(() => {
|
||||
if (update_result) {
|
||||
// alert('Journal entry updated successfully!');
|
||||
// Reset the form
|
||||
tmp_entry_obj_append_text_header = '';
|
||||
tmp_entry_obj_append_text = '';
|
||||
tmp_entry_obj_add_text_header = '';
|
||||
tmp_entry_obj_add_text = '';
|
||||
tmp_entry_obj_changed = false;
|
||||
$journals_sess.show__modal_append__journal_entry_id = false;
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user