(add): Baskets function

This commit is contained in:
dbob16 committed 2026-06-25 17:31:56 -04:00
1 parent e5b6fbd7c5
commit 9d6473d4bf
33 files changed
+987 -463

No files matched your search

@@ -1,7 +1,7 @@
export const load = async ({ params, fetch }) => {
const { prefix } = params;
const res = await fetch('/api/prefixes');
const prefixes = await res.json();
const prefixObj = Array.from(prefixes).find(p => p.prefix == prefix);
return { prefix: prefixObj, prefixes};
}
const { prefix } = params;
const res = await fetch('/api/prefixes');
const prefixes = await res.json();
const prefixObj = Array.from(prefixes).find((p) => p.prefix == prefix);
return { prefix: prefixObj, prefixes };
};
+41 -36
View File
@@ -76,55 +76,55 @@
focusIdx(nextIdx);
}, 1);
} else {
setTimeout(() => {
setTimeout(() => {
focusIdx(curIdx);
}, 1)
}, 1);
}
},
prevLine: () => {
if (items[prevIdx]) {
if (items[prevIdx]) {
setTimeout(() => {
focusIdx(prevIdx);
focusIdx(prevIdx);
}, 1);
} else {
setTimeout(() => {
focusIdx(curIdx)
setTimeout(() => {
focusIdx(curIdx);
}, 1);
};
}
},
dupDown: () => {
if (items[nextIdx]) {
const buffer = {...items[curIdx]};
["prefix", "t_id"].forEach(key => delete buffer[key]);
items[nextIdx] = {...items[nextIdx], ...buffer, changed: true};
if (items[nextIdx]) {
const buffer = { ...items[curIdx] };
['prefix', 't_id'].forEach((key) => delete buffer[key]);
items[nextIdx] = { ...items[nextIdx], ...buffer, changed: true };
functions.nextLine();
} else {
focusIdx(curIdx);
focusIdx(curIdx);
}
},
dupUp: () => {
if (curIdx > 0) {
const buffer = {...items[curIdx]};
["prefix", "t_id"].forEach(key => delete buffer[key]);
items[prevIdx] = {...items[prevIdx], ...buffer, changed: true};
if (curIdx > 0) {
const buffer = { ...items[curIdx] };
['prefix', 't_id'].forEach((key) => delete buffer[key]);
items[prevIdx] = { ...items[prevIdx], ...buffer, changed: true };
functions.prevLine();
} else {
focusIdx(curIdx);
focusIdx(curIdx);
}
},
copy: () => {
if (items[curIdx]) {
const buffer = {...items[curIdx]};
["prefix", "t_id"].forEach(key => delete buffer[key]);
if (items[curIdx]) {
const buffer = { ...items[curIdx] };
['prefix', 't_id'].forEach((key) => delete buffer[key]);
window.localStorage.setItem('tam-ticket', JSON.stringify(buffer));
};
}
focusIdx(curIdx);
},
paste: () => {
if (items[curIdx]) {
if (items[curIdx]) {
const buffer = JSON.parse(window.localStorage.getItem('tam-ticket'));
items[curIdx] = {...items[curIdx], ...buffer, changed: true};
};
items[curIdx] = { ...items[curIdx], ...buffer, changed: true };
}
focusIdx(curIdx);
}
};
@@ -154,8 +154,8 @@
<title>{pageTitle}</title>
</svelte:head>
<table class="w-full box-border border-separate">
<thead class="sticky top-1 box-border bg-white">
<table class="w-full box-border border-separate p-1">
<thead class="sticky top-1 bg-white">
<tr>
<td colspan="50">
<HeaderBar>
@@ -167,16 +167,10 @@
>
{/each}
</HeaderBar>
</td>
</tr>
<tr>
<td colspan="50"><h1 class="text-xl font-bold p-1">{pageTitle}</h1></td>
</tr>
<tr>
<td colspan="50"><PagerBar {prefix} {functions} bind:pager /></td>
</tr>
<tr>
<td colspan="50"><CommandBar {prefix} {functions} /></td>
<h1 class="text-xl font-bold p-1">{pageTitle}</h1>
<PagerBar {prefix} {functions} bind:pager />
<CommandBar {prefix} {functions} /></td
>
</tr>
<tr>
{#each headers as header (header)}
@@ -207,6 +201,7 @@
><input
type="text"
class="{iS.normal} w-full"
id="{idx}_second"
onchangecapture={() => (item.changed = true)}
bind:value={item.last_name}
/></td
@@ -215,6 +210,7 @@
><input
type="text"
class="{iS.normal} w-full"
id="{idx}_third"
onchangecapture={() => (item.changed = true)}
bind:value={item.phone_number}
/></td
@@ -225,6 +221,15 @@
onclick={() => {
item.pref == 'CALL' ? (item.pref = 'TEXT') : (item.pref = 'CALL');
item.changed = true;
}}
onkeydown={(e) => {
if (e.key == 't') {
if (item.pref != 'TEXT') item.changed = true;
item.pref = 'TEXT';
} else if (e.key == 'c') {
if (item.pref != 'CALL') item.changed = true;
item.pref = 'CALL';
}
}}>{item.pref}</button
></td
>