@goweekdays/layer-common 1.6.1 → 1.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/components/ConfirmationPrompt.vue +5 -0
- package/components/Input/Currency.vue +39 -3
- package/nuxt.config.ts +1 -0
- package/package.json +1 -1
- package/pages/index.vue +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @goweekdays/layer-common
|
|
2
2
|
|
|
3
|
+
## 1.6.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- e3ff9c3: Fix input currency component
|
|
8
|
+
|
|
9
|
+
## 1.6.2
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- c6565a1: Make handleSignin async and await refreshMember() so member data is refreshed before navigating. This ensures navigation logic runs after the latest member state is loaded, preventing potential race conditions.
|
|
14
|
+
|
|
3
15
|
## 1.6.1
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
|
@@ -53,6 +53,7 @@
|
|
|
53
53
|
class="text-none"
|
|
54
54
|
@click="emits('confirm')"
|
|
55
55
|
:disabled="localProps.disabled"
|
|
56
|
+
:loading="localProps.loading"
|
|
56
57
|
>
|
|
57
58
|
{{ localProps.action }}
|
|
58
59
|
</v-btn>
|
|
@@ -72,6 +73,10 @@ const localProps = defineProps({
|
|
|
72
73
|
type: Boolean,
|
|
73
74
|
default: false,
|
|
74
75
|
},
|
|
76
|
+
loading: {
|
|
77
|
+
type: Boolean,
|
|
78
|
+
default: false,
|
|
79
|
+
},
|
|
75
80
|
action: {
|
|
76
81
|
type: String,
|
|
77
82
|
default: "Submit",
|
|
@@ -37,22 +37,58 @@ const format = () => {
|
|
|
37
37
|
};
|
|
38
38
|
|
|
39
39
|
function onInput(val: string) {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
40
|
+
// Filter out any non-numeric characters except commas
|
|
41
|
+
const filtered = val.replace(/[^0-9,]/g, "");
|
|
42
|
+
model.value = parse(filtered);
|
|
43
|
+
display.value = filtered;
|
|
43
44
|
}
|
|
44
45
|
|
|
45
46
|
function onKeydown(e: KeyboardEvent) {
|
|
47
|
+
// Allow: backspace, delete, tab, escape, enter, arrows, home, end
|
|
48
|
+
const allowedKeys = [
|
|
49
|
+
"Backspace",
|
|
50
|
+
"Delete",
|
|
51
|
+
"Tab",
|
|
52
|
+
"Escape",
|
|
53
|
+
"Enter",
|
|
54
|
+
"ArrowLeft",
|
|
55
|
+
"ArrowRight",
|
|
56
|
+
"ArrowUp",
|
|
57
|
+
"ArrowDown",
|
|
58
|
+
"Home",
|
|
59
|
+
"End",
|
|
60
|
+
];
|
|
61
|
+
|
|
62
|
+
// Allow: Ctrl/Cmd+A, Ctrl/Cmd+C, Ctrl/Cmd+V, Ctrl/Cmd+X
|
|
63
|
+
if (
|
|
64
|
+
(e.ctrlKey || e.metaKey) &&
|
|
65
|
+
["a", "c", "v", "x"].includes(e.key.toLowerCase())
|
|
66
|
+
) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
|
|
46
70
|
if (e.key === "ArrowUp") {
|
|
47
71
|
e.preventDefault();
|
|
48
72
|
model.value += localProps.step;
|
|
49
73
|
format();
|
|
74
|
+
return;
|
|
50
75
|
}
|
|
51
76
|
|
|
52
77
|
if (e.key === "ArrowDown") {
|
|
53
78
|
e.preventDefault();
|
|
54
79
|
model.value = Math.max(0, model.value - localProps.step);
|
|
55
80
|
format();
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
// Allow navigation and control keys
|
|
85
|
+
if (allowedKeys.includes(e.key)) {
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
// Block if not a number or comma
|
|
90
|
+
if (!/^[0-9,]$/.test(e.key)) {
|
|
91
|
+
e.preventDefault();
|
|
56
92
|
}
|
|
57
93
|
}
|
|
58
94
|
|
package/nuxt.config.ts
CHANGED
|
@@ -85,6 +85,7 @@ export default defineNuxtConfig({
|
|
|
85
85
|
proxy: `${process.env.S3_BUCKET_ENDPOINT}/**`,
|
|
86
86
|
},
|
|
87
87
|
"/api/job/posts/**": { proxy: `${process.env.API_CORE}/api/job/posts/**` },
|
|
88
|
+
"/api/finance/**": { proxy: `${process.env.API_CORE}/api/finance/**` },
|
|
88
89
|
},
|
|
89
90
|
|
|
90
91
|
vite: {
|
package/package.json
CHANGED
package/pages/index.vue
CHANGED
|
@@ -103,8 +103,8 @@ const { data: member, refresh: refreshMember } = await useLazyAsyncData(
|
|
|
103
103
|
{ immediate: isPartnerApp.value }
|
|
104
104
|
);
|
|
105
105
|
|
|
106
|
-
function handleSignin() {
|
|
107
|
-
refreshMember();
|
|
106
|
+
async function handleSignin() {
|
|
107
|
+
await refreshMember();
|
|
108
108
|
if (APP === "main") {
|
|
109
109
|
navigateTo({ name: APP_MAIN_LANDING_PAGE });
|
|
110
110
|
} else if (APP === "admin") {
|