web_lib

Common web application libraries
git clone https://radroots.dev/git/web_lib.git
Log | Files | Refs | LICENSE

commit 4f8caf23436d78b59404e1a4648aae6a9077ba1e
parent 2035c142a50aa1ccff68348f4ab2791d8b14e2f2
Author: triesap <137732411+triesap@users.noreply.github.com>
Date:   Mon,  9 Dec 2024 16:19:16 +0000

apps-lib: edit nav prev store assignment. edit input and text area element keydown callbacks. edit components, types, utils

Diffstat:
Mapps-lib/src/lib/components/nav.svelte | 3++-
Mapps-lib/src/lib/components/tabs_float.svelte | 6+-----
Mapps-lib/src/lib/el/input_element.svelte | 1+
Mapps-lib/src/lib/el/textarea_element.svelte | 6+++++-
Mapps-lib/src/lib/types/el.ts | 4++--
Mapps-lib/src/lib/utils/client.ts | 3++-
6 files changed, 13 insertions(+), 10 deletions(-)

diff --git a/apps-lib/src/lib/components/nav.svelte b/apps-lib/src/lib/components/nav.svelte @@ -55,7 +55,8 @@ ? basis.prev.route : encode_qp_route(basis.prev.route[0], basis.prev.route[1]); if ($nav_prev.length) { - const nav_prev_li = $nav_prev.pop(); + const nav_prev_li = $nav_prev[$nav_prev.length - 1]; + $nav_prev = [...$nav_prev.slice(0, -1)]; if (nav_prev_li) route_to = encode_qp_route( nav_prev_li.route, diff --git a/apps-lib/src/lib/components/tabs_float.svelte b/apps-lib/src/lib/components/tabs_float.svelte @@ -1,6 +1,6 @@ <script lang="ts"> import { page } from "$app/stores"; - import { Fill, Glyph, nav_prev, route } from "$lib"; + import { Fill, Glyph, route } from "$lib"; </script> <div @@ -43,10 +43,6 @@ <button class={`relative col-span-1 flex flex-row justify-center items-center`} on:click={async () => { - $nav_prev.push({ - route: `/`, - label: `Home`, - }); route(`/settings/profile`); }} > diff --git a/apps-lib/src/lib/el/input_element.svelte b/apps-lib/src/lib/el/input_element.svelte @@ -91,6 +91,7 @@ if (basis?.callback_keydown) await basis?.callback_keydown({ key: ev.key, + key_s: ev.key === `Enter`, el: ev.currentTarget, }); }} diff --git a/apps-lib/src/lib/el/textarea_element.svelte b/apps-lib/src/lib/el/textarea_element.svelte @@ -84,7 +84,11 @@ }} on:keydown={async (ev) => { if (basis.callback_keydown) - await basis.callback_keydown({ key: ev.key }); + await basis.callback_keydown({ + key: ev.key, + key_s: ev.key === `Enter`, + el: ev.currentTarget, + }); }} {id} contenteditable="true" diff --git a/apps-lib/src/lib/types/el.ts b/apps-lib/src/lib/types/el.ts @@ -170,7 +170,7 @@ export type IInputElement = IId & IClOpt & ILyOptTs & { sync?: boolean; field?: IFormField; callback?: CallbackPromiseGeneric<{ value: string; pass: boolean; }>; - callback_keydown?: CallbackPromiseGeneric<{ key: string; el: HTMLInputElement }>; + callback_keydown?: CallbackPromiseGeneric<{ key: string; key_s: boolean; el: HTMLInputElement }>; callback_blur?: CallbackPromiseGeneric<{ el: HTMLInputElement }>; callback_focus?: CallbackPromiseGeneric<{ el: HTMLInputElement }>; on_mount?: CallbackPromiseGeneric<HTMLInputElement>; @@ -184,7 +184,7 @@ export type ITextAreaElement = IId & IClOpt & ILyOptTs & { sync?: true; field?: IFormField; callback?: CallbackPromiseGeneric<{ value: string; pass: boolean; }>; - callback_keydown?: CallbackPromiseGeneric<{ key: string; }>; + callback_keydown?: CallbackPromiseGeneric<{ key: string; key_s: boolean; el: HTMLTextAreaElement }>; callback_blur?: CallbackPromiseGeneric<{ el: HTMLTextAreaElement }>; callback_focus?: CallbackPromiseGeneric<{ el: HTMLTextAreaElement }>; on_mount?: CallbackPromiseGeneric<HTMLTextAreaElement>; diff --git a/apps-lib/src/lib/utils/client.ts b/apps-lib/src/lib/utils/client.ts @@ -216,7 +216,8 @@ export const route_prev = async (route_fallback: NavigationRoute = `/`, params_f let route_to = encode_qp_route(route_fallback, params_fallback); const $nav_prev = get_store(nav_prev); if ($nav_prev.length) { - const nav_prev_li = $nav_prev.pop(); + const nav_prev_li = $nav_prev[$nav_prev.length - 1]; + nav_prev.set([...$nav_prev.slice(0, -1)]); if (nav_prev_li) route_to = encode_qp_route( nav_prev_li.route,