@stubber/form-fields 2.0.5 → 2.0.6
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.
|
@@ -37,7 +37,12 @@ const rebuild_fields = (initial_form2, form2) => {
|
|
|
37
37
|
</script>
|
|
38
38
|
|
|
39
39
|
<div class="flex flex-col gap-y-2">
|
|
40
|
-
{#
|
|
41
|
-
|
|
42
|
-
|
|
40
|
+
{#key form}
|
|
41
|
+
{#key initial_form}
|
|
42
|
+
<!-- {count++} -->
|
|
43
|
+
{#each fields as fieldStore (getStoreValue(fieldStore).id)}
|
|
44
|
+
<FormField {fieldStore} />
|
|
45
|
+
{/each}
|
|
46
|
+
{/key}
|
|
47
|
+
{/key}
|
|
43
48
|
</div>
|
|
@@ -21,23 +21,22 @@ import FieldMessage from "../FieldMessage.svelte";
|
|
|
21
21
|
import { set_value_details } from "../utils";
|
|
22
22
|
import FieldExprToggle from "../FieldExprToggle.svelte";
|
|
23
23
|
export let fieldStore;
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
$: checked = isEqual($fieldStore.value, field.params?.checkedvalue || true);
|
|
24
|
+
set_value_details($fieldStore, "label", $fieldStore.label);
|
|
25
|
+
$: checked = isEqual($fieldStore.value, $fieldStore.params?.checkedvalue || true);
|
|
27
26
|
const on_change = (new_value) => {
|
|
28
|
-
const checked_value =
|
|
29
|
-
const unchecked_value =
|
|
27
|
+
const checked_value = $fieldStore.params?.checkedvalue ?? true;
|
|
28
|
+
const unchecked_value = $fieldStore.params?.uncheckedvalue ?? false;
|
|
30
29
|
if (new_value === true) {
|
|
31
|
-
|
|
30
|
+
$fieldStore.value = checked_value;
|
|
32
31
|
} else {
|
|
33
|
-
|
|
32
|
+
$fieldStore.value = unchecked_value;
|
|
34
33
|
}
|
|
35
34
|
};
|
|
36
35
|
</script>
|
|
37
36
|
|
|
38
37
|
<div class="flex w-full items-center gap-x-2">
|
|
39
38
|
<Checkbox {checked} onCheckedChange={on_change} />
|
|
40
|
-
<Label>{
|
|
39
|
+
<Label>{$fieldStore.label}</Label>
|
|
41
40
|
<FieldExprToggle {fieldStore} />
|
|
42
41
|
</div>
|
|
43
42
|
<FieldMessage {fieldStore} />
|
|
@@ -56,8 +56,7 @@ import FieldMessage from "../FieldMessage.svelte";
|
|
|
56
56
|
import { set_value_details } from "../utils";
|
|
57
57
|
import { inputRegexMask } from "../../utils/input_regex_mask";
|
|
58
58
|
export let fieldStore;
|
|
59
|
-
|
|
60
|
-
let params = field.params;
|
|
59
|
+
$: params = $fieldStore.params;
|
|
61
60
|
const currencyRegex = /^([0-9]+(\.?[0-9]?[0-9]?)?)$/;
|
|
62
61
|
const currencyName = new Intl.DisplayNames("en-US", {
|
|
63
62
|
type: "currency"
|
|
@@ -94,8 +93,11 @@ if (params?.currency_whitelist && params.currency_whitelist.length > 0) {
|
|
|
94
93
|
} else {
|
|
95
94
|
currency_list = build_currency_list_from_codes(currency_codes);
|
|
96
95
|
}
|
|
97
|
-
const details_data_path =
|
|
98
|
-
let current_details = get(
|
|
96
|
+
const details_data_path = $fieldStore.data_path + "_details";
|
|
97
|
+
let current_details = get(
|
|
98
|
+
get_store_value($fieldStore.formStore),
|
|
99
|
+
details_data_path
|
|
100
|
+
);
|
|
99
101
|
if (!current_details) {
|
|
100
102
|
current_details = {
|
|
101
103
|
cents: 0,
|
|
@@ -120,8 +122,8 @@ const on_input = (e) => {
|
|
|
120
122
|
current_details.currencysymbol = getSymbolFromCurrency(current_details.currencycode) || current_details.currencysymbol || "USD";
|
|
121
123
|
current_details.cents = currency(new_value).intValue;
|
|
122
124
|
current_details.amount = currency(new_value).value;
|
|
123
|
-
|
|
124
|
-
set_value_details(
|
|
125
|
+
$fieldStore.value = current_details.amount ? current_details.amount.toFixed(2).toString() : "";
|
|
126
|
+
set_value_details($fieldStore, "details", current_details);
|
|
125
127
|
};
|
|
126
128
|
let open = false;
|
|
127
129
|
$: selectedValue = currency_list.find((c) => c.value === current_details?.currencycode)?.value || "Select Currency...";
|