cx 26.4.3 → 26.5.1

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 (74) hide show
  1. package/build/charts/axis/Axis.d.ts +8 -0
  2. package/build/charts/axis/Axis.d.ts.map +1 -1
  3. package/build/charts/axis/Axis.js +18 -1
  4. package/build/charts/axis/TimeAxis.js +1 -0
  5. package/build/data/AugmentedViewBase.d.ts.map +1 -1
  6. package/build/data/AugmentedViewBase.js +5 -4
  7. package/build/data/View.d.ts +0 -1
  8. package/build/data/View.d.ts.map +1 -1
  9. package/build/data/View.js +1 -3
  10. package/build/ui/Format.d.ts.map +1 -1
  11. package/build/ui/Format.js +26 -2
  12. package/build/util/Format.d.ts.map +1 -1
  13. package/build/util/Format.js +6 -0
  14. package/build/util/date/dateQuarter.d.ts +7 -0
  15. package/build/util/date/dateQuarter.d.ts.map +1 -0
  16. package/build/util/date/dateQuarter.js +8 -0
  17. package/build/util/date/dayBefore.d.ts +12 -0
  18. package/build/util/date/dayBefore.d.ts.map +1 -0
  19. package/build/util/date/dayBefore.js +15 -0
  20. package/build/util/date/index.d.ts +2 -0
  21. package/build/util/date/index.d.ts.map +1 -1
  22. package/build/util/date/index.js +2 -0
  23. package/build/widgets/form/DateTimePicker.d.ts.map +1 -1
  24. package/build/widgets/form/DateTimePicker.js +53 -31
  25. package/build/widgets/form/Field.d.ts.map +1 -1
  26. package/build/widgets/form/Field.js +2 -1
  27. package/build/widgets/form/LookupField.js +2 -1
  28. package/build/widgets/form/Wheel.d.ts +8 -0
  29. package/build/widgets/form/Wheel.d.ts.map +1 -1
  30. package/build/widgets/form/Wheel.js +30 -7
  31. package/build/widgets/grid/Grid.d.ts +1 -1
  32. package/build/widgets/grid/Grid.d.ts.map +1 -1
  33. package/dist/charts.css +6 -0
  34. package/dist/charts.js +18 -1
  35. package/dist/data.js +5 -4
  36. package/dist/manifest.js +772 -763
  37. package/dist/ui.js +33 -1
  38. package/dist/util.js +32 -0
  39. package/dist/widgets.css +9 -3
  40. package/dist/widgets.js +230 -174
  41. package/package.json +1 -1
  42. package/src/charts/RangeMarker.scss +3 -0
  43. package/src/charts/axis/Axis.tsx +31 -1
  44. package/src/charts/axis/TimeAxis.tsx +1 -0
  45. package/src/charts/index.scss +1 -0
  46. package/src/data/AugmentedViewBase.ts +5 -4
  47. package/src/data/View.ts +16 -61
  48. package/src/ui/DataProxy.ts +55 -55
  49. package/src/ui/Format.spec.ts +32 -0
  50. package/src/ui/Format.ts +27 -2
  51. package/src/ui/Rescope.ts +50 -50
  52. package/src/ui/adapter/ArrayAdapter.ts +229 -229
  53. package/src/ui/exprHelpers.ts +96 -96
  54. package/src/util/Format.spec.ts +11 -0
  55. package/src/util/Format.ts +7 -0
  56. package/src/util/date/dateQuarter.ts +8 -0
  57. package/src/util/date/dayBefore.ts +15 -0
  58. package/src/util/date/index.ts +2 -0
  59. package/src/widgets/Sandbox.ts +104 -104
  60. package/src/widgets/form/ColorField.scss +112 -112
  61. package/src/widgets/form/DateTimeField.scss +111 -111
  62. package/src/widgets/form/DateTimePicker.tsx +453 -392
  63. package/src/widgets/form/Field.tsx +2 -1
  64. package/src/widgets/form/LookupField.maps.scss +26 -26
  65. package/src/widgets/form/LookupField.scss +10 -3
  66. package/src/widgets/form/LookupField.tsx +4 -1
  67. package/src/widgets/form/MonthField.scss +113 -113
  68. package/src/widgets/form/NumberField.scss +72 -72
  69. package/src/widgets/form/Select.scss +104 -104
  70. package/src/widgets/form/TextField.scss +66 -66
  71. package/src/widgets/form/ValidationGroup.spec.tsx +30 -1
  72. package/src/widgets/form/Wheel.tsx +36 -7
  73. package/src/widgets/grid/Grid.tsx +1 -1
  74. package/src/widgets/nav/MenuItem.tsx +525 -525
@@ -50,6 +50,13 @@ export interface AxisConfig extends BoundedObjectConfig {
50
50
  labelMaxLineLength?: number;
51
51
  /** Set to true to hide the axis labels. */
52
52
  hideLabels?: boolean;
53
+ /**
54
+ * Set to `true` to drop a boundary (first/last) label, together with its tick,
55
+ * when the label would not fit within the chart and get clipped at the edge.
56
+ * Minor ticks are unaffected. Only affects horizontal axes. Defaults to `false`,
57
+ * except on `TimeAxis` where it defaults to `true`.
58
+ */
59
+ hideClippedLabels?: boolean;
53
60
  /** Set to true to hide the axis line. */
54
61
  hideLine?: boolean;
55
62
  /** Set to true to hide the axis ticks. */
@@ -94,6 +101,7 @@ export declare class Axis extends BoundedObject<AxisConfig, AxisInstance> {
94
101
  inverted: boolean;
95
102
  hidden: boolean;
96
103
  hideLabels: boolean;
104
+ hideClippedLabels: boolean;
97
105
  hideTicks: boolean;
98
106
  hideLine: boolean;
99
107
  tickSize: number;
@@ -1 +1 @@
1
- {"version":3,"file":"Axis.d.ts","sourceRoot":"","sources":["../../../src/charts/axis/Axis.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Axis.d.ts","sourceRoot":"","sources":["../../../src/charts/axis/Axis.tsx"],"names":[],"mappings":"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"}
@@ -27,6 +27,7 @@ export class Axis extends BoundedObject {
27
27
  super.declareData({
28
28
  anchors: undefined,
29
29
  hideLabels: undefined,
30
+ hideClippedLabels: undefined,
30
31
  hideLine: undefined,
31
32
  hideTicks: undefined,
32
33
  labelRotation: undefined,
@@ -75,9 +76,22 @@ export class Axis extends BoundedObject {
75
76
  var t = [];
76
77
  if (!!size && !data.hideLabels) {
77
78
  var ticks = calculator.getTicks([size]);
79
+ // A boundary label is dropped when it would be clipped at the chart edge.
80
+ // How far a label reaches toward an edge depends only on its text anchor
81
+ // and minLabelDistance, so it is resolved once here rather than per tick.
82
+ // Chart bounds (parentRect) are used rather than axis bounds, since an
83
+ // axis can be inset within its chart and one Svg may host several charts.
84
+ let chartBounds = instance.parentRect;
85
+ let clipBoundaryLabels = !this.vertical && !!data.hideClippedLabels && !!chartBounds;
86
+ let reach = minLabelDistance * 0.8;
87
+ let leftReach = data.labelAnchor == "end" ? reach : data.labelAnchor == "middle" ? reach / 2 : 0;
88
+ let rightReach = data.labelAnchor == "start" ? reach : data.labelAnchor == "middle" ? reach / 2 : 0;
78
89
  ticks.forEach((serie, si) => {
79
90
  serie.forEach((v, i) => {
80
91
  var s = calculator.map(v);
92
+ // Drop this boundary label (and its major tick) if it would be
93
+ // clipped at the chart edge; minor ticks render separately and stay.
94
+ let clipped = clipBoundaryLabels && (s + rightReach > chartBounds.r || s - leftReach < chartBounds.l);
81
95
  if (this.secondary) {
82
96
  x1 = this.vertical ? bounds.r + tickOffset : s;
83
97
  y1 = this.vertical ? s : bounds.t - tickOffset;
@@ -90,8 +104,10 @@ export class Axis extends BoundedObject {
90
104
  x2 = this.vertical ? bounds.l - tickOffset - tickSize : s;
91
105
  y2 = this.vertical ? s : bounds.b + tickOffset + tickSize;
92
106
  }
93
- if (!this.useGridlineTicks)
107
+ if (!this.useGridlineTicks && !clipped)
94
108
  t.push(`M ${x1} ${y1} L ${x2} ${y2}`);
109
+ if (clipped)
110
+ return;
95
111
  var x, y;
96
112
  let labelOffset = this.alternateLabelOffset != null && i % 2 == 1 ? this.alternateLabelOffset : this.labelOffset;
97
113
  if (this.secondary) {
@@ -195,6 +211,7 @@ Axis.prototype.secondary = false;
195
211
  Axis.prototype.inverted = false;
196
212
  Axis.prototype.hidden = false;
197
213
  Axis.prototype.hideLabels = false;
214
+ Axis.prototype.hideClippedLabels = false;
198
215
  Axis.prototype.hideTicks = false;
199
216
  Axis.prototype.hideLine = false;
200
217
  Axis.prototype.tickSize = 3;
@@ -112,6 +112,7 @@ TimeAxis.prototype.minLabelDistance = 60;
112
112
  TimeAxis.prototype.minTickDistance = 60;
113
113
  TimeAxis.prototype.minTickUnit = "second";
114
114
  TimeAxis.prototype.useLabelDistanceFormatOverrides = false;
115
+ TimeAxis.prototype.hideClippedLabels = true;
115
116
  TimeAxis.prototype.minLabelDistanceFormatOverrideDefaults = {
116
117
  [TimeFormats.fullDateAndTime]: 150,
117
118
  [TimeFormats.shortMonthDate]: 90,
@@ -1 +1 @@
1
- {"version":3,"file":"AugmentedViewBase.d.ts","sourceRoot":"","sources":["../../src/data/AugmentedViewBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAG1C,MAAM,WAAW,uBAAwB,SAAQ,UAAU;IACxD,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;CACnB;AAED,qBAAa,iBAAiB,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,IAAI,CAAC,CAAC,CAAC;IAC5C,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,IAAI,CAAC;gBAER,MAAM,EAAE,uBAAuB;IAI3C,OAAO;IAaP,SAAS,CAAC,WAAW,CAAC,eAAe,EAAE,GAAG,GAAG,GAAG;IAKhD,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG,GAAG,IAAI;IAInE,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAK1C,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG;IAK9C,SAAS,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO;IAI5D,SAAS,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAInD,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO;IAiB1C,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;CAanC"}
1
+ {"version":3,"file":"AugmentedViewBase.d.ts","sourceRoot":"","sources":["../../src/data/AugmentedViewBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAG1C,MAAM,WAAW,uBAAwB,SAAQ,UAAU;IACxD,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;CACnB;AAED,qBAAa,iBAAiB,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,IAAI,CAAC,CAAC,CAAC;IAC5C,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,IAAI,CAAC;gBAER,MAAM,EAAE,uBAAuB;IAI3C,OAAO;IAcP,SAAS,CAAC,WAAW,CAAC,eAAe,EAAE,GAAG,GAAG,GAAG;IAKhD,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG,GAAG,IAAI;IAInE,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAK1C,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG;IAK9C,SAAS,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO;IAI5D,SAAS,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAInD,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO;IAiB1C,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;CAanC"}
@@ -10,11 +10,12 @@ export class AugmentedViewBase extends View {
10
10
  let parentStoreData = this.store.getData();
11
11
  let result = this.getBaseData(parentStoreData);
12
12
  this.embedAugmentData(result, parentStoreData);
13
- this.cache.result = result;
14
- this.cache.parentStoreData = parentStoreData;
15
- this.cache.version = this.meta.version;
13
+ if (this.sealed) {
14
+ this.cache.result = result;
15
+ this.cache.version = this.meta.version;
16
+ }
16
17
  this.meta = this.store.meta;
17
- return this.cache.result;
18
+ return result;
18
19
  }
19
20
  getBaseData(parentStoreData) {
20
21
  if (this.sealed || this.immutable || this.store.sealed)
@@ -64,7 +64,6 @@ export declare class View<D = any> implements ViewMethods<D> {
64
64
  result?: any;
65
65
  itemIndex?: number;
66
66
  key?: string;
67
- parentStoreData?: any;
68
67
  };
69
68
  notificationsSuspended: number;
70
69
  dirty: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"View.d.ts","sourceRoot":"","sources":["../../src/data/View.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"View.d.ts","sourceRoot":"","sources":["../../src/data/View.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B,KAAK,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC;AAE7B,MAAM,WAAW,UAAU;IACxB,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IACjD,OAAO,IAAI,CAAC,CAAC;IAEb,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;IAC1C,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC;IACnD,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC,GAAG,OAAO,CAAC;IAEhE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC;IACrC,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC;IACxD,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC;IAElD,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,GAAG,CAAC;IACrB,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,GAAG,EAAE,CAAC;IAC1B,GAAG,CAAC,GAAG,KAAK,EAAE,IAAI,EAAE,GAAG,GAAG,EAAE,CAAC;IAC7B,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAClC,GAAG,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,GAAG,KAAK,EAAE;SAAG,CAAC,IAAI,MAAM,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAAE,GAAG,CAAC,CAAC;IAC3E,GAAG,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,KAAK,EAAE;SAAG,CAAC,IAAI,MAAM,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAAE,GAAG,CAAC,CAAC;IAExE;;;;OAIG;IACH,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC;IAC5B,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAC/B,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAClC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;IAC3C,MAAM,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,GAAG,KAAK,EAAE;SAAG,CAAC,IAAI,MAAM,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAAE,GAAG,OAAO,CAAC;IACpF,MAAM,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,KAAK,EAAE;SAC3B,CAAC,IAAI,MAAM,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACrC,GAAG,OAAO,CAAC;IAEZ,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC;IAC5B,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IAE9C,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;IAC7E,MAAM,CAAC,CAAC,EAAE,CAAC,SAAS,GAAG,EAAE,EACtB,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,EACtB,QAAQ,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,EAC5C,GAAG,IAAI,EAAE,CAAC,GACV,OAAO,CAAC;IACX,MAAM,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,QAAQ,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC;IAC7F,MAAM,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC,KAAK,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC;IAE3G;;OAEG;IACH,MAAM,CAAC,QAAQ,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IACrF,MAAM,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC;IAC5G,MAAM,CAAC,CAAC,EAAE,CAAC,SAAS,GAAG,EAAE,EACtB,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,EACtB,QAAQ,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,KAAK,IAAI,EAC/C,GAAG,IAAI,EAAE,CAAC,GACV,OAAO,CAAC;IAEX,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;CAC1E;AAED,qBAAa,IAAI,CAAC,CAAC,GAAG,GAAG,CAAE,YAAW,WAAW,CAAC,CAAC,CAAC;IACzC,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,IAAI,EAAE,GAAG,CAAC;IACV,MAAM,EAAE,OAAO,CAAC;IACxB,KAAK,EAAE;QACJ,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,GAAG,CAAC;QACX,MAAM,CAAC,EAAE,GAAG,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,GAAG,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IACF,sBAAsB,EAAE,MAAM,CAAK;IACnC,KAAK,EAAE,OAAO,CAAS;gBAEX,MAAM,CAAC,EAAE,UAAU;IAQ/B,OAAO,IAAI,CAAC;IAIZ,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO;IACzC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO;IAClD,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC,GAAG,OAAO;IAa/D,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO;IACpC,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO;IACvD,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO;IAWjD,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,GAAG,OAAO;IACnC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO;IAM9D,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,GAAG,OAAO;IACnC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO;IAS9D,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO;IAK1C,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAC3B,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO;IAC9B,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO;IACjC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO;IAC1C,MAAM,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,GAAG,KAAK,EAAE;SAAG,CAAC,IAAI,MAAM,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAAE,GAAG,OAAO;IACnF,MAAM,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,KAAK,EAAE;SAC3B,CAAC,IAAI,MAAM,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACrC,GAAG,OAAO;IAUX,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAMjC,KAAK,IAAI,IAAI;IAMb,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,GAAG;IACpB,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,GAAG,EAAE;IACzB,GAAG,CAAC,GAAG,KAAK,EAAE,IAAI,EAAE,GAAG,GAAG,EAAE;IAC5B,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC;IACjC,GAAG,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,GAAG,KAAK,EAAE;SAAG,CAAC,IAAI,MAAM,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAAE,GAAG,CAAC;IAC1E,GAAG,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,KAAK,EAAE;SAAG,CAAC,IAAI,MAAM,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAAE,GAAG,CAAC;IAWvE,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAC3B,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,OAAO;IAK7C,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO;IAC5E,MAAM,CAAC,CAAC,EAAE,CAAC,SAAS,GAAG,EAAE,EACtB,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,EACtB,QAAQ,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,EAC5C,GAAG,IAAI,EAAE,CAAC,GACV,OAAO;IACV,MAAM,CAAC,QAAQ,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,OAAO;IACjF,MAAM,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC,KAAK,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,OAAO;IAO1G,MAAM,CAAC,QAAQ,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO;IACpF,MAAM,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,OAAO;IAC3G,MAAM,CAAC,CAAC,EAAE,CAAC,SAAS,GAAG,EAAE,EACtB,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,EACtB,QAAQ,EAAE,CAAC,YAAY,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,KAAK,IAAI,EAC/C,GAAG,IAAI,EAAE,CAAC,GACV,OAAO;IAOV,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,IAAI,GAAG,OAAO;IAMhD,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,IAAI,GAAG,OAAO;IAMnD,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAK3B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAM7B,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,KAAK,IAAI,GAAG,MAAM,IAAI;IAMxD,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO;IAIxC,QAAQ,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI;IAM3B,OAAO;IAIP,QAAQ,CAAC,KAAK,EAAE,IAAI;IAKpB,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAQvE,UAAU,IAAI,WAAW,CAAC,CAAC,CAAC;CAa9B"}
@@ -22,9 +22,7 @@ export class View {
22
22
  if (typeof path == "object" && path != null) {
23
23
  let changed = false;
24
24
  for (let key in path)
25
- if (path.hasOwnProperty(key) &&
26
- this.get(key) === undefined &&
27
- this.setItem(key, path[key]))
25
+ if (path.hasOwnProperty(key) && this.get(key) === undefined && this.setItem(key, path[key]))
28
26
  changed = true;
29
27
  return changed;
30
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Format.d.ts","sourceRoot":"","sources":["../../src/ui/Format.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,IAAI,GAAG,EAA0D,MAAM,gBAAgB,CAAC;AAMvG,eAAO,MAAM,MAAM,YAAM,CAAC;AAI1B,wBAAgB,4BAA4B,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,GAAG,CAOhE;AAED,wBAAgB,gCAAgC,SAuF/C"}
1
+ {"version":3,"file":"Format.d.ts","sourceRoot":"","sources":["../../src/ui/Format.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,IAAI,GAAG,EAA0D,MAAM,gBAAgB,CAAC;AAMvG,eAAO,MAAM,MAAM,YAAM,CAAC;AAuB1B,wBAAgB,4BAA4B,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,GAAG,CAOhE;AAED,wBAAgB,gCAAgC,SA6F/C"}
@@ -1,10 +1,29 @@
1
1
  import { Culture, getCurrentCultureCache } from "./Culture";
2
2
  import { Format as Fmt, resolveMinMaxFractionDigits, setGetFormatCacheCallback } from "../util/Format";
3
3
  import { setGetExpressionCacheCallback } from "../data/Expression";
4
- import { setGetStringTemplateCacheCallback } from "../data/StringTemplate";
5
- import { parseDateInvariant } from "../util";
4
+ import { setGetStringTemplateCacheCallback, StringTemplate } from "../data/StringTemplate";
5
+ import { dateQuarter, dayBefore, parseDateInvariant } from "../util";
6
6
  import { GlobalCacheIdentifier } from "../util/GlobalCacheIdentifier";
7
7
  export const Format = Fmt;
8
+ // The `quarter` formatter renders a calendar quarter via a string-template
9
+ // pattern with `{q}` (quarter number), `{yyyy}` and `{yy}` (year) placeholders.
10
+ // Placeholders are case-insensitive (`{Q}`, `{YYYY}`, `{YY}` work too). It lives
11
+ // here rather than in util/Format because it depends on StringTemplate from the
12
+ // data layer, which util/ cannot import. It is registered eagerly since it does
13
+ // not depend on culture settings.
14
+ Fmt.registerFactory("quarter", (fmt, pattern, mode) => {
15
+ let exclusive = mode === "exclusive" || mode === "ex" || mode === "e";
16
+ let template = StringTemplate.get(pattern || "Q{q} {yyyy}");
17
+ return (value) => {
18
+ let date = parseDateInvariant(value);
19
+ if (exclusive)
20
+ date = dayBefore(date);
21
+ let q = dateQuarter(date);
22
+ let yyyy = date.getFullYear();
23
+ let yy = String(yyyy % 100).padStart(2, "0");
24
+ return template({ q, Q: q, yyyy, YYYY: yyyy, yy, YY: yy });
25
+ };
26
+ });
8
27
  let cultureSensitiveFormatsRegistered = false;
9
28
  export function resolveNumberFormattingFlags(flags) {
10
29
  if (!flags)
@@ -74,6 +93,11 @@ export function enableCultureSensitiveFormatting() {
74
93
  let formatter = culture.getFormatter(format);
75
94
  return (value) => formatter.format(parseDateInvariant(value));
76
95
  });
96
+ Fmt.registerFactory(["dayBefore", "daybefore"], (fmt, format = "yyyyMd hhmm") => {
97
+ let culture = Culture.getDateTimeCulture();
98
+ let formatter = culture.getFormatter(format);
99
+ return (value) => formatter.format(dayBefore(parseDateInvariant(value)));
100
+ });
77
101
  setGetFormatCacheCallback(() => {
78
102
  let cache = getCurrentCultureCache();
79
103
  if (!cache.formatCache)
@@ -1 +1 @@
1
- {"version":3,"file":"Format.d.ts","sourceRoot":"","sources":["../../src/util/Format.ts"],"names":[],"mappings":"AAUA,KAAK,SAAS,GAAG,CAAC,KAAK,EAAE,GAAG,KAAK,MAAM,CAAC;AAsMxC,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAI,CAEzF;AAWD,qBAAa,MAAM;IAChB,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAK5C,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS;IAIvC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI;IAItE,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,SAAS,GAAG,IAAI;CAIjG;AAED,wBAAgB,2BAA2B,CACxC,qBAAqB,EAAE,MAAM,EAC7B,qBAAqB,EAAE,MAAM,GAC7B;IAAE,qBAAqB,EAAE,MAAM,CAAC;IAAC,qBAAqB,EAAE,MAAM,CAAA;CAAE,CAclE;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAMlE"}
1
+ {"version":3,"file":"Format.d.ts","sourceRoot":"","sources":["../../src/util/Format.ts"],"names":[],"mappings":"AAWA,KAAK,SAAS,GAAG,CAAC,KAAK,EAAE,GAAG,KAAK,MAAM,CAAC;AA4MxC,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAI,CAEzF;AAWD,qBAAa,MAAM;IAChB,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAK5C,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS;IAIvC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI;IAItE,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,SAAS,GAAG,IAAI;CAIjG;AAED,wBAAgB,2BAA2B,CACxC,qBAAqB,EAAE,MAAM,EAC7B,qBAAqB,EAAE,MAAM,GAC7B;IAAE,qBAAqB,EAAE,MAAM,CAAC;IAAC,qBAAqB,EAAE,MAAM,CAAA;CAAE,CAclE;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAMlE"}
@@ -5,6 +5,7 @@ import { isUndefined } from "../util/isUndefined";
5
5
  import { isArray } from "../util/isArray";
6
6
  import { capitalize } from "./capitalize";
7
7
  import { parseDateInvariant } from "./date/parseDateInvariant";
8
+ import { dayBefore } from "./date/dayBefore";
8
9
  const defaultFormatter = (v) => v.toString();
9
10
  let formatFactory = {
10
11
  string: function () {
@@ -76,6 +77,10 @@ let formatFactory = {
76
77
  let time = formatFactory.time();
77
78
  return (value) => date(value) + " " + time(value);
78
79
  },
80
+ dayBefore: function () {
81
+ let datetime = formatFactory.datetime();
82
+ return (value) => datetime(dayBefore(parseDateInvariant(value)));
83
+ },
79
84
  ellipsis: function (part0, length, where) {
80
85
  length = Number(length);
81
86
  if (!(length > 3))
@@ -142,6 +147,7 @@ formatFactory.ps = formatFactory.percentageSign;
142
147
  formatFactory.d = formatFactory.date;
143
148
  formatFactory.t = formatFactory.time;
144
149
  formatFactory.dt = formatFactory.datetime;
150
+ formatFactory.daybefore = formatFactory.dayBefore;
145
151
  formatFactory.zeropad = formatFactory.zeroPad;
146
152
  formatFactory.leftpad = formatFactory.leftPad;
147
153
  formatFactory.capitalize = formatFactory.capitalize;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Returns the calendar quarter (1-4) the given date falls in.
3
+ * @param date
4
+ * @returns {number}
5
+ */
6
+ export declare function dateQuarter(date: Date): number;
7
+ //# sourceMappingURL=dateQuarter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dateQuarter.d.ts","sourceRoot":"","sources":["../../../src/util/date/dateQuarter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAE9C"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Returns the calendar quarter (1-4) the given date falls in.
3
+ * @param date
4
+ * @returns {number}
5
+ */
6
+ export function dateQuarter(date) {
7
+ return Math.floor(date.getMonth() / 3) + 1;
8
+ }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Returns a new `Date` representing the calendar day before the given date,
3
+ * keeping the same time of day. Month and year boundaries are handled
4
+ * automatically. The input is not mutated.
5
+ *
6
+ * Useful for displaying the exclusive end of a date range as an inclusive
7
+ * value, e.g. a period ending at `2021-01-01` shown as `Dec 2020`.
8
+ * @param date
9
+ * @returns {Date}
10
+ */
11
+ export declare function dayBefore(date: Date): Date;
12
+ //# sourceMappingURL=dayBefore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dayBefore.d.ts","sourceRoot":"","sources":["../../../src/util/date/dayBefore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAI1C"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Returns a new `Date` representing the calendar day before the given date,
3
+ * keeping the same time of day. Month and year boundaries are handled
4
+ * automatically. The input is not mutated.
5
+ *
6
+ * Useful for displaying the exclusive end of a date range as an inclusive
7
+ * value, e.g. a period ending at `2021-01-01` shown as `Dec 2020`.
8
+ * @param date
9
+ * @returns {Date}
10
+ */
11
+ export function dayBefore(date) {
12
+ let result = new Date(date.getTime());
13
+ result.setDate(result.getDate() - 1);
14
+ return result;
15
+ }
@@ -1,4 +1,6 @@
1
1
  export * from "./dateDiff";
2
+ export * from "./dateQuarter";
3
+ export * from "./dayBefore";
2
4
  export * from "./zeroTime";
3
5
  export * from "./monthStart";
4
6
  export * from "./lowerBoundCheck";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/util/date/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/util/date/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC"}
@@ -1,4 +1,6 @@
1
1
  export * from "./dateDiff";
2
+ export * from "./dateQuarter";
3
+ export * from "./dayBefore";
2
4
  export * from "./zeroTime";
3
5
  export * from "./monthStart";
4
6
  export * from "./lowerBoundCheck";
@@ -1 +1 @@
1
- {"version":3,"file":"DateTimePicker.d.ts","sourceRoot":"","sources":["../../../src/widgets/form/DateTimePicker.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAQ,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAO/C,qBAAa,cAAe,SAAQ,MAAM;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC,CAAC;IACrD,QAAQ,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC;IAC9F,SAAS,EAAE,MAAM,CAAC;IAE1B,WAAW,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI;IAMrD,MAAM,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS;CAWrF"}
1
+ {"version":3,"file":"DateTimePicker.d.ts","sourceRoot":"","sources":["../../../src/widgets/form/DateTimePicker.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAQ,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAO/C,qBAAa,cAAe,SAAQ,MAAM;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC,CAAC;IACrD,QAAQ,CAAC,EACpB,MAAM,GACN,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC;IAC/D,SAAS,EAAE,MAAM,CAAC;IAE1B,WAAW,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI;IAMrD,MAAM,CACJ,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,MAAM,GACV,KAAK,CAAC,SAAS;CAWnB"}
@@ -24,18 +24,27 @@ DateTimePicker.prototype.size = 3;
24
24
  DateTimePicker.prototype.autoFocus = false;
25
25
  DateTimePicker.prototype.segment = "datetime";
26
26
  DateTimePicker.prototype.showSeconds = false;
27
+ // Builds the option spans for a numeric wheel — one zero-padded span per value.
28
+ // Pass the result to a WheelComponent with `cycle` set to make it scroll
29
+ // endlessly; centre the current value by passing `index = value + range`.
30
+ function buildNumberWheel(range, startAt) {
31
+ return Array.from({ length: range }, (_, j) => (_jsx("span", { children: String(j + startAt).padStart(2, "0") }, j)));
32
+ }
27
33
  class DateTimePickerComponent extends VDOM.Component {
28
34
  el;
29
35
  keyDownPipes;
30
36
  constructor(props) {
31
37
  super(props);
32
- let date = props.data.value ? parseDateInvariant(props.data.value) : new Date();
38
+ let date = props.data.value
39
+ ? parseDateInvariant(props.data.value)
40
+ : new Date();
33
41
  if (isNaN(date.getTime()))
34
42
  date = new Date();
35
43
  this.state = {
36
44
  date: date,
37
45
  activeWheel: null,
38
46
  };
47
+ this.century = (date.getFullYear() / 100) | 0;
39
48
  let { widget } = props.instance;
40
49
  let pickerWidget = widget;
41
50
  this.handleChange = this.handleChange.bind(this);
@@ -55,7 +64,9 @@ class DateTimePickerComponent extends VDOM.Component {
55
64
  this.keyDownPipes = {};
56
65
  }
57
66
  UNSAFE_componentWillReceiveProps(props) {
58
- let date = props.data.value ? parseDateInvariant(props.data.value) : new Date();
67
+ let date = props.data.value
68
+ ? parseDateInvariant(props.data.value)
69
+ : new Date();
59
70
  if (isNaN(date.getTime()))
60
71
  date = new Date();
61
72
  this.setState({ date });
@@ -98,75 +109,86 @@ class DateTimePickerComponent extends VDOM.Component {
98
109
  let date = this.state.date;
99
110
  let culture = Culture.getDateTimeCulture();
100
111
  let monthNames = culture.getMonthNames("short");
101
- let years = [];
102
- for (let y = 1970; y <= 2050; y++)
103
- years.push(_jsx("span", { children: y }, y));
104
- let days = [];
105
- let start = new Date(date.getFullYear(), date.getMonth(), 1);
106
- while (start.getMonth() === date.getMonth()) {
107
- let day = start.getDate();
108
- days.push(_jsx("span", { children: day < 10 ? "0" + day : day }, day));
109
- start.setDate(start.getDate() + 1);
110
- }
111
- let hours = [];
112
- for (let h = 0; h < 24; h++) {
113
- hours.push(_jsx("span", { children: h < 10 ? "0" + h : h }, h));
112
+ // Years: a window spanning the current century, rebuilt when it changes.
113
+ let currentCentury = (date.getFullYear() / 100) | 0;
114
+ if (!this.years || this.century !== currentCentury) {
115
+ this.century = currentCentury;
116
+ this.firstYear = currentCentury * 100 - 3;
117
+ let lastYear = (currentCentury + 1) * 100 + 5;
118
+ this.years = [];
119
+ for (let y = this.firstYear; y <= lastYear; y++)
120
+ this.years.push(_jsx("span", { children: y }, y));
114
121
  }
115
- let minutes = [];
116
- for (let m = 0; m < 60; m++) {
117
- minutes.push(_jsx("span", { children: m < 10 ? "0" + m : m }, m));
122
+ let years = this.years;
123
+ // Day/hour/minute wheels use a 3x buffer (see buildNumberWheel). The day
124
+ // buffer depends on the month length, so it is rebuilt when that changes.
125
+ const numberOfDaysInMonth = new Date(date.getFullYear(), date.getMonth() + 1, 0).getDate();
126
+ if (!this.days || this.numberOfDaysInMonth !== numberOfDaysInMonth) {
127
+ this.numberOfDaysInMonth = numberOfDaysInMonth;
128
+ this.days = buildNumberWheel(numberOfDaysInMonth, 1);
118
129
  }
130
+ let days = this.days;
131
+ if (!this.hours)
132
+ this.hours = buildNumberWheel(24, 0);
133
+ let hours = this.hours;
134
+ if (!this.minutes)
135
+ this.minutes = buildNumberWheel(60, 0);
136
+ let minutes = this.minutes;
119
137
  return (_jsxs("div", { tabIndex: 0, ref: (el) => {
120
138
  this.el = el;
121
- }, className: data.classNames, onFocus: this.onFocus, onBlur: this.onBlur, onKeyDown: this.onKeyDown, children: [this.wheels.year && (_jsx(WheelComponent, { size: size, CSS: CSS, active: this.state.activeWheel === "year", baseClass: baseClass + "-wheel", index: date.getFullYear() - 1970, onChange: (newIndex) => {
139
+ }, className: data.classNames, onFocus: this.onFocus, onBlur: this.onBlur, onKeyDown: this.onKeyDown, children: [this.wheels.year && (_jsx(WheelComponent, { size: size, CSS: CSS, active: this.state.activeWheel === "year", baseClass: baseClass + "-wheel", index: date.getFullYear() - this.firstYear, onChange: (newIndex) => {
122
140
  this.setState((state) => ({
123
- date: this.setDateComponent(this.state.date, "year", newIndex + 1970),
141
+ date: this.setDateComponent(state.date, "year", newIndex + this.firstYear),
124
142
  }), this.handleChange);
125
143
  }, onPipeKeyDown: (kd) => {
126
144
  this.keyDownPipes["year"] = kd;
127
145
  }, onMouseDown: () => {
128
146
  this.setState({ activeWheel: "year" });
129
- }, children: years })), this.wheels.year && this.wheels.month && _jsx("span", { children: "-" }), this.wheels.month && (_jsx(WheelComponent, { size: size, CSS: CSS, active: this.state.activeWheel === "month", baseClass: baseClass + "-wheel", index: date.getMonth(), onChange: (newIndex) => {
147
+ }, children: years }, `years-${this.century}`)), this.wheels.year && this.wheels.month && _jsx("span", { children: "-" }), this.wheels.month && (_jsx(WheelComponent, { size: size, CSS: CSS, active: this.state.activeWheel === "month", baseClass: baseClass + "-wheel", index: date.getMonth(), onChange: (newIndex) => {
130
148
  this.setState((state) => ({
131
- date: this.setDateComponent(this.state.date, "month", newIndex),
149
+ date: this.setDateComponent(state.date, "month", newIndex),
132
150
  }), this.handleChange);
133
151
  }, onPipeKeyDown: (kd) => {
134
152
  this.keyDownPipes["month"] = kd;
135
153
  }, onMouseDown: () => {
136
154
  this.setState({ activeWheel: "month" });
137
- }, children: monthNames.map((m, i) => (_jsx("span", { children: m }, i))) })), this.wheels.month && this.wheels.date && _jsx("span", { children: "-" }), this.wheels.date && (_jsx(WheelComponent, { size: size, CSS: CSS, active: this.state.activeWheel === "date", baseClass: baseClass + "-wheel", index: date.getDate() - 1, onChange: (newIndex) => {
155
+ }, children: monthNames.map((m, i) => (_jsx("span", { children: m }, i))) })), this.wheels.month && this.wheels.date && _jsx("span", { children: "-" }), this.wheels.date && (_jsx(WheelComponent, { size: size, CSS: CSS, cycle: true, active: this.state.activeWheel === "date", baseClass: baseClass + "-wheel", index: date.getDate() - 1 + this.numberOfDaysInMonth, onChange: (rawIndex) => {
156
+ let day = rawIndex % this.numberOfDaysInMonth;
138
157
  this.setState((state) => ({
139
- date: this.setDateComponent(this.state.date, "date", newIndex + 1),
158
+ date: this.setDateComponent(state.date, "date", day + 1),
140
159
  }), this.handleChange);
141
160
  }, onPipeKeyDown: (kd) => {
142
161
  this.keyDownPipes["date"] = kd;
143
162
  }, onMouseDown: () => {
144
163
  this.setState({ activeWheel: "date" });
145
- }, children: days })), this.wheels.hours && this.wheels.year && _jsx("span", { className: CSS.element(baseClass, "spacer") }), this.wheels.hours && (_jsx(WheelComponent, { size: size, CSS: CSS, active: this.state.activeWheel === "hours", baseClass: baseClass + "-wheel", index: date.getHours(), onChange: (newIndex) => {
164
+ }, children: days }, "date")), this.wheels.hours && this.wheels.year && (_jsx("span", { className: CSS.element(baseClass, "spacer") })), this.wheels.hours && (_jsx(WheelComponent, { size: size, CSS: CSS, cycle: true, active: this.state.activeWheel === "hours", baseClass: baseClass + "-wheel", index: date.getHours() + 24, onChange: (rawIndex) => {
165
+ let hour = rawIndex % 24;
146
166
  this.setState((state) => ({
147
- date: this.setDateComponent(this.state.date, "hours", newIndex),
167
+ date: this.setDateComponent(state.date, "hours", hour),
148
168
  }), this.handleChange);
149
169
  }, onPipeKeyDown: (kd) => {
150
170
  this.keyDownPipes["hours"] = kd;
151
171
  }, onMouseDown: () => {
152
172
  this.setState({ activeWheel: "hours" });
153
- }, children: hours })), this.wheels.hours && this.wheels.minutes && _jsx("span", { children: ":" }), this.wheels.minutes && (_jsx(WheelComponent, { size: size, CSS: CSS, baseClass: baseClass + "-wheel", active: this.state.activeWheel === "minutes", index: date.getMinutes(), onChange: (newIndex) => {
173
+ }, children: hours }, "hours")), this.wheels.hours && this.wheels.minutes && _jsx("span", { children: ":" }), this.wheels.minutes && (_jsx(WheelComponent, { size: size, CSS: CSS, cycle: true, baseClass: baseClass + "-wheel", active: this.state.activeWheel === "minutes", index: date.getMinutes() + 60, onChange: (rawIndex) => {
174
+ let minute = rawIndex % 60;
154
175
  this.setState((state) => ({
155
- date: this.setDateComponent(this.state.date, "minutes", newIndex),
176
+ date: this.setDateComponent(state.date, "minutes", minute),
156
177
  }), this.handleChange);
157
178
  }, onPipeKeyDown: (kd) => {
158
179
  this.keyDownPipes["minutes"] = kd;
159
180
  }, onMouseDown: () => {
160
181
  this.setState({ activeWheel: "minutes" });
161
- }, children: minutes })), this.wheels.minutes && this.wheels.seconds && _jsx("span", { children: ":" }), this.wheels.seconds && (_jsx(WheelComponent, { size: size, CSS: CSS, baseClass: baseClass + "-wheel", active: this.state.activeWheel === "seconds", index: date.getSeconds(), onChange: (newIndex) => {
182
+ }, children: minutes }, "minutes")), this.wheels.minutes && this.wheels.seconds && _jsx("span", { children: ":" }), this.wheels.seconds && (_jsx(WheelComponent, { size: size, CSS: CSS, cycle: true, baseClass: baseClass + "-wheel", active: this.state.activeWheel === "seconds", index: date.getSeconds() + 60, onChange: (rawIndex) => {
183
+ let second = rawIndex % 60;
162
184
  this.setState((state) => ({
163
- date: this.setDateComponent(this.state.date, "seconds", newIndex),
185
+ date: this.setDateComponent(state.date, "seconds", second),
164
186
  }), this.handleChange);
165
187
  }, onPipeKeyDown: (kd) => {
166
188
  this.keyDownPipes["seconds"] = kd;
167
189
  }, onMouseDown: () => {
168
190
  this.setState({ activeWheel: "seconds" });
169
- }, children: minutes }))] }));
191
+ }, children: minutes }, "seconds"))] }));
170
192
  }
171
193
  componentDidMount() {
172
194
  let { widget } = this.props.instance;
@@ -1 +1 @@
1
- {"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../../src/widgets/form/Field.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../../src/widgets/form/Field.tsx"],"names":[],"mappings":"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"}
@@ -124,6 +124,7 @@ export class Field extends PureContainerBase {
124
124
  data._readOnly = data.readOnly;
125
125
  data._viewMode = data.mode === "view" || data.viewMode;
126
126
  data._tabOnEnterKey = data.tabOnEnterKey;
127
+ data._visited = data.visited;
127
128
  data.validationValue = this.getValidationValue(data);
128
129
  instance.parentDisabled = context.parentDisabled;
129
130
  instance.parentReadOnly = context.parentReadOnly;
@@ -148,7 +149,7 @@ export class Field extends PureContainerBase {
148
149
  data.readOnly = coalesce(context.parentStrict ? context.parentReadOnly : null, data._readOnly, context.parentReadOnly);
149
150
  data.viewMode = coalesce(context.parentStrict ? context.parentViewMode : null, data._viewMode, context.parentViewMode);
150
151
  data.tabOnEnterKey = coalesce(context.parentStrict ? context.parentTabOnEnterKey : null, data._tabOnEnterKey, context.parentTabOnEnterKey);
151
- data.visited = coalesce(context.parentStrict ? context.parentVisited : null, data.visited, context.parentVisited);
152
+ data.visited = coalesce(context.parentStrict ? context.parentVisited : null, data._visited, context.parentVisited);
152
153
  if (!data.error && !data.disabled && !data.viewMode)
153
154
  this.validate(context, instance);
154
155
  if (data.visited && !state?.visited) {
@@ -492,9 +492,10 @@ class LookupComponent extends VDOM.Component {
492
492
  }
493
493
  }
494
494
  else {
495
- text = !data.empty
495
+ let content = !data.empty
496
496
  ? data.text || this.getPlaceholder()
497
497
  : this.getPlaceholder(data.placeholder);
498
+ text = (_jsx("span", { className: CSS.element(baseClass, "text"), children: content }));
498
499
  }
499
500
  let states = {
500
501
  visited: state.visited,
@@ -19,6 +19,9 @@ export declare class Wheel extends PureContainerBase<WheelConfig> {
19
19
  declareData(...args: Record<string, unknown>[]): void;
20
20
  render(context: RenderingContext, instance: Instance, key: string): React.ReactNode;
21
21
  }
22
+ /** A cyclic wheel renders its option list this many times, leaving scroll
23
+ * headroom on both sides of the centre copy. */
24
+ export declare const WHEEL_BUFFER_COPIES = 3;
22
25
  export interface WheelComponentProps {
23
26
  size: number;
24
27
  children: React.ReactNode[];
@@ -28,6 +31,11 @@ export interface WheelComponentProps {
28
31
  className?: string;
29
32
  style?: React.CSSProperties;
30
33
  index?: number;
34
+ /** Set to render the option list as an endlessly scrolling wheel. The list
35
+ * is rendered `WHEEL_BUFFER_COPIES` times and the wheel snaps to whichever
36
+ * copy of the selected value is nearest its current position, so a wrap
37
+ * scrolls seamlessly into the adjacent identical copy. */
38
+ cycle?: boolean;
31
39
  onChange: (newIndex: number) => void;
32
40
  onPipeKeyDown?: (fn: (e: React.KeyboardEvent) => void) => void;
33
41
  onMouseDown?: () => void;