@elaraai/e3-ui 1.0.97 → 1.0.98

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 (304) hide show
  1. package/dist/src/allocation/index.d.ts +258 -7
  2. package/dist/src/allocation/index.d.ts.map +1 -1
  3. package/dist/src/allocation/index.js +30 -1
  4. package/dist/src/allocation/index.js.map +1 -1
  5. package/dist/src/allocation/types.d.ts +41 -0
  6. package/dist/src/allocation/types.d.ts.map +1 -1
  7. package/dist/src/allocation/types.js +35 -0
  8. package/dist/src/allocation/types.js.map +1 -1
  9. package/dist/src/bind/data-indexed.d.ts +31 -4
  10. package/dist/src/bind/data-indexed.d.ts.map +1 -1
  11. package/dist/src/bind/data-indexed.js +54 -10
  12. package/dist/src/bind/data-indexed.js.map +1 -1
  13. package/dist/src/calendar/index.d.ts +540 -14
  14. package/dist/src/calendar/index.d.ts.map +1 -1
  15. package/dist/src/calendar/index.js +43 -7
  16. package/dist/src/calendar/index.js.map +1 -1
  17. package/dist/src/calendar/paged.d.ts +89 -0
  18. package/dist/src/calendar/paged.d.ts.map +1 -0
  19. package/dist/src/calendar/paged.js +148 -0
  20. package/dist/src/calendar/paged.js.map +1 -0
  21. package/dist/src/flowchart/payload.d.ts +156 -0
  22. package/dist/src/flowchart/payload.d.ts.map +1 -1
  23. package/dist/src/flowchart/window.d.ts +12 -0
  24. package/dist/src/flowchart/window.d.ts.map +1 -1
  25. package/dist/src/index.d.ts +11 -2
  26. package/dist/src/index.d.ts.map +1 -1
  27. package/dist/src/index.js +19 -0
  28. package/dist/src/index.js.map +1 -1
  29. package/dist/src/internal.d.ts +11 -5
  30. package/dist/src/internal.d.ts.map +1 -1
  31. package/dist/src/internal.js +28 -7
  32. package/dist/src/internal.js.map +1 -1
  33. package/dist/src/plan/builders.d.ts +12 -8
  34. package/dist/src/plan/builders.d.ts.map +1 -1
  35. package/dist/src/plan/builders.js +12 -8
  36. package/dist/src/plan/builders.js.map +1 -1
  37. package/dist/src/plan/event-rows.d.ts +228 -156
  38. package/dist/src/plan/event-rows.d.ts.map +1 -1
  39. package/dist/src/plan/event-rows.js +239 -54
  40. package/dist/src/plan/event-rows.js.map +1 -1
  41. package/dist/src/plan/index.d.ts +5 -0
  42. package/dist/src/plan/index.d.ts.map +1 -1
  43. package/dist/src/plan/index.js +3 -0
  44. package/dist/src/plan/index.js.map +1 -1
  45. package/dist/src/plan/ir.d.ts +70 -0
  46. package/dist/src/plan/ir.d.ts.map +1 -1
  47. package/dist/src/plan/ordered-source.d.ts +2038 -1
  48. package/dist/src/plan/ordered-source.d.ts.map +1 -1
  49. package/dist/src/plan/ordered-source.js +19 -11
  50. package/dist/src/plan/ordered-source.js.map +1 -1
  51. package/dist/src/plan/plan.d.ts +513 -32
  52. package/dist/src/plan/plan.d.ts.map +1 -1
  53. package/dist/src/plan/plan.js +119 -32
  54. package/dist/src/plan/plan.js.map +1 -1
  55. package/dist/src/plan/root.d.ts +4 -2
  56. package/dist/src/plan/root.d.ts.map +1 -1
  57. package/dist/src/plan/root.js +6 -4
  58. package/dist/src/plan/root.js.map +1 -1
  59. package/dist/src/plan/series.d.ts +13 -0
  60. package/dist/src/plan/series.d.ts.map +1 -1
  61. package/dist/src/plan/series.js +61 -7
  62. package/dist/src/plan/series.js.map +1 -1
  63. package/dist/src/plan/types.d.ts +14 -0
  64. package/dist/src/plan/types.d.ts.map +1 -1
  65. package/dist/src/plan/types.js +8 -0
  66. package/dist/src/plan/types.js.map +1 -1
  67. package/dist/src/roster/index.d.ts +608 -20
  68. package/dist/src/roster/index.d.ts.map +1 -1
  69. package/dist/src/roster/index.js +103 -29
  70. package/dist/src/roster/index.js.map +1 -1
  71. package/dist/src/roster/library.d.ts +12 -2
  72. package/dist/src/roster/library.d.ts.map +1 -1
  73. package/dist/src/roster/library.js +8 -0
  74. package/dist/src/roster/library.js.map +1 -1
  75. package/dist/src/roster/lists.d.ts +59 -12
  76. package/dist/src/roster/lists.d.ts.map +1 -1
  77. package/dist/src/roster/lists.js +51 -58
  78. package/dist/src/roster/lists.js.map +1 -1
  79. package/dist/src/roster/times.d.ts +402 -0
  80. package/dist/src/roster/times.d.ts.map +1 -1
  81. package/dist/src/roster/types.d.ts +913 -1
  82. package/dist/src/roster/types.d.ts.map +1 -1
  83. package/dist/src/roster/types.js +43 -3
  84. package/dist/src/roster/types.js.map +1 -1
  85. package/dist/src/schedule/cell-checks.d.ts +85 -0
  86. package/dist/src/schedule/cell-checks.d.ts.map +1 -0
  87. package/dist/src/schedule/cell-checks.js +211 -0
  88. package/dist/src/schedule/cell-checks.js.map +1 -0
  89. package/dist/src/schedule/events.d.ts +42 -10
  90. package/dist/src/schedule/events.d.ts.map +1 -1
  91. package/dist/src/schedule/events.js +349 -155
  92. package/dist/src/schedule/events.js.map +1 -1
  93. package/dist/src/schedule/fields.d.ts +134 -0
  94. package/dist/src/schedule/fields.d.ts.map +1 -0
  95. package/dist/src/schedule/fields.js +207 -0
  96. package/dist/src/schedule/fields.js.map +1 -0
  97. package/dist/src/schedule/library.d.ts +11 -3
  98. package/dist/src/schedule/library.d.ts.map +1 -1
  99. package/dist/src/schedule/library.js +9 -6
  100. package/dist/src/schedule/library.js.map +1 -1
  101. package/dist/src/schedule/optimise.d.ts +124 -0
  102. package/dist/src/schedule/optimise.d.ts.map +1 -0
  103. package/dist/src/schedule/optimise.js +140 -0
  104. package/dist/src/schedule/optimise.js.map +1 -0
  105. package/dist/src/schedule/pages.d.ts +76 -0
  106. package/dist/src/schedule/pages.d.ts.map +1 -0
  107. package/dist/src/schedule/pages.js +86 -0
  108. package/dist/src/schedule/pages.js.map +1 -0
  109. package/dist/src/schedule/record-window.d.ts +119 -6
  110. package/dist/src/schedule/record-window.d.ts.map +1 -1
  111. package/dist/src/schedule/record-window.js +139 -60
  112. package/dist/src/schedule/record-window.js.map +1 -1
  113. package/dist/src/schedule/resources.d.ts +8 -4
  114. package/dist/src/schedule/resources.d.ts.map +1 -1
  115. package/dist/src/schedule/resources.js +35 -15
  116. package/dist/src/schedule/resources.js.map +1 -1
  117. package/dist/src/schedule/session.d.ts +14 -0
  118. package/dist/src/schedule/session.d.ts.map +1 -1
  119. package/dist/src/schedule/session.js +29 -17
  120. package/dist/src/schedule/session.js.map +1 -1
  121. package/dist/src/schedule/types.d.ts +426 -36
  122. package/dist/src/schedule/types.d.ts.map +1 -1
  123. package/dist/src/schedule/types.js +63 -17
  124. package/dist/src/schedule/types.js.map +1 -1
  125. package/dist/src/schedule/window.d.ts +30 -9
  126. package/dist/src/schedule/window.d.ts.map +1 -1
  127. package/dist/src/schedule/window.js +101 -49
  128. package/dist/src/schedule/window.js.map +1 -1
  129. package/dist/src/schematic/index.d.ts +277 -0
  130. package/dist/src/schematic/index.d.ts.map +1 -0
  131. package/dist/src/schematic/index.js +206 -0
  132. package/dist/src/schematic/index.js.map +1 -0
  133. package/dist/src/schematic/kinds.d.ts +501 -0
  134. package/dist/src/schematic/kinds.d.ts.map +1 -0
  135. package/dist/src/schematic/kinds.js +1027 -0
  136. package/dist/src/schematic/kinds.js.map +1 -0
  137. package/dist/src/schematic/layers.d.ts +74 -0
  138. package/dist/src/schematic/layers.d.ts.map +1 -0
  139. package/dist/src/schematic/layers.js +99 -0
  140. package/dist/src/schematic/layers.js.map +1 -0
  141. package/dist/src/schematic/library.d.ts +202 -0
  142. package/dist/src/schematic/library.d.ts.map +1 -0
  143. package/dist/src/schematic/library.js +244 -0
  144. package/dist/src/schematic/library.js.map +1 -0
  145. package/dist/src/schematic/payload.d.ts +8360 -0
  146. package/dist/src/schematic/payload.d.ts.map +1 -0
  147. package/dist/src/schematic/payload.js +446 -0
  148. package/dist/src/schematic/payload.js.map +1 -0
  149. package/dist/src/schematic/schematic.d.ts +27 -0
  150. package/dist/src/schematic/schematic.d.ts.map +1 -0
  151. package/dist/src/schematic/schematic.js +17 -0
  152. package/dist/src/schematic/schematic.js.map +1 -0
  153. package/dist/src/schematic/shapes.d.ts +150 -0
  154. package/dist/src/schematic/shapes.d.ts.map +1 -0
  155. package/dist/src/schematic/shapes.js +171 -0
  156. package/dist/src/schematic/shapes.js.map +1 -0
  157. package/dist/src/schematic/templates.d.ts +96 -0
  158. package/dist/src/schematic/templates.d.ts.map +1 -0
  159. package/dist/src/schematic/templates.js +91 -0
  160. package/dist/src/schematic/templates.js.map +1 -0
  161. package/dist/src/schematic/types.d.ts +5766 -0
  162. package/dist/src/schematic/types.d.ts.map +1 -0
  163. package/dist/src/schematic/types.js +688 -0
  164. package/dist/src/schematic/types.js.map +1 -0
  165. package/dist/src/schematic/window.d.ts +212 -0
  166. package/dist/src/schematic/window.d.ts.map +1 -0
  167. package/dist/src/schematic/window.js +337 -0
  168. package/dist/src/schematic/window.js.map +1 -0
  169. package/dist/src/sheet/editing-bridge.d.ts +4 -2
  170. package/dist/src/sheet/editing-bridge.d.ts.map +1 -1
  171. package/dist/src/sheet/editing-bridge.js +8 -2
  172. package/dist/src/sheet/editing-bridge.js.map +1 -1
  173. package/dist/src/sheet/editing-types.d.ts +9 -5
  174. package/dist/src/sheet/editing-types.d.ts.map +1 -1
  175. package/dist/src/sheet/editing-types.js +9 -5
  176. package/dist/src/sheet/editing-types.js.map +1 -1
  177. package/dist/src/sheet/index.d.ts +18 -8
  178. package/dist/src/sheet/index.d.ts.map +1 -1
  179. package/dist/src/sheet/index.js +15 -7
  180. package/dist/src/sheet/index.js.map +1 -1
  181. package/dist/src/sheet/optimise.d.ts +69 -0
  182. package/dist/src/sheet/optimise.d.ts.map +1 -0
  183. package/dist/src/sheet/optimise.js +81 -0
  184. package/dist/src/sheet/optimise.js.map +1 -0
  185. package/dist/src/sheet/registers.d.ts +5 -5
  186. package/dist/src/sheet/registers.js +5 -5
  187. package/dist/src/sheet/root.d.ts +2 -0
  188. package/dist/src/sheet/root.d.ts.map +1 -1
  189. package/dist/src/sheet/root.js +2 -2
  190. package/dist/src/sheet/root.js.map +1 -1
  191. package/dist/src/sheet/sheet.d.ts +753 -573
  192. package/dist/src/sheet/sheet.d.ts.map +1 -1
  193. package/dist/src/sheet/sheet.js +45 -13
  194. package/dist/src/sheet/sheet.js.map +1 -1
  195. package/dist/src/sheet/types.d.ts +92 -12
  196. package/dist/src/sheet/types.d.ts.map +1 -1
  197. package/dist/src/sheet/types.js +4 -8
  198. package/dist/src/sheet/types.js.map +1 -1
  199. package/dist/src/utils/keyed-rows.d.ts +41 -0
  200. package/dist/src/utils/keyed-rows.d.ts.map +1 -0
  201. package/dist/src/utils/keyed-rows.js +64 -0
  202. package/dist/src/utils/keyed-rows.js.map +1 -0
  203. package/dist/src/utils/optimise.d.ts +79 -0
  204. package/dist/src/utils/optimise.d.ts.map +1 -0
  205. package/dist/src/utils/optimise.js +46 -0
  206. package/dist/src/utils/optimise.js.map +1 -0
  207. package/dist/test/allocation/allocation.examples.d.ts +6 -18
  208. package/dist/test/allocation/allocation.examples.d.ts.map +1 -1
  209. package/dist/test/allocation/allocation.examples.js +3 -3
  210. package/dist/test/allocation/allocation.examples.js.map +1 -1
  211. package/dist/test/allocation/optimise.examples.d.ts +109 -0
  212. package/dist/test/allocation/optimise.examples.d.ts.map +1 -0
  213. package/dist/test/allocation/optimise.examples.js +223 -0
  214. package/dist/test/allocation/optimise.examples.js.map +1 -0
  215. package/dist/test/bind/data/data.examples.d.ts +540 -36
  216. package/dist/test/bind/data/data.examples.d.ts.map +1 -1
  217. package/dist/test/bind/data/data.examples.js +66 -2
  218. package/dist/test/bind/data/data.examples.js.map +1 -1
  219. package/dist/test/bind/record/record.examples.d.ts +1 -3
  220. package/dist/test/bind/record/record.examples.d.ts.map +1 -1
  221. package/dist/test/calendar/calendar-records.examples.d.ts.map +1 -1
  222. package/dist/test/calendar/calendar-records.examples.js +3 -3
  223. package/dist/test/calendar/calendar-records.examples.js.map +1 -1
  224. package/dist/test/calendar/calendar-windows.examples.d.ts +9 -0
  225. package/dist/test/calendar/calendar-windows.examples.d.ts.map +1 -0
  226. package/dist/test/calendar/calendar-windows.examples.js +111 -0
  227. package/dist/test/calendar/calendar-windows.examples.js.map +1 -0
  228. package/dist/test/calendar/calendar.examples.d.ts +7 -21
  229. package/dist/test/calendar/calendar.examples.d.ts.map +1 -1
  230. package/dist/test/calendar/calendar.examples.js +7 -7
  231. package/dist/test/calendar/calendar.examples.js.map +1 -1
  232. package/dist/test/calendar/optimise.examples.d.ts +132 -0
  233. package/dist/test/calendar/optimise.examples.d.ts.map +1 -0
  234. package/dist/test/calendar/optimise.examples.js +75 -0
  235. package/dist/test/calendar/optimise.examples.js.map +1 -0
  236. package/dist/test/examples-package.d.ts +46 -10
  237. package/dist/test/examples-package.d.ts.map +1 -1
  238. package/dist/test/examples-package.js +142 -32
  239. package/dist/test/examples-package.js.map +1 -1
  240. package/dist/test/flowchart/flowchart.examples.d.ts +10 -30
  241. package/dist/test/flowchart/flowchart.examples.d.ts.map +1 -1
  242. package/dist/test/plan/optimise.examples.d.ts +207 -0
  243. package/dist/test/plan/optimise.examples.d.ts.map +1 -0
  244. package/dist/test/plan/optimise.examples.js +98 -0
  245. package/dist/test/plan/optimise.examples.js.map +1 -0
  246. package/dist/test/plan/plan-events.examples.d.ts +8 -24
  247. package/dist/test/plan/plan-events.examples.d.ts.map +1 -1
  248. package/dist/test/plan/plan-events.examples.js +3 -3
  249. package/dist/test/plan/plan-events.examples.js.map +1 -1
  250. package/dist/test/plan/plan-records.examples.d.ts +200 -19
  251. package/dist/test/plan/plan-records.examples.d.ts.map +1 -1
  252. package/dist/test/plan/plan-records.examples.js +125 -28
  253. package/dist/test/plan/plan-records.examples.js.map +1 -1
  254. package/dist/test/plan/plan-windows.examples.d.ts +853 -36
  255. package/dist/test/plan/plan-windows.examples.d.ts.map +1 -1
  256. package/dist/test/plan/plan-windows.examples.js +166 -29
  257. package/dist/test/plan/plan-windows.examples.js.map +1 -1
  258. package/dist/test/plan/plan.examples.d.ts +7 -21
  259. package/dist/test/plan/plan.examples.d.ts.map +1 -1
  260. package/dist/test/plan/plan.examples.js +11 -9
  261. package/dist/test/plan/plan.examples.js.map +1 -1
  262. package/dist/test/roster/domain.examples.d.ts +804 -0
  263. package/dist/test/roster/domain.examples.d.ts.map +1 -1
  264. package/dist/test/roster/domain.examples.js +3 -3
  265. package/dist/test/roster/domain.examples.js.map +1 -1
  266. package/dist/test/roster/optimise.examples.d.ts +485 -0
  267. package/dist/test/roster/optimise.examples.d.ts.map +1 -0
  268. package/dist/test/roster/optimise.examples.js +155 -0
  269. package/dist/test/roster/optimise.examples.js.map +1 -0
  270. package/dist/test/roster/roster-records.examples.d.ts +6 -18
  271. package/dist/test/roster/roster-records.examples.d.ts.map +1 -1
  272. package/dist/test/roster/roster-records.examples.js +1 -1
  273. package/dist/test/roster/roster-records.examples.js.map +1 -1
  274. package/dist/test/roster/roster.examples.d.ts +3391 -21
  275. package/dist/test/roster/roster.examples.d.ts.map +1 -1
  276. package/dist/test/roster/roster.examples.js +54 -7
  277. package/dist/test/roster/roster.examples.js.map +1 -1
  278. package/dist/test/roster/warehouse.d.ts +150 -7
  279. package/dist/test/roster/warehouse.d.ts.map +1 -1
  280. package/dist/test/roster/warehouse.js +36 -11
  281. package/dist/test/roster/warehouse.js.map +1 -1
  282. package/dist/test/schedule/schedule.examples.d.ts +1 -3
  283. package/dist/test/schedule/schedule.examples.d.ts.map +1 -1
  284. package/dist/test/schematic/schematic-records.examples.d.ts +444 -0
  285. package/dist/test/schematic/schematic-records.examples.d.ts.map +1 -0
  286. package/dist/test/schematic/schematic-records.examples.js +205 -0
  287. package/dist/test/schematic/schematic-records.examples.js.map +1 -0
  288. package/dist/test/schematic/schematic.examples.d.ts +2289 -0
  289. package/dist/test/schematic/schematic.examples.d.ts.map +1 -0
  290. package/dist/test/schematic/schematic.examples.js +453 -0
  291. package/dist/test/schematic/schematic.examples.js.map +1 -0
  292. package/dist/test/sheet/optimise.examples.d.ts +177 -0
  293. package/dist/test/sheet/optimise.examples.d.ts.map +1 -0
  294. package/dist/test/sheet/optimise.examples.js +75 -0
  295. package/dist/test/sheet/optimise.examples.js.map +1 -0
  296. package/dist/test/sheet/sheet-records.examples.d.ts +95 -204
  297. package/dist/test/sheet/sheet-records.examples.d.ts.map +1 -1
  298. package/dist/test/sheet/sheet-records.examples.js +42 -17
  299. package/dist/test/sheet/sheet-records.examples.js.map +1 -1
  300. package/dist/test/sheet/sheet.examples.d.ts +17 -33
  301. package/dist/test/sheet/sheet.examples.d.ts.map +1 -1
  302. package/dist/test/sheet/sheet.examples.js +18 -15
  303. package/dist/test/sheet/sheet.examples.js.map +1 -1
  304. package/package.json +11 -11
@@ -1 +1 @@
1
- {"version":3,"file":"event-rows.d.ts","sourceRoot":"","sources":["../../../src/plan/event-rows.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-rows.d.ts","sourceRoot":"","sources":["../../../src/plan/event-rows.ts"],"names":[],"mappings":"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"}
@@ -51,13 +51,24 @@
51
51
  * Unassigned row: whether the kind has its resource would take every window
52
52
  * to know, so an event naming a resource it has not draws nowhere.
53
53
  *
54
+ * A paged kind its Plan's slice names a source after takes its windows from
55
+ * that source's narrowed rows themselves (#1344): the narrowing's rows, paged
56
+ * in the source's index's order, as the `rows` source gives the canvas its
57
+ * rows — never a window of every resource filtered by the keys the source
58
+ * shows. Its count is the narrowing's, its keys come in the order its rows
59
+ * draw, so a reader reads the cells of the narrowed resources in view alone,
60
+ * and `query` names the narrowing its windows belong to. It has no key
61
+ * search: the narrowing's searches run in its index's order, which a key's
62
+ * does not follow.
63
+ *
54
64
  * @packageDocumentation
55
65
  */
56
- import { ArrayType, BooleanType, DateTimeType, DictType, East, FunctionType, IntegerType, NullType, OptionType, SetType, StringType, StructType, isTypeEqual, none, some, variant, } from "@elaraai/east";
66
+ import { ArrayType, BlobType, BooleanType, DateTimeType, DictType, East, FloatType, FunctionType, IntegerType, NullType, OptionType, SetType, StringType, StructType, isTypeEqual, none, some, variant, } from "@elaraai/east";
57
67
  import { IconType, PickStateType, SeekQueryType, SeekRangeType, StatusValueType } from "@elaraai/east-ui";
58
- import { buildPagedWindow, resolveRowSource } from "@elaraai/east-ui/internal";
59
68
  import { PlanEventItemType, PlanEventKindType, ScheduleDraftsType, ScheduleEventRefType, ScheduleStatusType } from "../schedule/types.js";
60
- import { PlanBlockType, PlanBlocksType, PlanBucketEventType, PlanChipType, PlanEventMarkKindType, PlanEventMarkType, PlanLaneType, PlanRollupType, PlanRowIdType, PlanRowsCollectionType, PlanRunType, } from "./types.js";
69
+ import { scheduleNarrowedWindows, scheduleOwnWindows } from "../schedule/pages.js";
70
+ import { planIndexOrder } from "./ordered-source.js";
71
+ import { PlanBlockType, PlanBlocksType, PlanBucketEventType, PlanChipType, PlanEventMarkKindType, PlanEventMarkType, PlanHeatCellType, PlanLaneType, PlanRollupType, PlanRowIdType, PlanRowKindType, PlanRowType, PlanRowsCollectionType, PlanRunType, PlanWeightCellType, } from "./types.js";
61
72
  import { planGutter, planRow } from "./assemble.js";
62
73
  import { bucketsKind, cardsKind, eventsKind, spanKind } from "./factories.js";
63
74
  import { planHideId } from "./library.js";
@@ -75,18 +86,49 @@ export const PlanEventDraftsType = DictType(StringType, ScheduleDraftsType);
75
86
  * the resources its source shows. A kind it does not name draws every resource.
76
87
  */
77
88
  export const PlanEventShownType = DictType(StringType, SetType(StringType));
89
+ /**
90
+ * What a reader read of each event kind by its series index's cells (#1039),
91
+ * by the kind's slot: the entries, one beast2 of the kind's `cellsType`, that
92
+ * the kind draws its events from — a kind past the budget, which draws its
93
+ * summary's shading or the notice in their place, given none. A kind it does
94
+ * not name is read over the window, as ever.
95
+ */
96
+ export const PlanEventReadsType = DictType(StringType, BlobType);
97
+ /**
98
+ * One bucket of a resource's shading (#1039): the bucket's start, and its
99
+ * value — the share of the bucket the resource's events book, `0` to `1`, for
100
+ * a way of drawing that draws bars or chips; how many of its events touch the
101
+ * bucket, for one that draws tiles or marks; `none` where nothing shows at
102
+ * this resolution, the notice's no-data hatch.
103
+ */
104
+ export const PlanEventShadeType = StructType({ at: DateTimeType, value: OptionType(FloatType) });
105
+ /**
106
+ * The resources' shading (#1039): by the key of the rows it stands in for —
107
+ * a resource kind's slot and a way of drawing, `<slot>.<draw>`, as a
108
+ * resource's rows are keyed — then by the resource key's text, its buckets.
109
+ * Each resource's row of a key it names draws heat over those buckets in
110
+ * place of its events: a booked-vs-free bar a bucket for bars and chips, how
111
+ * many for tiles and marks — the counts on one scale across every resource
112
+ * the key shades — and a row with a bucket of no value the no-data hatch.
113
+ */
114
+ export const PlanEventShadingType = DictType(StringType, DictType(StringType, ArrayType(PlanEventShadeType)));
78
115
  /**
79
116
  * The resources' rows over a window, every event kind's drafts in place
80
117
  * (#1192): `(from, to, drafts by kind, then by entry id, the ids the viewer
81
- * hides, the resources the rail shows)` → the canvas's blocks, `none` while a
82
- * kind's read is in flight. The hidden ids are the library's Series tab's
83
- * (#1195): `resources.<slot>`, `events.<slot>` and `measures.<key>` stay out,
84
- * and the rest are not this seam's. A resource kind the shown resources name
85
- * draws those alone (#1344). A paged resource kind's place (#1199) is an empty
86
- * block that is not fixed, which the payload's `paged` fills a window at a
87
- * time.
118
+ * hides, the resources the rail shows, what a reader read of each kind by its
119
+ * cells, the resources' shading)` → the canvas's blocks, `none` while a kind's
120
+ * read is in flight. The hidden ids are the library's Series tab's (#1195):
121
+ * `resources.<slot>`, `events.<slot>` and `measures.<key>` stay out, and the
122
+ * rest are not this seam's. A resource kind the shown resources name draws
123
+ * those alone (#1344). A paged resource kind's place (#1199) is an empty block
124
+ * that is not fixed, which the payload's `paged` fills a window at a time. A
125
+ * kind a reader read by its cells (#1039) places the events of the entries it
126
+ * was given, every draft given in place — those on no resource here, on its
127
+ * Unassigned row; those on the paged kind's resources through `paged.placed`
128
+ * — and never reads the window. Each resource's row the shading names draws
129
+ * its heat in place of its events.
88
130
  */
89
- export const PlanEventBlocksType = FunctionType([DateTimeType, DateTimeType, PlanEventDraftsType, PickStateType, PlanEventShownType], OptionType(PlanBlocksType));
131
+ export const PlanEventBlocksType = FunctionType([DateTimeType, DateTimeType, PlanEventDraftsType, PickStateType, PlanEventShownType, PlanEventReadsType, PlanEventShadingType], OptionType(PlanBlocksType));
90
132
  /** The ways a kind draws, in the order a resource's rows take them (PB12). */
91
133
  const DRAW_ORDER = ["span", "buckets", "cards", "marks"];
92
134
  /**
@@ -233,6 +275,94 @@ const placedLanes = East.function([PlacedListType], ArrayType(PlanLaneType), ($,
233
275
  });
234
276
  return lanes.toArray(($2, lane) => East.value({ key: lane, label: some(lane) }, PlanLaneType));
235
277
  });
278
+ /**
279
+ * A resource's row of a shaded way of drawing (#1039), `(its buckets, the
280
+ * largest count its kind's shading holds, whether it draws bars or chips)` →
281
+ * its heat: a booked-vs-free bar a bucket for one that draws bars or chips,
282
+ * each bucket's share; how many for one that draws tiles or marks, from none
283
+ * to the largest, printed compact in the viewer's locale; and the no-data
284
+ * hatch where a bucket holds no value, its row heat whatever it draws.
285
+ */
286
+ const shadedKind = East.function([ArrayType(PlanEventShadeType), FloatType, BooleanType], PlanRowKindType, ($, shades, top, booked) => {
287
+ const valued = $.let(shades.every(($2, shade) => shade.value.hasTag("some")));
288
+ const most = $.let(none, OptionType(FloatType));
289
+ $.if(East.greater(top, 0), ($2) => { $2.assign(most, some(top)); });
290
+ const heat = $.let(East.value(variant("heat", {
291
+ cells: variant("heat", {
292
+ cells: shades.map(($2, shade) => East.value({ at: variant("time", shade.at), value: shade.value, label: none }, PlanHeatCellType)),
293
+ scale: { min: some(0), max: most, warnAt: none },
294
+ fold: variant("sum", null),
295
+ format: some(variant("compact", { display: none })),
296
+ }),
297
+ aggregate: none,
298
+ scale: none,
299
+ }), PlanRowKindType), PlanRowKindType);
300
+ $.if(booked.and(() => valued), ($2) => {
301
+ $2.assign(heat, East.value(variant("heat", {
302
+ cells: variant("weight", {
303
+ cells: shades.map(($3, shade) => East.value({ at: variant("time", shade.at), fraction: shade.value.unwrap("some"), planned: false }, PlanWeightCellType)),
304
+ fold: variant("mean", null),
305
+ format: none,
306
+ }),
307
+ aggregate: none,
308
+ scale: none,
309
+ }), PlanRowKindType));
310
+ });
311
+ return heat;
312
+ });
313
+ /**
314
+ * The resources' rows with their shading in place (#1039), `(blocks, shading,
315
+ * the keys of the rows that draw bars or chips)`: every resource's row of a
316
+ * way of drawing the shading names draws its heat in place of its events —
317
+ * one whose resource it holds no shading of yet draws none, at the height it
318
+ * will draw it at — the counts of one key on one scale, the largest it holds.
319
+ * Every other row stands.
320
+ */
321
+ const shadedRows = East.function([PlanBlocksType, PlanEventShadingType, SetType(StringType)], PlanBlocksType, ($, blocks, shading, booked) => {
322
+ const kindOf = $.const(shadedKind);
323
+ const noShades = $.const([], ArrayType(PlanEventShadeType));
324
+ const tops = $.let(new Map(), DictType(StringType, FloatType));
325
+ $.for(shading, ($2, byKey, series) => {
326
+ const top = $2.let(0, FloatType);
327
+ $2.for(byKey, ($3, shades) => {
328
+ $3.for(shades, ($4, shade) => {
329
+ $4.match(shade.value, { some: ($5, v) => { $5.if(East.greater(v, top), ($6) => { $6.assign(top, v); }); } });
330
+ });
331
+ });
332
+ $2(tops.insert(series, top));
333
+ });
334
+ return blocks.map(($2, b) => East.value({
335
+ fixed: b.fixed,
336
+ parent: b.parent,
337
+ charts: b.charts,
338
+ rows: b.rows.map(($3, row) => row.id.match({
339
+ section: (_$4, _at) => row,
340
+ entry: (_$4, at) => shading.tryGet(at.series).match({
341
+ none: (_$5) => row,
342
+ some: ($5, byKey) => {
343
+ // A resource's row's path ends in its key.
344
+ const key = $5.let(at.path.get(at.path.size().subtract(1n)));
345
+ const heat = $5.let(kindOf(byKey.get(key, () => noShades), tops.get(at.series), booked.has(at.series)));
346
+ const fields = row;
347
+ return East.value(Object.fromEntries(Object.keys(PlanRowType.fields).map((f) => [f, f === "kind" ? heat : fields[f]])), PlanRowType);
348
+ },
349
+ }),
350
+ })),
351
+ }, PlanBlockType));
352
+ });
353
+ /**
354
+ * The keys of the resources' rows that draw bars or chips (#1039): shaded,
355
+ * they draw booked-vs-free bars.
356
+ *
357
+ * @param resources - The resource kinds, by slot
358
+ * @param events - The event kinds, by slot
359
+ * @returns Each `<slot>.span` and `<slot>.cards` the kinds draw
360
+ */
361
+ function bookedKeys(resources, events) {
362
+ return new Set(resources.flatMap(([slot]) => eventDrawsOf(slot, events)
363
+ .filter((draw) => draw === "span" || draw === "cards")
364
+ .map((draw) => `${slot}.${draw}`)));
365
+ }
236
366
  /**
237
367
  * One resource kind's rows over the window: its resources as a views series
238
368
  * — a member per way the kinds placed on it draw, then its measures — nested
@@ -401,6 +531,24 @@ function resourceBlocks($, slot, kind, all, placed, events, hidden, fixed = true
401
531
  else {
402
532
  blocks = applySeries([views], roots);
403
533
  }
534
+ // ── What each resource makes of chart rows (#1398) ──
535
+ // A paged kind's window is its source's entries, a resource each, and a paged kind nests and groups none: each
536
+ // makes its measures' chart rows that the viewer shows — a chart measure's one, or as many as its own `match`
537
+ // takes, which no definition fixes. A kind read whole is fixed blocks, which no entry makes.
538
+ const charts = $.let(East.value(fixed ? none : some(0n), OptionType(IntegerType)), OptionType(IntegerType));
539
+ if (!fixed) {
540
+ for (const facts of kind.measures.map((m) => planSeriesFacts(m, collection, where))) {
541
+ const each = facts.charts;
542
+ if (each === 0)
543
+ continue;
544
+ $.if(hidden.has(planHideId.measures(facts.key)).not(), ($2) => {
545
+ if (each === undefined)
546
+ $2.assign(charts, none);
547
+ else
548
+ $2.match(charts, { some: ($3, n) => { $3.assign(charts, some(n.add(BigInt(each)))); } });
549
+ });
550
+ }
551
+ }
404
552
  // ── What the viewer hides (PB29): rows by their series' key ──
405
553
  // A measure's rows, and a way of drawing's after the first once all its
406
554
  // kinds are hidden: each a leaf, since a resource's children nest under its
@@ -413,7 +561,7 @@ function resourceBlocks($, slot, kind, all, placed, events, hidden, fixed = true
413
561
  }),
414
562
  ];
415
563
  if (hiders.length === 0) {
416
- return $.let(blocks.map(($2, b) => ({ fixed, parent: b.parent, rows: b.rows })), PlanBlocksType);
564
+ return $.let(blocks.map(($2, b) => ({ fixed, parent: b.parent, charts, rows: b.rows })), PlanBlocksType);
417
565
  }
418
566
  const dropped = $.let(new Set(), SetType(StringType));
419
567
  for (const [series, ids] of hiders) {
@@ -423,6 +571,7 @@ function resourceBlocks($, slot, kind, all, placed, events, hidden, fixed = true
423
571
  return $.let(blocks.map(($2, b) => ({
424
572
  fixed,
425
573
  parent: b.parent,
574
+ charts,
426
575
  rows: b.rows.filter(($3, row) => dropped.has(row.id.match({
427
576
  entry: (_$4, at) => at.series,
428
577
  section: (_$4, at) => at.series,
@@ -457,13 +606,15 @@ function unassignedBlock($, events, lost) {
457
606
  })));
458
607
  });
459
608
  });
460
- return $.let({ fixed: true, parent: none, rows }, PlanBlockType);
609
+ return $.let({ fixed: true, parent: none, charts: none, rows }, PlanBlockType);
461
610
  }
462
611
  /**
463
- * The `blocks` seam (see the module docs): `(from, to, drafts, hidden, shown)`
464
- * → the resources' rows over `[from, to)`, every kind's drafts in place, what
465
- * the viewer hides left out, and of a resource kind the rail narrows the
466
- * resources it shows.
612
+ * The `blocks` seam (see the module docs): `(from, to, drafts, hidden, shown,
613
+ * reads, shading)` → the resources' rows over `[from, to)`, every kind's
614
+ * drafts in place, what the viewer hides left out, of a resource kind the
615
+ * rail narrows the resources it shows, each kind a reader read by its cells
616
+ * drawn from what it read, and each resource's row the shading names drawing
617
+ * its heat.
467
618
  *
468
619
  * @remarks
469
620
  * Made inside the function that assembles the payload, so `built` is the
@@ -477,17 +628,23 @@ function unassignedBlock($, events, lost) {
477
628
  * @internal
478
629
  */
479
630
  export function createEventBlocks(resources, events, built) {
480
- return East.function([DateTimeType, DateTimeType, PlanEventDraftsType, PickStateType, PlanEventShownType], OptionType(PlanBlocksType), ($, from, to, drafts, hiding, shown) => {
631
+ // The keys of the rows that draw bars or chips (#1039): a shaded one draws booked-vs-free bars.
632
+ const booked = bookedKeys(resources, events);
633
+ return East.function([
634
+ DateTimeType, DateTimeType, PlanEventDraftsType, PickStateType, PlanEventShownType, PlanEventReadsType, PlanEventShadingType,
635
+ ], OptionType(PlanBlocksType), ($, from, to, drafts, hiding, shown, given, shading) => {
481
636
  const result = $.let(none, OptionType(PlanBlocksType));
482
637
  const noDrafts = $.const(new Map(), ScheduleDraftsType);
483
638
  const hidden = $.let(hiding.toSet(), SetType(StringType));
484
- // Each kind's events over the window, its drafts in place (PB17). A
485
- // hidden kind is not read: it places nothing, so nothing waits on it.
639
+ const shade = $.const(shadedRows);
640
+ const drawsBars = $.const(booked, SetType(StringType));
641
+ // Each kind's events over the window, its drafts in place (PB17) — a kind a reader read by its cells from
642
+ // what it read (#1039). A hidden kind is not read: it places nothing, so nothing waits on it.
486
643
  const reads = events.map(([slot], i) => {
487
644
  const kind = $.let(built.get(BigInt(i)));
488
645
  const kindDrafts = $.let(drafts.get(slot, () => noDrafts));
489
646
  const read = $.let(some([]), OptionType(ArrayType(PlanEventItemType)));
490
- $.if(hidden.has(planHideId.events(slot)).not(), ($2) => { $2.assign(read, kind.planItems(from, to, kindDrafts)); });
647
+ $.if(hidden.has(planHideId.events(slot)).not(), ($2) => { $2.assign(read, kind.planItems(from, to, kindDrafts, given.tryGet(slot))); });
491
648
  return read;
492
649
  });
493
650
  const ready = reads.reduce((all, read) => all.and(() => read.hasTag("some")), East.value(true, BooleanType));
@@ -543,8 +700,9 @@ export function createEventBlocks(resources, events, built) {
543
700
  for (const [slot, kind] of resources) {
544
701
  if (paged.has(slot)) {
545
702
  // A paged kind's place (#1199): the one block that is not fixed, which the payload's
546
- // `paged` fills a window at a time — there whether or not the viewer hides the kind.
547
- $2(blocks.pushLast(East.value({ fixed: false, parent: none, rows: [] }, PlanBlockType)));
703
+ // `paged` fills a window at a time — there whether or not the viewer hides the kind. What its
704
+ // resources make of chart rows is the window's block's to say (#1398).
705
+ $2(blocks.pushLast(East.value({ fixed: false, parent: none, charts: none, rows: [] }, PlanBlockType)));
548
706
  continue;
549
707
  }
550
708
  // A hidden resource kind draws no rows; its events stay its own, off the Unassigned row.
@@ -561,7 +719,7 @@ export function createEventBlocks(resources, events, built) {
561
719
  return keyed.filter((_$5, _row, key) => keys.has(key));
562
720
  }, () => keyed));
563
721
  }
564
- $3(blocks.append(resourceBlocks($3, slot, kind, drawn, placed.get(slot), events, hidden)));
722
+ $3(blocks.append(shade(resourceBlocks($3, slot, kind, drawn, placed.get(slot), events, hidden), shading, drawsBars)));
565
723
  });
566
724
  }
567
725
  $2(blocks.pushLast(unassignedBlock($2, events, lost)));
@@ -580,26 +738,32 @@ export function createEventBlocks(resources, events, built) {
580
738
  * source whose every window is the event kinds' blocks with this kind's place
581
739
  * filled by `rows` over that window of its resources — so its rows come as
582
740
  * the canvas scrolls, its key search seeks a resource by its key, and its
583
- * resources are never read whole.
741
+ * resources are never read whole. Narrowed by its source of the slice
742
+ * (#1344), its windows are the narrowing's rows, in the source's index's
743
+ * order, and it has no key search.
584
744
  *
585
745
  * @property kind - The paged resource kind's slot
586
- * @property id - The identity of the kind's resources' window
587
- * @property placed - `(from, to, drafts by kind, the ids the viewer hides)` → the events placed on the kind's resources over `[from, to)`, every kind's drafts in place, by way of drawing and by the resource key's text; `none` while a kind's read is in flight
588
- * @property rows - `(offset, limit, placed, the ids the viewer hides)` → the kind's rows for its resources `[offset, offset + limit)` — a whole window of them — with the events given placed on them: one block, not fixed (an empty one while the viewer hides the kind); `none` while the window is in flight
589
- * @property total - How many resources the kind has, once known
590
- * @property seek - Where a key search lands among the kind's resources: the window's own key search
746
+ * @property id - The identity of the kind's resources' window: the source's, the same under every narrowing, when its source of the slice narrows it
747
+ * @property placed - `(from, to, drafts by kind, the ids the viewer hides, what a reader read of each kind by its cells)` → the events placed on the kind's resources over `[from, to)`, every kind's drafts in place, by way of drawing and by the resource key's text; `none` while a kind's read is in flight. A kind a reader read by its cells (#1039) places the events of the entries it was given, and never reads the window
748
+ * @property rows - `(offset, limit, placed, shading, the ids the viewer hides)` → the kind's rows for its resources `[offset, offset + limit)` — a whole window of them, in the resources' key order, or the narrowing's in its index's order (#1344) — with the events given placed on them, and each resource's row whose key the shading names drawing its heat in their place (#1039): one block, not fixed (an empty one while the viewer hides the kind); `none` while the window is in flight
749
+ * @property keys - `(offset, limit)` → the texts of the keys of the kind's resources `[offset, offset + limit)`, in the order `rows` draws them (#1039): the resources a reader reads the cells of; `none` while the window is in flight
750
+ * @property total - How many resources the kind has — the narrowing holds, when its source narrows it — once known
751
+ * @property seek - Where a key search lands among the kind's resources: the window's own key search; `none` when its source narrows it, whose searches run in its index's order
591
752
  * @property revision - The snapshot of the resources the windows are read at
592
753
  * @property refresh - Moves the resources' window to a snapshot, or to the one it holds now
754
+ * @property query - The narrowing the windows, the total and the keys belong to, as text (#1344): it moves when a choice does, and the windows are read again under it; `none` when no source narrows the kind
593
755
  */
594
756
  export const PlanEventPagedType = StructType({
595
757
  kind: StringType,
596
758
  id: StringType,
597
- placed: FunctionType([DateTimeType, DateTimeType, PlanEventDraftsType, PickStateType], OptionType(PlanEventPlacedType)),
598
- rows: FunctionType([IntegerType, IntegerType, PlanEventPlacedType, PickStateType], OptionType(PlanBlocksType)),
759
+ placed: FunctionType([DateTimeType, DateTimeType, PlanEventDraftsType, PickStateType, PlanEventReadsType], OptionType(PlanEventPlacedType)),
760
+ rows: FunctionType([IntegerType, IntegerType, PlanEventPlacedType, PlanEventShadingType, PickStateType], OptionType(PlanBlocksType)),
761
+ keys: FunctionType([IntegerType, IntegerType], OptionType(ArrayType(StringType))),
599
762
  total: FunctionType([], OptionType(IntegerType)),
600
763
  seek: OptionType(FunctionType([SeekQueryType], OptionType(SeekRangeType))),
601
764
  revision: FunctionType([], OptionType(StringType)),
602
765
  refresh: FunctionType([OptionType(StringType)], NullType),
766
+ query: OptionType(FunctionType([], StringType)),
603
767
  });
604
768
  /**
605
769
  * The paged resource kind's rows (see {@link PlanEventPagedType}), when a
@@ -607,41 +771,40 @@ export const PlanEventPagedType = StructType({
607
771
  *
608
772
  * @remarks
609
773
  * Made inside the function that assembles the payload, as the `blocks` seam
610
- * is, so `built` is the payload's own array of event kinds.
774
+ * is, so `built` is the payload's own array of event kinds — and `narrowed`
775
+ * is the kind's source of the slice as the payload's block bound it, so the
776
+ * kind's rows hold that source alone (#1356).
611
777
  *
612
778
  * @param resources - The resource kinds, by slot, in order — at most one of them paged (the Plan refuses more)
613
779
  * @param events - The event kinds, by slot, in order
614
780
  * @param built - The event kinds as the payload holds them, in the same order
781
+ * @param narrowed - The paged kind's source of the slice's narrowed data, when the slice names one after its slot (#1344): its windows are then the narrowing's rows
615
782
  * @returns The paged rows, or `undefined` when no resource kind is paged
616
- * @throws {Error} When the kind's paged read is not a paged source of its resources
783
+ * @throws {Error} When the kind's paged read is not a paged source of its resources, or its source's rows are not the kind's
617
784
  * @internal
618
785
  */
619
- export function createEventPaged(resources, events, built) {
786
+ export function createEventPaged(resources, events, built, narrowed) {
620
787
  const at = resources.find(([, kind]) => kind.window !== undefined);
621
788
  if (at === undefined)
622
789
  return undefined;
623
790
  const [slot, kind] = at;
624
791
  const where = `Plan: resources.${slot}`;
625
- // The resources a window at a time — each window whole, a piece the source cut short read on to its end.
626
- const resolved = resolveRowSource(kind.window, where);
627
- if (resolved.kind === "inline") {
628
- throw new Error(`${where}: a paged kind's resources are a paged read — Data.bindPaged(record) over the resources' record`);
629
- }
630
- const window = buildPagedWindow(resolved);
631
- const handle = resolved.source;
792
+ const pages = narrowed === undefined ? scheduleOwnWindows(kind, where) : scheduleNarrowedWindows(kind, slot, narrowed, "Plan");
793
+ const handle = pages.handle;
632
794
  const draws = eventDrawsOf(slot, events);
633
795
  // The event kinds placed on it, with their place in `events` — the payload's array of them.
634
796
  const takers = events.flatMap(([s, k], i) => (k.takes.includes(slot) ? [[s, k, i]] : []));
635
- const placed = East.function([DateTimeType, DateTimeType, PlanEventDraftsType, PickStateType], OptionType(PlanEventPlacedType), ($, from, to, drafts, hiding) => {
797
+ const placed = East.function([DateTimeType, DateTimeType, PlanEventDraftsType, PickStateType, PlanEventReadsType], OptionType(PlanEventPlacedType), ($, from, to, drafts, hiding, given) => {
636
798
  const result = $.let(none, OptionType(PlanEventPlacedType));
637
799
  const noDrafts = $.const(new Map(), ScheduleDraftsType);
638
800
  const hidden = $.let(hiding.toSet(), SetType(StringType));
639
- // Each kind's events over the window, its drafts in place; a hidden kind is not read.
801
+ // Each kind's events over the window, its drafts in place — a kind a reader read by its cells from what it
802
+ // read (#1039); a hidden kind is not read.
640
803
  const reads = takers.map(([s, , i]) => {
641
804
  const k = $.let(built.get(BigInt(i)));
642
805
  const kindDrafts = $.let(drafts.get(s, () => noDrafts));
643
806
  const read = $.let(some([]), OptionType(ArrayType(PlanEventItemType)));
644
- $.if(hidden.has(planHideId.events(s)).not(), ($2) => { $2.assign(read, k.planItems(from, to, kindDrafts)); });
807
+ $.if(hidden.has(planHideId.events(s)).not(), ($2) => { $2.assign(read, k.planItems(from, to, kindDrafts, given.tryGet(s))); });
645
808
  return read;
646
809
  });
647
810
  const ready = reads.reduce((all, read) => all.and(() => read.hasTag("some")), East.value(true, BooleanType));
@@ -676,40 +839,62 @@ export function createEventPaged(resources, events, built) {
676
839
  });
677
840
  return result;
678
841
  });
679
- const rows = East.function([IntegerType, IntegerType, PlanEventPlacedType, PickStateType], OptionType(PlanBlocksType), ($, offset, limit, given, hiding) => {
842
+ // The keys of its rows that draw bars or chips (#1039): a shaded one draws booked-vs-free bars.
843
+ const booked = bookedKeys([[slot, kind]], events);
844
+ const rows = East.function([IntegerType, IntegerType, PlanEventPlacedType, PlanEventShadingType, PickStateType], OptionType(PlanBlocksType), ($, offset, limit, given, shading, hiding) => {
680
845
  const result = $.let(none, OptionType(PlanBlocksType));
681
846
  const hidden = $.let(hiding.toSet(), SetType(StringType));
682
847
  $.if(hidden.has(planHideId.resources(slot)), ($2) => {
683
- // A hidden kind draws no rows: its place stands empty in every window.
684
- $2.assign(result, some(East.value([{ fixed: false, parent: none, rows: [] }], PlanBlocksType)));
848
+ // A hidden kind draws no rows: its place stands empty in every window, and its resources make no chart row (#1398).
849
+ $2.assign(result, some(East.value([{ fixed: false, parent: none, charts: some(0n), rows: [] }], PlanBlocksType)));
685
850
  }).else(($2) => {
686
- const read = $2.const(window);
851
+ const read = $2.const(pages.read);
852
+ const shade = $2.const(shadedRows);
853
+ const drawsBars = $2.const(booked, SetType(StringType));
687
854
  const got = $2.let(read(offset, limit));
688
855
  $2.match(got, {
689
- some: ($3, all) => {
856
+ some: ($3, page) => {
857
+ const all = $3.let(pages.rows(page));
690
858
  const onIt = new Map(draws.map((draw) => [draw, $3.let(given.get(draw, () => East.value(new Map(), PlacedByKeyType)))]));
691
- $3.assign(result, some(resourceBlocks($3, slot, kind, all, onIt, events, hidden, false)));
859
+ const blocks = $3.let(resourceBlocks($3, slot, kind, all, onIt, events, hidden, false));
860
+ // A narrowed window's rows in its index's order (#1344), each resource's rows together.
861
+ const drawn = pages.indexed ? $3.let(planIndexOrder(blocks, pages.keys($3, page))) : blocks;
862
+ $3.assign(result, some(shade(drawn, shading, drawsBars)));
692
863
  },
693
864
  });
694
865
  });
695
866
  return result;
696
867
  });
868
+ // The keys of a window's resources as the rows name them, in the order they draw (#1039): what a reader reads the cells of.
869
+ const keys = East.function([IntegerType, IntegerType], OptionType(ArrayType(StringType)), ($, offset, limit) => {
870
+ const read = $.const(pages.read);
871
+ const result = $.let(none, OptionType(ArrayType(StringType)));
872
+ $.match(read(offset, limit), {
873
+ some: ($2, page) => { $2.assign(result, some(pages.keys($2, page))); },
874
+ });
875
+ return result;
876
+ });
697
877
  // A source that names no snapshot is read at none, and moves nowhere.
698
- const revision = resolved.pinned
878
+ const revision = pages.pinned
699
879
  ? handle.revision
700
880
  : East.function([], OptionType(StringType), (_$) => East.value(none, OptionType(StringType)));
701
- const refresh = resolved.pinned
881
+ const refresh = pages.pinned
702
882
  ? handle.refresh
703
883
  : East.function([OptionType(StringType)], NullType, (_$, _target) => East.value(null, NullType));
884
+ const Seek = PlanEventPagedType.fields.seek;
885
+ const Query = PlanEventPagedType.fields.query;
704
886
  return East.value({
705
887
  kind: slot,
706
888
  id: handle.id,
707
889
  placed,
708
890
  rows,
891
+ keys,
709
892
  total: handle.total,
710
- seek: handle.seek,
893
+ // A narrowing's searches run in its index's order, which a resource's key does not follow: no key search.
894
+ seek: pages.indexed ? East.value(none, Seek) : handle.seek,
711
895
  revision,
712
896
  refresh,
897
+ query: pages.query ? East.value(some(handle.query), Query) : East.value(none, Query),
713
898
  }, PlanEventPagedType);
714
899
  }
715
900
  //# sourceMappingURL=event-rows.js.map