@antelopejs/interface-dms 0.10.1 → 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.
Files changed (29) hide show
  1. package/CHANGELOG.md +61 -0
  2. package/dist/base/data-types/default/choices.d.ts +4 -2
  3. package/dist/base/data-types/default/choices.js +11 -0
  4. package/dist/base/data-types/default/choices.js.map +1 -1
  5. package/dist/base/data-types/default/options.d.ts +8 -0
  6. package/dist/base/data-types/default-types.d.ts +1 -0
  7. package/dist/base/data-types/default-types.js.map +1 -1
  8. package/dist/base/form-schema.d.ts +5 -0
  9. package/dist/base/form-schema.js.map +1 -1
  10. package/dist/base/internal/series-bucket.d.ts +10 -0
  11. package/dist/base/internal/series-bucket.js +83 -0
  12. package/dist/base/internal/series-bucket.js.map +1 -0
  13. package/dist/base/query-response.d.ts +13 -0
  14. package/dist/base/query-response.js +20 -8
  15. package/dist/base/query-response.js.map +1 -1
  16. package/dist/base/table-view/internal/factory-lifecycle-filter.d.ts +2 -0
  17. package/dist/base/table-view/internal/factory-lifecycle-filter.js +3 -2
  18. package/dist/base/table-view/internal/factory-lifecycle-filter.js.map +1 -1
  19. package/dist/base/table-view/internal/factory-lifecycle-options.d.ts +1 -0
  20. package/dist/base/table-view/internal/factory-lifecycle-options.js +4 -0
  21. package/dist/base/table-view/internal/factory-lifecycle-options.js.map +1 -1
  22. package/dist/db/tables/tenants.table.d.ts +2 -0
  23. package/dist/db/tables/tenants.table.js +4 -0
  24. package/dist/db/tables/tenants.table.js.map +1 -1
  25. package/dist/tenant-provisioning.d.ts +3 -3
  26. package/dist/tenant-provisioning.js +3 -3
  27. package/docs/1.core/2.pages-and-modules.md +21 -0
  28. package/docs/3.base/8.data-types.md +1 -0
  29. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,66 @@
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
+
36
+ ## v0.10.2
37
+
38
+ [compare changes](https://github.com/AntelopeJS/dms/compare/interface-v0.10.1...v0.10.2)
39
+
40
+ ### 🩹 Fixes
41
+
42
+ - **chart:** Draw only the fetched series that carry their points ([#587](https://github.com/AntelopeJS/dms/pull/587))
43
+ - **store:** Remove the archived CI/CD module from the catalog ([#609](https://github.com/AntelopeJS/dms/pull/609))
44
+ - **tenants:** Resume the default tenant's provisioning after start ([#613](https://github.com/AntelopeJS/dms/pull/613))
45
+ - **dms-ui:** Hydrate keyboard hints with the platform the server rendered ([#442](https://github.com/AntelopeJS/dms/pull/442))
46
+ - **dms-ui:** Print Nuxt UI key hints for the dashboard's keyboard platform ([#541](https://github.com/AntelopeJS/dms/pull/541))
47
+ - **playground:** Declare the playground's frontend, so dev and production include it ([#441](https://github.com/AntelopeJS/dms/pull/441))
48
+ - **frontend:** Unify API error presentation ([#614](https://github.com/AntelopeJS/dms/pull/614))
49
+
50
+ ### 📖 Documentation
51
+
52
+ - **readme:** Restore the realtime updates line and the live preview wording ([#589](https://github.com/AntelopeJS/dms/pull/589))
53
+ - **readme:** Remove the How AntelopeJS makes money section ([#592](https://github.com/AntelopeJS/dms/pull/592))
54
+
55
+ ### 🏡 Chore
56
+
57
+ - **release:** @antelopejs/dms v0.12.1 ([97b7122d](https://github.com/AntelopeJS/dms/commit/97b7122d))
58
+
59
+ ### ❤️ Contributors
60
+
61
+ - Antony Rizzitelli ([@Upd4ting](http://github.com/Upd4ting))
62
+ - Alessandro Aloisio ([@alessaloisio](http://github.com/alessaloisio))
63
+
3
64
  ## v0.10.1
4
65
 
5
66
  [compare changes](https://github.com/AntelopeJS/dms/compare/interface-v0.10.0...v0.10.1)
@@ -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
- constructor(options?: NumberTypeOptions);
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":"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"}
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,CAoEhC;AApED,WAAiB,gBAAgB;IAajB,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,EApEgB,gBAAgB,gCAAhB,gBAAgB,QAoEhC"}
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":"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"}
@@ -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
- return [{ name, data: points }];
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 = { series: chartSeries(points, name) };
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 ? [] : [topListEntry(point, point.y, before)]),
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":"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"}
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 grants = await (0, request_filter_1.resolveTableViewGrants)(permissions, permissionId);
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":";;AA4BA,wDAgEC;AAxFD,qDAK0B;AAC1B,iCAA8C;AAC9C,mCAAgD;AAgBhD,gBAAgB;AACT,KAAK,UAAU,sBAAsB,CAC1C,YAAmC,EACnC,OAAwB;IAExB,MAAM,EACJ,qBAAqB,EACrB,wBAAwB,EACxB,YAAY,EACZ,aAAa,EACb,IAAI,GACL,GAAG,YAAY,CAAC;IACjB,MAAM,CAAC,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;IAC9D,MAAM,MAAM,GAAG,MAAM,IAAA,uCAAsB,EAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAEvE,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"}
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":"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"}
1
+ {"version":3,"file":"factory-lifecycle-options.js","sourceRoot":"","sources":["../../../../src/base/table-view/internal/factory-lifecycle-options.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,8 @@ export declare const tenantsTableName = "tenants";
3
3
  export declare class Tenant extends Table {
4
4
  _id: string;
5
5
  name: string;
6
+ /** True while default tenant provisioning must be retried. Absent means provisioned. */
7
+ provisioningPending?: boolean;
6
8
  createdAt: Date;
7
9
  updatedAt: Date;
8
10
  }
@@ -24,6 +24,10 @@ __decorate([
24
24
  (0, interface_database_decorators_1.Field)("string"),
25
25
  __metadata("design:type", String)
26
26
  ], Tenant.prototype, "name", void 0);
27
+ __decorate([
28
+ (0, interface_database_decorators_1.Field)("boolean"),
29
+ __metadata("design:type", Boolean)
30
+ ], Tenant.prototype, "provisioningPending", void 0);
27
31
  __decorate([
28
32
  (0, interface_database_decorators_1.CreationTime)(),
29
33
  (0, interface_database_decorators_1.Index)(),
@@ -1 +1 @@
1
- {"version":3,"file":"tenants.table.js","sourceRoot":"","sources":["../../../src/db/tables/tenants.table.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6FAOmD;AACnD,+CAAmD;AAEtC,QAAA,gBAAgB,GAAG,SAAS,CAAC;AAGnC,IAAM,MAAM,GAAZ,MAAM,MAAO,SAAQ,qCAAK;CAgBhC,CAAA;AAhBY,wBAAM;AAET;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;mCACI;AAGZ;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;oCACK;AAKb;IAHP,IAAA,4CAAY,GAAE;IACd,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACK,IAAI;yCAAC;AAKhB;IAHP,IAAA,0CAAU,GAAE;IACZ,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACK,IAAI;yCAAC;iBAfb,MAAM;IADlB,IAAA,6CAAa,EAAC,wBAAgB,EAAE,4BAAgB,CAAC;GACrC,MAAM,CAgBlB"}
1
+ {"version":3,"file":"tenants.table.js","sourceRoot":"","sources":["../../../src/db/tables/tenants.table.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6FAOmD;AACnD,+CAAmD;AAEtC,QAAA,gBAAgB,GAAG,SAAS,CAAC;AAGnC,IAAM,MAAM,GAAZ,MAAM,MAAO,SAAQ,qCAAK;CAoBhC,CAAA;AApBY,wBAAM;AAET;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;mCACI;AAGZ;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;oCACK;AAIb;IADP,IAAA,qCAAK,EAAC,SAAS,CAAC;;mDACqB;AAK9B;IAHP,IAAA,4CAAY,GAAE;IACd,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACK,IAAI;yCAAC;AAKhB;IAHP,IAAA,0CAAU,GAAE;IACZ,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACK,IAAI;yCAAC;iBAnBb,MAAM;IADlB,IAAA,6CAAa,EAAC,wBAAgB,EAAE,4BAAgB,CAAC;GACrC,MAAM,CAoBlB"}
@@ -6,9 +6,9 @@ import { type TenantProvisioningHookPayload } from "./hooks";
6
6
  * handler, so no handler ever runs before it, whatever order the modules
7
7
  * registered in.
8
8
  *
9
- * Call it once per tenant, at its creation, and fire the hook through it
10
- * only. A handler that throws rejects the call, and the caller unwinds the
11
- * tenant it was creating.
9
+ * Fire the hook only through this function. A handler that throws rejects the
10
+ * call. Signup callers unwind the tenant they were creating. Default tenant
11
+ * provisioning retains its pending row and retries this function after startup.
12
12
  *
13
13
  * @param payload Tenant being provisioned and what the caller carries along
14
14
  */
@@ -12,9 +12,9 @@ const hooks_1 = require("./hooks");
12
12
  * handler, so no handler ever runs before it, whatever order the modules
13
13
  * registered in.
14
14
  *
15
- * Call it once per tenant, at its creation, and fire the hook through it
16
- * only. A handler that throws rejects the call, and the caller unwinds the
17
- * tenant it was creating.
15
+ * Fire the hook only through this function. A handler that throws rejects the
16
+ * call. Signup callers unwind the tenant they were creating. Default tenant
17
+ * provisioning retains its pending row and retries this function after startup.
18
18
  *
19
19
  * @param payload Tenant being provisioned and what the caller carries along
20
20
  */
@@ -544,6 +544,27 @@ export async function construct(): Promise<void> {
544
544
  }
545
545
  ```
546
546
 
547
+ The frontend reads the project, not the backend's registrations: `ajs dms dev`, `ajs dms build` and `ajs dms start` call the module's `frontendModule` function, named as `dmsFrontend` in the module's `package.json` (`"dmsFrontend": "dist/frontend-module.js"`). Keep the registration in that pure function of the module's config, and pass its result to `AddFrontendModule`; a module that only calls `AddFrontendModule` is left out of the frontend, in development as in production.
548
+
549
+ ```typescript
550
+ import path from "node:path";
551
+ import type { FrontendModuleFunction } from "@antelopejs/interface-dms/page";
552
+
553
+ interface BillingConfig {
554
+ prefix?: string;
555
+ }
556
+
557
+ export const frontendModule: FrontendModuleFunction<BillingConfig> = (
558
+ config,
559
+ ) => ({
560
+ name: "@acme/dms-billing",
561
+ sourcePath: path.join(__dirname, "../frontend-vue"),
562
+ renderer: { name: "vue", version: "3" },
563
+ configKey: "dmsBilling",
564
+ options: { prefix: config.prefix ?? "Billing" },
565
+ });
566
+ ```
567
+
547
568
  ### `AddFrontendModuleOptions`
548
569
 
549
570
  | Option | Type | Description |
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antelopejs/interface-dms",
3
- "version": "0.10.1",
3
+ "version": "0.10.3",
4
4
  "description": "Public AntelopeJS interfaces of the DMS: pages, components, permissions, tenancy, auth, notifications and HTML rendering.",
5
5
  "keywords": [
6
6
  "antelopejs",