@antelopejs/interface-dms 0.10.2 → 0.10.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 +33 -0
- package/dist/base/data-types/default/choices.d.ts +4 -2
- package/dist/base/data-types/default/choices.js +11 -0
- package/dist/base/data-types/default/choices.js.map +1 -1
- package/dist/base/data-types/default/options.d.ts +8 -0
- package/dist/base/data-types/default-types.d.ts +1 -0
- package/dist/base/data-types/default-types.js.map +1 -1
- package/dist/base/form-schema.d.ts +5 -0
- package/dist/base/form-schema.js.map +1 -1
- package/dist/base/internal/series-bucket.d.ts +10 -0
- package/dist/base/internal/series-bucket.js +83 -0
- package/dist/base/internal/series-bucket.js.map +1 -0
- package/dist/base/query-response.d.ts +13 -0
- package/dist/base/query-response.js +20 -8
- package/dist/base/query-response.js.map +1 -1
- package/dist/base/table-view/internal/factory-lifecycle-filter.d.ts +2 -0
- package/dist/base/table-view/internal/factory-lifecycle-filter.js +3 -2
- package/dist/base/table-view/internal/factory-lifecycle-filter.js.map +1 -1
- package/dist/base/table-view/internal/factory-lifecycle-options.d.ts +1 -0
- package/dist/base/table-view/internal/factory-lifecycle-options.js +4 -0
- package/dist/base/table-view/internal/factory-lifecycle-options.js.map +1 -1
- package/docs/3.base/8.data-types.md +1 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,38 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## v0.10.3
|
|
4
|
+
|
|
5
|
+
[compare changes](https://github.com/AntelopeJS/dms/compare/interface-v0.10.2...v0.10.3)
|
|
6
|
+
|
|
7
|
+
### 🚀 Enhancements
|
|
8
|
+
|
|
9
|
+
- **dms-ui:** State the data state of each data block on its root element ([#585](https://github.com/AntelopeJS/dms/pull/585))
|
|
10
|
+
|
|
11
|
+
### 🩹 Fixes
|
|
12
|
+
|
|
13
|
+
- **frontend:** Run the API error CLIs when pnpm links the package ([#634](https://github.com/AntelopeJS/dms/pull/634))
|
|
14
|
+
- **table-view:** Currency on prices, settled counters, no add without a new route ([#611](https://github.com/AntelopeJS/dms/pull/611))
|
|
15
|
+
- **interface-dms:** Name a bucketed series' periods for a person, 202608 as Aug 2026 ([#617](https://github.com/AntelopeJS/dms/pull/617))
|
|
16
|
+
- **chart:** Thin the category x-axis labels of a long series so they never overlap ([#626](https://github.com/AntelopeJS/dms/pull/626))
|
|
17
|
+
|
|
18
|
+
### 💅 Refactors
|
|
19
|
+
|
|
20
|
+
- **frontend:** ⚠️ Remove API error migration helpers ([#638](https://github.com/AntelopeJS/dms/pull/638))
|
|
21
|
+
|
|
22
|
+
### 🏡 Chore
|
|
23
|
+
|
|
24
|
+
- **release:** @antelopejs/dms v0.13.0 ([5f222413](https://github.com/AntelopeJS/dms/commit/5f222413))
|
|
25
|
+
- **release:** @antelopejs/dms v0.13.1 ([5bf5a885](https://github.com/AntelopeJS/dms/commit/5bf5a885))
|
|
26
|
+
- **release:** @antelopejs/dms v0.14.0 ([59a52f99](https://github.com/AntelopeJS/dms/commit/59a52f99))
|
|
27
|
+
|
|
28
|
+
#### ⚠️ Breaking Changes
|
|
29
|
+
|
|
30
|
+
- **frontend:** ⚠️ Remove API error migration helpers ([#638](https://github.com/AntelopeJS/dms/pull/638))
|
|
31
|
+
|
|
32
|
+
### ❤️ Contributors
|
|
33
|
+
|
|
34
|
+
- Antony Rizzitelli ([@Upd4ting](http://github.com/Upd4ting))
|
|
35
|
+
|
|
3
36
|
## v0.10.2
|
|
4
37
|
|
|
5
38
|
[compare changes](https://github.com/AntelopeJS/dms/compare/interface-v0.10.1...v0.10.2)
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import { FormComponents } from "../../form-schema";
|
|
4
4
|
import { DataType } from "../core";
|
|
5
|
-
import { BooleanTypeOptions, SelectTypeOptions, NumberTypeOptions } from "./options";
|
|
5
|
+
import { BooleanTypeOptions, SelectTypeOptions, NumberTypeOptions, PriceTypeOptions } from "./options";
|
|
6
6
|
import { NumberType } from "./numbers";
|
|
7
7
|
export declare class BooleanType extends DataType {
|
|
8
8
|
readonly options: BooleanTypeOptions;
|
|
@@ -46,7 +46,9 @@ export declare class SelectType extends DataType {
|
|
|
46
46
|
getValidation(): z.ZodEnum<[string, ...string[]]> | z.ZodArray<z.ZodEnum<[string, ...string[]]>, "many">;
|
|
47
47
|
}
|
|
48
48
|
export declare class PriceType extends NumberType {
|
|
49
|
-
|
|
49
|
+
readonly options: PriceTypeOptions;
|
|
50
|
+
constructor(options?: PriceTypeOptions);
|
|
51
|
+
protected defaultInputComponent(): import("../../..").ComponentInfoSerialized<FormComponents.InputNumberOptions>;
|
|
50
52
|
}
|
|
51
53
|
export declare class PercentageType extends NumberType {
|
|
52
54
|
constructor(options?: NumberTypeOptions);
|
|
@@ -102,6 +102,17 @@ let PriceType = class PriceType extends numbers_1.NumberType {
|
|
|
102
102
|
...options,
|
|
103
103
|
});
|
|
104
104
|
}
|
|
105
|
+
defaultInputComponent() {
|
|
106
|
+
return form_schema_1.FormComponents.InputNumber({
|
|
107
|
+
min: this.options.min,
|
|
108
|
+
max: this.options.max,
|
|
109
|
+
step: this.options.step,
|
|
110
|
+
placeholder: this.options.placeholder,
|
|
111
|
+
suffix: this.options.suffix,
|
|
112
|
+
width: this.options.width,
|
|
113
|
+
...(this.options.currency && { currency: this.options.currency }),
|
|
114
|
+
});
|
|
115
|
+
}
|
|
105
116
|
};
|
|
106
117
|
exports.PriceType = PriceType;
|
|
107
118
|
exports.PriceType = PriceType = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"choices.js","sourceRoot":"","sources":["../../../../src/base/data-types/default/choices.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kEAAkE;AAClE,6BAAwB;AACxB,mDAAmD;AACnD,kCAAqD;AACrD,oDAA2D;
|
|
1
|
+
{"version":3,"file":"choices.js","sourceRoot":"","sources":["../../../../src/base/data-types/default/choices.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,14 @@ export type NumberTypeOptions = {
|
|
|
20
20
|
width?: FormComponents.InputWidth;
|
|
21
21
|
fallback?: string;
|
|
22
22
|
};
|
|
23
|
+
export type PriceTypeOptions = NumberTypeOptions & {
|
|
24
|
+
/**
|
|
25
|
+
* ISO 4217 code of the amount ("USD", "GBP"): the currency table cells,
|
|
26
|
+
* cards, footer sums and read-only fields write it in. Left out, amounts
|
|
27
|
+
* are written in euros.
|
|
28
|
+
*/
|
|
29
|
+
currency?: string;
|
|
30
|
+
};
|
|
23
31
|
export type StringTypeOptions = {
|
|
24
32
|
placeholder?: string;
|
|
25
33
|
maxLength?: number;
|
|
@@ -26,6 +26,7 @@ export declare const BOOLEAN_DISPLAYS: readonly ["switch", "checkbox", "card"];
|
|
|
26
26
|
export type { SelectDisplay, BooleanDisplay } from "./default/inputs";
|
|
27
27
|
export declare namespace DefaultDataTypes {
|
|
28
28
|
export import NumberTypeOptions = defaultOptions.NumberTypeOptions;
|
|
29
|
+
export import PriceTypeOptions = defaultOptions.PriceTypeOptions;
|
|
29
30
|
export import StringTypeOptions = defaultOptions.StringTypeOptions;
|
|
30
31
|
export import DateTypeOptions = defaultOptions.DateTypeOptions;
|
|
31
32
|
export import BooleanTypeOptions = defaultOptions.BooleanTypeOptions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-types.js","sourceRoot":"","sources":["../../../src/base/data-types/default-types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAoC;AACpC,mDAAiD;AACjD,8CAA4C;AAC5C,eAAa;AACb,6CAA2C;AAC3C,2CAAyC;AACzC,6BAA2B;AAC3B,0BAAwB;AACxB,4HAA4H;AAC5H,8BAA4B;AAC5B,oBAAkB;AAClB,kBAAgB;AAChB,0DAA4C;AAC5C,oCAAkC;AAClC,2BAAyB;AAEzB,kEAAoD;AACpD,kEAAoD;AACpD,kEAAoD;AACpD,sEAAwD;AACxD,kEAAoD;AACpD,8DAAgD;AAChD,4CAA4C;AAC/B,QAAA,eAAe,GAAG;IAC7B,UAAU;IACV,OAAO;IACP,WAAW;IACX,OAAO;CACC,CAAC;AAEX,2CAA2C;AAC9B,QAAA,gBAAgB,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAU,CAAC;AAIxE,IAAiB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"default-types.js","sourceRoot":"","sources":["../../../src/base/data-types/default-types.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sCAAoC;AACpC,mDAAiD;AACjD,8CAA4C;AAC5C,eAAa;AACb,6CAA2C;AAC3C,2CAAyC;AACzC,6BAA2B;AAC3B,0BAAwB;AACxB,4HAA4H;AAC5H,8BAA4B;AAC5B,oBAAkB;AAClB,kBAAgB;AAChB,0DAA4C;AAC5C,oCAAkC;AAClC,2BAAyB;AAEzB,kEAAoD;AACpD,kEAAoD;AACpD,kEAAoD;AACpD,sEAAwD;AACxD,kEAAoD;AACpD,8DAAgD;AAChD,4CAA4C;AAC/B,QAAA,eAAe,GAAG;IAC7B,UAAU;IACV,OAAO;IACP,WAAW;IACX,OAAO;CACC,CAAC;AAEX,2CAA2C;AAC9B,QAAA,gBAAgB,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAU,CAAC;AAIxE,IAAiB,gBAAgB,CAqEhC;AArED,WAAiB,gBAAgB;IAcjB,2BAAU,GAAG,cAAc,CAAC,UAAU,CAAC;IACvC,2BAAU,GAAG,cAAc,CAAC,UAAU,CAAC;IACvC,yBAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC;IACnC,4BAAW,GAAG,cAAc,CAAC,WAAW,CAAC;IACzC,2BAAU,GAAG,cAAc,CAAC,UAAU,CAAC;IACvC,0BAAS,GAAG,cAAc,CAAC,SAAS,CAAC;IACrC,+BAAc,GAAG,cAAc,CAAC,cAAc,CAAC;IAC/C,0BAAS,GAAG,cAAc,CAAC,SAAS,CAAC;IACrC,0BAAS,GAAG,cAAc,CAAC,SAAS,CAAC;IACrC,6BAAY,GAAG,cAAc,CAAC,YAAY,CAAC;IAC3C,wBAAO,GAAG,cAAc,CAAC,OAAO,CAAC;IACjC,0BAAS,GAAG,cAAc,CAAC,SAAS,CAAC;IAErC,6BAAY,GAAG,gBAAgB,CAAC,YAAY,CAAC;IAC7C,qCAAoB,GAAG,gBAAgB,CAAC,oBAAoB,CAAC;IAG7D,4BAAW,GAAG,cAAc,CAAC,WAAW,CAAC;IACzC,6BAAY,GAAG,YAAY,CAAC,YAAY,CAAC;IACzC,+BAAc,GAAG,YAAY,CAAC,cAAc,CAAC;IAE7C,yBAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC;IAGjC,0BAAS,GAAG,YAAY,CAAC,SAAS,CAAC;IAEpC,0BAAS,GAAG,UAAU,CAAC,SAAS,CAAC;IAMjC,6BAAY,GAAG,UAAU,CAAC,YAAY,CAAC;IAMvC,2BAAU,GAAG,UAAU,CAAC,UAAU,CAAC;IAMnC,yBAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;IAM/B,yBAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;AAK9C,CAAC,EArEgB,gBAAgB,gCAAhB,gBAAgB,QAqEhC"}
|
|
@@ -164,6 +164,11 @@ export declare namespace FormComponents {
|
|
|
164
164
|
placeholder?: string;
|
|
165
165
|
/** Unit written after the field ("days"): an i18n key with `$`, or a literal. */
|
|
166
166
|
suffix?: string;
|
|
167
|
+
/**
|
|
168
|
+
* ISO 4217 code ("USD") of the amount a price field holds; read where
|
|
169
|
+
* the value is written, never by the input. Unset, amounts are in EUR.
|
|
170
|
+
*/
|
|
171
|
+
currency?: string;
|
|
167
172
|
/**
|
|
168
173
|
* `InputNumber` only. By default (`true`) a value typed outside `min` /
|
|
169
174
|
* `max` is clamped into range when the field loses focus. `false` keeps
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-schema.js","sourceRoot":"","sources":["../../src/base/form-schema.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"form-schema.js","sourceRoot":"","sources":["../../src/base/form-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { SeriesBucket } from "../query-response";
|
|
2
|
+
/**
|
|
3
|
+
* A period stamp as a person reads it: 202608 as "Aug 2026" for a month, 20263 as
|
|
4
|
+
* "Q3 2026", 20260801 as "Aug 1, 2026", and a week, stamped by its Monday as the days
|
|
5
|
+
* since 1970-01-01, as "Week of Aug 3". A key that is not a stamp of its bucket
|
|
6
|
+
* (a text, a fraction, a month 13) is returned as it came, never guessed at.
|
|
7
|
+
*
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
export declare function bucketLabel(key: number | string, bucket: SeriesBucket): number | string;
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.bucketLabel = bucketLabel;
|
|
4
|
+
const MONTH_NAMES = [
|
|
5
|
+
"Jan",
|
|
6
|
+
"Feb",
|
|
7
|
+
"Mar",
|
|
8
|
+
"Apr",
|
|
9
|
+
"May",
|
|
10
|
+
"Jun",
|
|
11
|
+
"Jul",
|
|
12
|
+
"Aug",
|
|
13
|
+
"Sep",
|
|
14
|
+
"Oct",
|
|
15
|
+
"Nov",
|
|
16
|
+
"Dec",
|
|
17
|
+
];
|
|
18
|
+
const YEAR_STEP = 100;
|
|
19
|
+
const MONTHS_PER_YEAR = 12;
|
|
20
|
+
const QUARTERS_PER_YEAR = 4;
|
|
21
|
+
const QUARTER_STEP = 10;
|
|
22
|
+
const FIRST_DAY = 1;
|
|
23
|
+
const LAST_DAY = 31;
|
|
24
|
+
function splitStamp(stamp, step) {
|
|
25
|
+
return { year: Math.floor(stamp / step), part: stamp % step };
|
|
26
|
+
}
|
|
27
|
+
function dayLabel(stamp) {
|
|
28
|
+
const { year: monthStamp, part: day } = splitStamp(stamp, YEAR_STEP);
|
|
29
|
+
const { year, part: month } = splitStamp(monthStamp, YEAR_STEP);
|
|
30
|
+
const valid = month >= 1 &&
|
|
31
|
+
month <= MONTHS_PER_YEAR &&
|
|
32
|
+
day >= FIRST_DAY &&
|
|
33
|
+
day <= LAST_DAY;
|
|
34
|
+
return valid ? `${MONTH_NAMES[month - 1]} ${day}, ${year}` : undefined;
|
|
35
|
+
}
|
|
36
|
+
const MS_PER_DAY = 86_400_000;
|
|
37
|
+
const DAYS_PER_WEEK = 7;
|
|
38
|
+
/** 1970-01-01 was a Thursday, so a Monday's day count is 4 more than a multiple of 7. */
|
|
39
|
+
const MONDAY_REMAINDER = 4;
|
|
40
|
+
/** A week is stamped by its Monday as the days since 1970-01-01. */
|
|
41
|
+
function weekLabel(stamp) {
|
|
42
|
+
const isMonday = ((stamp % DAYS_PER_WEEK) + DAYS_PER_WEEK) % DAYS_PER_WEEK ===
|
|
43
|
+
MONDAY_REMAINDER;
|
|
44
|
+
const monday = new Date(stamp * MS_PER_DAY);
|
|
45
|
+
return isMonday && !Number.isNaN(monday.getTime())
|
|
46
|
+
? `Week of ${MONTH_NAMES[monday.getUTCMonth()]} ${monday.getUTCDate()}`
|
|
47
|
+
: undefined;
|
|
48
|
+
}
|
|
49
|
+
function monthLabel(stamp) {
|
|
50
|
+
const { year, part: month } = splitStamp(stamp, YEAR_STEP);
|
|
51
|
+
return month >= 1 && month <= MONTHS_PER_YEAR
|
|
52
|
+
? `${MONTH_NAMES[month - 1]} ${year}`
|
|
53
|
+
: undefined;
|
|
54
|
+
}
|
|
55
|
+
function quarterLabel(stamp) {
|
|
56
|
+
const { year, part: quarter } = splitStamp(stamp, QUARTER_STEP);
|
|
57
|
+
return quarter >= 1 && quarter <= QUARTERS_PER_YEAR
|
|
58
|
+
? `Q${quarter} ${year}`
|
|
59
|
+
: undefined;
|
|
60
|
+
}
|
|
61
|
+
const LABELS = {
|
|
62
|
+
day: dayLabel,
|
|
63
|
+
week: weekLabel,
|
|
64
|
+
month: monthLabel,
|
|
65
|
+
quarter: quarterLabel,
|
|
66
|
+
year: (stamp) => String(stamp),
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* A period stamp as a person reads it: 202608 as "Aug 2026" for a month, 20263 as
|
|
70
|
+
* "Q3 2026", 20260801 as "Aug 1, 2026", and a week, stamped by its Monday as the days
|
|
71
|
+
* since 1970-01-01, as "Week of Aug 3". A key that is not a stamp of its bucket
|
|
72
|
+
* (a text, a fraction, a month 13) is returned as it came, never guessed at.
|
|
73
|
+
*
|
|
74
|
+
* @internal
|
|
75
|
+
*/
|
|
76
|
+
function bucketLabel(key, bucket) {
|
|
77
|
+
// oxlint-disable-next-line anti-slop/no-runtime-typeof -- A group key is a number or a text; only a whole number can be a period stamp.
|
|
78
|
+
if (typeof key !== "number" || !Number.isInteger(key)) {
|
|
79
|
+
return key;
|
|
80
|
+
}
|
|
81
|
+
return LABELS[bucket](key) ?? key;
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=series-bucket.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"series-bucket.js","sourceRoot":"","sources":["../../../src/base/internal/series-bucket.ts"],"names":[],"mappings":";;AA2FA,kCASC;AAlGD,MAAM,WAAW,GAAG;IAClB,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;CACN,CAAC;AAEF,MAAM,SAAS,GAAG,GAAG,CAAC;AACtB,MAAM,eAAe,GAAG,EAAE,CAAC;AAC3B,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,MAAM,YAAY,GAAG,EAAE,CAAC;AACxB,MAAM,SAAS,GAAG,CAAC,CAAC;AACpB,MAAM,QAAQ,GAAG,EAAE,CAAC;AAQpB,SAAS,UAAU,CAAC,KAAa,EAAE,IAAY;IAC7C,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,CAAC;AAChE,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa;IAC7B,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACrE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAChE,MAAM,KAAK,GACT,KAAK,IAAI,CAAC;QACV,KAAK,IAAI,eAAe;QACxB,GAAG,IAAI,SAAS;QAChB,GAAG,IAAI,QAAQ,CAAC;IAClB,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,GAAG,UAAU,CAAC;AAC9B,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,yFAAyF;AACzF,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAE3B,oEAAoE;AACpE,SAAS,SAAS,CAAC,KAAa;IAC9B,MAAM,QAAQ,GACZ,CAAC,CAAC,KAAK,GAAG,aAAa,CAAC,GAAG,aAAa,CAAC,GAAG,aAAa;QACzD,gBAAgB,CAAC;IACnB,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC;IAC5C,OAAO,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAChD,CAAC,CAAC,WAAW,WAAW,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE,EAAE;QACvE,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC3D,OAAO,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,eAAe;QAC3C,CAAC,CAAC,GAAG,WAAW,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,IAAI,EAAE;QACrC,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IAChE,OAAO,OAAO,IAAI,CAAC,IAAI,OAAO,IAAI,iBAAiB;QACjD,CAAC,CAAC,IAAI,OAAO,IAAI,IAAI,EAAE;QACvB,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,MAAM,MAAM,GAAgE;IAC1E,GAAG,EAAE,QAAQ;IACb,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,UAAU;IACjB,OAAO,EAAE,YAAY;IACrB,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;CAC/B,CAAC;AAEF;;;;;;;GAOG;AACH,SAAgB,WAAW,CACzB,GAAoB,EACpB,MAAoB;IAEpB,wIAAwI;IACxI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;QACtD,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;AACpC,CAAC"}
|
|
@@ -21,6 +21,13 @@ export interface SeriesPoint {
|
|
|
21
21
|
/** Null for a group the calculation found nothing to measure in. */
|
|
22
22
|
y: number | null;
|
|
23
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* The period a query grouped a date field into. Its groups are keyed by a period
|
|
26
|
+
* stamp: the year (2026), the quarter (20263), the month (202608), the day
|
|
27
|
+
* (20260801) or the week, stamped by its Monday as the days since 1970-01-01
|
|
28
|
+
* (20668 for the week of Aug 3, 2026).
|
|
29
|
+
*/
|
|
30
|
+
export type SeriesBucket = "day" | "week" | "month" | "quarter" | "year";
|
|
24
31
|
/** How the headline figure is taken from the points. */
|
|
25
32
|
export type SeriesMeasure = "count" | "sum" | "avg" | "min" | "max";
|
|
26
33
|
export interface SeriesOptions {
|
|
@@ -31,6 +38,12 @@ export interface SeriesOptions {
|
|
|
31
38
|
* because all that is left to name a series by is the measure's own word.
|
|
32
39
|
*/
|
|
33
40
|
label?: string;
|
|
41
|
+
/**
|
|
42
|
+
* The period the points are bucketed into, when the query grouped a date field.
|
|
43
|
+
* A chart's axis, a tooltip and a ranked entry then read "Aug 2026" where the
|
|
44
|
+
* key is the stamp 202608. Without it a key is passed on as it came.
|
|
45
|
+
*/
|
|
46
|
+
bucket?: SeriesBucket;
|
|
34
47
|
/** The same calculation over the preceding period, when one was asked for. */
|
|
35
48
|
previous?: SeriesPoint[];
|
|
36
49
|
}
|
|
@@ -4,6 +4,7 @@ exports.chartCardData = chartCardData;
|
|
|
4
4
|
exports.kpiCardData = kpiCardData;
|
|
5
5
|
exports.topListData = topListData;
|
|
6
6
|
const query_response_1 = require("./internal/query-response");
|
|
7
|
+
const series_bucket_1 = require("./internal/series-bucket");
|
|
7
8
|
const MS_PER_DAY = 86_400_000;
|
|
8
9
|
/**
|
|
9
10
|
* The window a time bucket's key can fall in. Read as milliseconds, a group key
|
|
@@ -46,20 +47,25 @@ function addComparison(target, value, options) {
|
|
|
46
47
|
* it takes each of them for a series with nothing in it and draws an empty
|
|
47
48
|
* canvas, without an error anywhere to say why.
|
|
48
49
|
*/
|
|
49
|
-
function chartSeries(points, name) {
|
|
50
|
-
|
|
50
|
+
function chartSeries(points, name, bucket) {
|
|
51
|
+
const data = bucket
|
|
52
|
+
? points.map((point) => ({ ...point, x: (0, series_bucket_1.bucketLabel)(point.x, bucket) }))
|
|
53
|
+
: points;
|
|
54
|
+
return [{ name, data }];
|
|
51
55
|
}
|
|
52
56
|
/** Points as a chart card reads them: a figure, its series, and its variation. */
|
|
53
57
|
function chartCardData(points, options) {
|
|
54
58
|
const name = options.label ?? options.measure;
|
|
55
|
-
const data = {
|
|
59
|
+
const data = {
|
|
60
|
+
series: chartSeries(points, name, options.bucket),
|
|
61
|
+
};
|
|
56
62
|
const value = (0, query_response_1.headline)(points, options.measure);
|
|
57
63
|
if (value !== undefined) {
|
|
58
64
|
data.value = value;
|
|
59
65
|
}
|
|
60
66
|
addComparison(data, value, options);
|
|
61
67
|
if (options.previous && options.previous.length > 0) {
|
|
62
|
-
data.comparisonSeries = chartSeries(options.previous, name);
|
|
68
|
+
data.comparisonSeries = chartSeries(options.previous, name, options.bucket);
|
|
63
69
|
}
|
|
64
70
|
return data;
|
|
65
71
|
}
|
|
@@ -90,7 +96,11 @@ function kpiCardData(points, options) {
|
|
|
90
96
|
* and year bucket does — is named by its date alone, since the zeroes below it
|
|
91
97
|
* carry no information.
|
|
92
98
|
*/
|
|
93
|
-
function groupTitle(key) {
|
|
99
|
+
function groupTitle(key, bucket) {
|
|
100
|
+
const labelled = bucket ? (0, series_bucket_1.bucketLabel)(key, bucket) : key;
|
|
101
|
+
if (labelled !== key) {
|
|
102
|
+
return String(labelled);
|
|
103
|
+
}
|
|
94
104
|
if (
|
|
95
105
|
// oxlint-disable-next-line anti-slop/no-runtime-typeof -- Group keys are already a number-or-string domain; only numeric epoch buckets get date formatting.
|
|
96
106
|
typeof key !== "number" ||
|
|
@@ -113,10 +123,10 @@ function measuredByGroup(points) {
|
|
|
113
123
|
}
|
|
114
124
|
return byGroup;
|
|
115
125
|
}
|
|
116
|
-
function topListEntry(point, value, before) {
|
|
126
|
+
function topListEntry(point, value, before, bucket) {
|
|
117
127
|
const entry = {
|
|
118
128
|
id: point.x,
|
|
119
|
-
title: groupTitle(point.x),
|
|
129
|
+
title: groupTitle(point.x, bucket),
|
|
120
130
|
value,
|
|
121
131
|
};
|
|
122
132
|
const previous = before.get(String(point.x));
|
|
@@ -135,7 +145,9 @@ function topListEntry(point, value, before) {
|
|
|
135
145
|
function topListData(points, options) {
|
|
136
146
|
const before = measuredByGroup(options.previous ?? []);
|
|
137
147
|
return {
|
|
138
|
-
items: points.flatMap((point) => point.y === null
|
|
148
|
+
items: points.flatMap((point) => point.y === null
|
|
149
|
+
? []
|
|
150
|
+
: [topListEntry(point, point.y, before, options.bucket)]),
|
|
139
151
|
};
|
|
140
152
|
}
|
|
141
153
|
//# sourceMappingURL=query-response.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-response.js","sourceRoot":"","sources":["../../src/base/query-response.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"query-response.js","sourceRoot":"","sources":["../../src/base/query-response.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,8 @@ interface FilterDeclarations<T extends Record<string, unknown>> {
|
|
|
9
9
|
declaredTabs: TableViewOptions<T>["tabs"];
|
|
10
10
|
declaredViews: TableViewOptions<T>["views"];
|
|
11
11
|
meta: TableViewMeta;
|
|
12
|
+
/** Whether the controller mounts a `new` route: without it nobody can add. */
|
|
13
|
+
hasNewEndpoint: boolean;
|
|
12
14
|
}
|
|
13
15
|
/** @internal */
|
|
14
16
|
export declare function filterTableViewOptions<T extends Record<string, unknown>>(declarations: FilterDeclarations<T>, request: FilterArguments): Promise<TableViewOptionsSerialized>;
|
|
@@ -6,9 +6,10 @@ const tabs_1 = require("./tabs");
|
|
|
6
6
|
const views_1 = require("./views");
|
|
7
7
|
/** @internal */
|
|
8
8
|
async function filterTableViewOptions(declarations, request) {
|
|
9
|
-
const { declaredCustomButtons, declaredCustomRowActions, declaredTabs, declaredViews, meta, } = declarations;
|
|
9
|
+
const { declaredCustomButtons, declaredCustomRowActions, declaredTabs, declaredViews, meta, hasNewEndpoint, } = declarations;
|
|
10
10
|
const [permissions, options, permissionId, context] = request;
|
|
11
|
-
const
|
|
11
|
+
const held = await (0, request_filter_1.resolveTableViewGrants)(permissions, permissionId);
|
|
12
|
+
const grants = { ...held, add: held.add && hasNewEndpoint };
|
|
12
13
|
const adaptedFormComponents = {
|
|
13
14
|
new: grants.add ? options.formComponents.new : undefined,
|
|
14
15
|
edit: grants.edit ? options.formComponents.edit : undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory-lifecycle-filter.js","sourceRoot":"","sources":["../../../../src/base/table-view/internal/factory-lifecycle-filter.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"factory-lifecycle-filter.js","sourceRoot":"","sources":["../../../../src/base/table-view/internal/factory-lifecycle-filter.ts"],"names":[],"mappings":";;AA8BA,wDAkEC;AA5FD,qDAK0B;AAC1B,iCAA8C;AAC9C,mCAAgD;AAkBhD,gBAAgB;AACT,KAAK,UAAU,sBAAsB,CAC1C,YAAmC,EACnC,OAAwB;IAExB,MAAM,EACJ,qBAAqB,EACrB,wBAAwB,EACxB,YAAY,EACZ,aAAa,EACb,IAAI,EACJ,cAAc,GACf,GAAG,YAAY,CAAC;IACjB,MAAM,CAAC,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;IAC9D,MAAM,IAAI,GAAG,MAAM,IAAA,uCAAsB,EAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,cAAc,EAAE,CAAC;IAE5D,MAAM,qBAAqB,GAAG;QAC5B,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;QACxD,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;QAC3D,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;KAC5D,CAAC;IAEF,MAAM,iBAAiB,GAAG,IAAA,gCAAe,EAAC;QACxC,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,MAAM;QACN,MAAM,EAAE,MAAM,IAAA,wCAAuB,EACnC,WAAW,EACX,wBAAwB,EACxB,OAAO,CAAC,UAAU,EAAE,MAAM,EAC1B,YAAY,CACb;QACD,eAAe,EAAE,IAAI,CAAC,wBAAwB;KAC/C,CAAC,CAAC;IAEH,MAAM,oBAAoB,GAAG,MAAM,IAAA,qCAAoB,EACrD,WAAW,EACX,qBAAqB,EACrB,OAAO,CAAC,aAAa,EACrB,YAAY,EACZ,OAAO,CACR,CAAC;IAEF,MAAM,WAAW,GAAG,MAAM,IAAA,2BAAoB,EAC5C,WAAW,EACX,YAAY,EACZ,OAAO,CAAC,IAAI,EACZ,YAAY,CACb,CAAC;IAEF,MAAM,YAAY,GAAG,MAAM,IAAA,6BAAqB,EAC9C,WAAW,EACX,aAAa,EACb,OAAO,CAAC,KAAK,EACb,YAAY,CACb,CAAC;IAEF,OAAO;QACL,GAAG,OAAO;QACV,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,IAAI,MAAM,CAAC,MAAM;QAC7D,cAAc,EAAE,qBAAqB;QACrC,UAAU,EAAE,iBAAiB;QAC7B,aAAa,EAAE,oBAAoB;QACnC,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,YAAY;KACpB,CAAC;AACJ,CAAC"}
|
|
@@ -34,6 +34,7 @@ export declare function prepareTableViewSerialization<T extends ControllerClass>
|
|
|
34
34
|
declaredTabs: import("./option-views").TableViewTab[] | undefined;
|
|
35
35
|
declaredViews: import("./option-views").TableViewViewsOptions | undefined;
|
|
36
36
|
meta: TableViewMeta;
|
|
37
|
+
hasNewEndpoint: boolean;
|
|
37
38
|
};
|
|
38
39
|
};
|
|
39
40
|
/** @internal */
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.prepareTableViewSerialization = prepareTableViewSerialization;
|
|
4
4
|
exports.serializeTableViewOptions = serializeTableViewOptions;
|
|
5
|
+
const interface_core_1 = require("@antelopejs/interface-core");
|
|
6
|
+
const metadata_1 = require("@antelopejs/interface-data-api/metadata");
|
|
5
7
|
const searchable_1 = require("../../internal/searchable");
|
|
6
8
|
const factory_helpers_1 = require("./factory-helpers");
|
|
7
9
|
const tabs_1 = require("./tabs");
|
|
@@ -30,6 +32,8 @@ function prepareTableViewSerialization(options, state) {
|
|
|
30
32
|
declaredTabs,
|
|
31
33
|
declaredViews,
|
|
32
34
|
meta: state.meta,
|
|
35
|
+
hasNewEndpoint: !!(0, interface_core_1.GetMetadata)(state.controller, metadata_1.DataAPIMeta).endpoints
|
|
36
|
+
.new,
|
|
33
37
|
},
|
|
34
38
|
};
|
|
35
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory-lifecycle-options.js","sourceRoot":"","sources":["../../../../src/base/table-view/internal/factory-lifecycle-options.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"factory-lifecycle-options.js","sourceRoot":"","sources":["../../../../src/base/table-view/internal/factory-lifecycle-options.ts"],"names":[],"mappings":";;AAiCA,sEAgCC;AAGD,8DA2DC;AA7HD,+DAAyD;AACzD,sEAAsE;AAGtE,0DAAgE;AAGhE,uDAM2B;AAC3B,iCAAgD;AAChD,mCAAkD;AAClD,qCAAiE;AAcjE,gBAAgB;AAChB,SAAgB,6BAA6B,CAC3C,OAA0C,EAC1C,KAGC;IAED,MAAM,qBAAqB,GAAG,OAAO,CAAC,aAAa,CAAC;IACpD,MAAM,uBAAuB,GAAG,IAAA,wCAAsB,EAAC,qBAAqB,CAAC,CAAC;IAC9E,MAAM,oBAAoB,GAAG,OAAO,CAAC,UAAU;QAC7C,CAAC,CAAC,IAAA,qCAAmB,EAAC,OAAO,CAAC,UAAU,CAAC;QACzC,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,wBAAwB,GAAG,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5D,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAClC,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC;IACpC,OAAO;QACL,aAAa,EAAE;YACb,GAAG,KAAK;YACR,OAAO;YACP,uBAAuB;YACvB,oBAAoB;SACrB;QACD,YAAY,EAAE;YACZ,qBAAqB;YACrB,wBAAwB;YACxB,YAAY;YACZ,aAAa;YACb,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,cAAc,EAAE,CAAC,CAAC,IAAA,4BAAW,EAAC,KAAK,CAAC,UAAU,EAAE,sBAAW,CAAC,CAAC,SAAS;iBACnE,GAAG;SACP;KACF,CAAC;AACJ,CAAC;AAED,gBAAgB;AAChB,SAAgB,yBAAyB,CACvC,KAA4B;IAE5B,MAAM,EACJ,UAAU,EACV,OAAO,EACP,IAAI,EACJ,MAAM,EACN,KAAK,EACL,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACvB,eAAe,GAChB,GAAG,KAAK,CAAC;IACV,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAC/D,OAAO;QACL,GAAG,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC;QACrD,UAAU,EAAE,oBAAoB;QAChC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,UAAU,EAAE,oBAAoB;QAChC,iBAAiB,EAAE,eAAe;QAClC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;QAC9C,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,sNAAsN;QACtN,UAAU,EAAE,OAAO,CAAC,UAAuC;QAC3D,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,aAAa,EAAE,uBAAuB;QACtC,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,IAAI,EAAE,IAAA,6BAAsB,EAAC,OAAO,CAAC,IAAI,CAAC;QAC1C,KAAK,EAAE,IAAA,+BAAuB,EAAC,OAAO,CAAC,KAAK,CAAC;QAC7C,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,UAAU,EAAE,IAAA,gCAAmB,EAAC,UAAU,CAAC;QAC3C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,MAAM,EAAE,IAAA,wBAAe,EAAC,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC;QAC9D,WAAW,EAAE,IAAA,6BAAoB,EAAC,OAAO,CAAC,WAAW,CAAC;QACtD,QAAQ,EAAE,IAAA,4CAA0B,EAAC,OAAO,CAAC;QAC7C,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,cAAc,EAAE;YACd,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,SAAS;YAClD,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,SAAS;YACrD,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,SAAS;SACtD;KACF,CAAC;AACJ,CAAC;AAaD;;;;GAIG;AACH,SAAS,iBAAiB,CACxB,MAAS,EACT,SAAmB,EAAE;IAErB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IACvC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,OAAO;QACL,GAAG,MAAM;QACT,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACrC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CACpE;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -284,6 +284,7 @@ Notes on the ones whose behaviour is not obvious from the options:
|
|
|
284
284
|
- `StringType` renders a textarea instead of a single-line input when `textarea` is set, and passes `rows` to it.
|
|
285
285
|
- `StringType` with `showCount` shows the characters typed, out of `maxLength` when set ("4 / 60"), in its input or under its textarea.
|
|
286
286
|
- `NumberType` hands `suffix` (an i18n key with `$`, or a literal) to its input, which writes it after the field; the value stays a number. `PriceType` inherits it; `PercentageType` keeps its own `%`.
|
|
287
|
+
- `PriceType` writes amounts in euros. `new PriceType({ currency: "USD" })` (an ISO 4217 code) writes them in that currency in cells, cards, footer sums and read-only fields; a code that is not three letters falls back to euros.
|
|
287
288
|
- `NumberType` (and the types extending it) and a single-line `StringType` hand `width` (`FormComponents.InputWidth`) to their input: `"compact"` sizes it for a short value from `sm` up, `"full"` fills the row, and left out the input is compact when `min` / `max` fit in 6 digits or `maxLength` is 16 or less.
|
|
288
289
|
- `DateType` overrides `filter` so `is`, `is_not` and `is_between` compare whole UTC days rather than instants, and adds a range picker as the filter component for `is_between`. Its schema accepts a `Date` or an ISO-shaped string and transforms it to a `Date`; with `multiple` the value becomes an array, and with `range` it becomes `{ start, end }`, `end` on or after `start` (a pair `[start, end]` is still read and validates to the same object).
|
|
289
290
|
- `BooleanType` uses a two-option select as its filter component, so a viewer picks "checked"/"unchecked" rather than typing a value.
|
package/package.json
CHANGED