feat(18-01): add the cabana money field (task 1)
- type: money on fields.yaml with currency or currencyFrom, scale (2..4, default 4) and max; boot fails naming the field on two sources, none, a bad scale or max, a column that is not a string or a Scanner/Valuer, or a currencyFrom that is not a string column - a save answers 422 money.invalid, money.too_precise or money.too_large on the field and fills the accepted decimal string unchanged; the same check runs on controller, settings and relation child saves - backend::lang money.* phrases in en and pl - admin SPA: money.ts (parseMoneyInput, trimMoneyDisplay, formatMoney over Intl with the string itself), MoneyField.vue with the currency suffix, blur validation and the read-only box, preview through the control, the field scope on PreviewView; regenerated OpenAPI and TS types, rebuilt modules/boardwalk/dist - acme.payments fixture with TestMoneyFieldCompile and the Docker TestMoneyFieldSmoke; forms.md Money section and cabana README
This commit is contained in:
20
admin/src/api/schema.d.ts
vendored
20
admin/src/api/schema.d.ts
vendored
@@ -5592,6 +5592,16 @@ export interface components {
|
||||
};
|
||||
comment?: string;
|
||||
context?: components["schemas"]["cabana.fieldContext"];
|
||||
/**
|
||||
* @description Currency is the ISO 4217 code a `type: money` field shows as its
|
||||
* suffix; exactly one of Currency and CurrencyFrom is set.
|
||||
*/
|
||||
currency?: string;
|
||||
/**
|
||||
* @description CurrencyFrom names the sibling column of the model whose value is the
|
||||
* money field's currency code; the admin follows that field's value.
|
||||
*/
|
||||
currencyFrom?: string;
|
||||
default?: components["schemas"]["cabana.jsonScalar"];
|
||||
/**
|
||||
* @description Deferrable is true on a relation-manager field whose relation can be
|
||||
@@ -5634,6 +5644,11 @@ export interface components {
|
||||
/** @description ImageWidth and ImageHeight are the preview size of an image upload. */
|
||||
imageWidth?: number;
|
||||
label?: string;
|
||||
/**
|
||||
* @description Max is a money field's column ceiling as a decimal string; a value
|
||||
* above it in absolute magnitude is a 422 money.too_large.
|
||||
*/
|
||||
max?: string;
|
||||
maxDate?: string;
|
||||
/** @description MaxFiles caps the number of files of an attachMany field. */
|
||||
maxFiles?: number;
|
||||
@@ -5690,6 +5705,11 @@ export interface components {
|
||||
readOnly?: boolean;
|
||||
relation?: string;
|
||||
required?: boolean;
|
||||
/**
|
||||
* @description Scale is the most fraction digits a money value may carry, 2 to 4
|
||||
* (default 4). A value with more digits is refused, never rounded.
|
||||
*/
|
||||
scale?: number;
|
||||
size?: string;
|
||||
span?: string;
|
||||
tab?: string;
|
||||
|
||||
Reference in New Issue
Block a user