@antelopejs/interface-dms 0.5.5 → 0.5.7

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 (79) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/dist/api-base-url.d.ts +10 -0
  3. package/dist/api-base-url.js +15 -0
  4. package/dist/api-base-url.js.map +1 -0
  5. package/dist/base/activity-feed.d.ts +70 -1
  6. package/dist/base/activity-feed.js +39 -0
  7. package/dist/base/activity-feed.js.map +1 -1
  8. package/dist/base/block-types.d.ts +1 -0
  9. package/dist/base/block-types.js +1 -0
  10. package/dist/base/block-types.js.map +1 -1
  11. package/dist/base/chart-card.d.ts +13 -0
  12. package/dist/base/chart-card.js +1 -0
  13. package/dist/base/chart-card.js.map +1 -1
  14. package/dist/base/chart-schemas.d.ts +39 -0
  15. package/dist/base/chart-schemas.js +5 -0
  16. package/dist/base/chart-schemas.js.map +1 -1
  17. package/dist/base/chart.d.ts +10 -0
  18. package/dist/base/chart.js +3 -1
  19. package/dist/base/chart.js.map +1 -1
  20. package/dist/base/data-types/default-types.d.ts +5 -0
  21. package/dist/base/data-types/default-types.js +11 -3
  22. package/dist/base/data-types/default-types.js.map +1 -1
  23. package/dist/base/form-schema.d.ts +5 -0
  24. package/dist/base/form-schema.js.map +1 -1
  25. package/dist/base/guard.d.ts +228 -0
  26. package/dist/base/guard.js +94 -0
  27. package/dist/base/guard.js.map +1 -0
  28. package/dist/base/index.d.ts +1 -0
  29. package/dist/base/index.js +1 -0
  30. package/dist/base/index.js.map +1 -1
  31. package/dist/base/internal/layouts.d.ts +6 -0
  32. package/dist/base/live-toggle.d.ts +31 -2
  33. package/dist/base/live-toggle.js +27 -4
  34. package/dist/base/live-toggle.js.map +1 -1
  35. package/dist/base/period-selector.d.ts +61 -13
  36. package/dist/base/period-selector.js +27 -1
  37. package/dist/base/period-selector.js.map +1 -1
  38. package/dist/base/tab.d.ts +23 -6
  39. package/dist/base/tab.js +2 -1
  40. package/dist/base/tab.js.map +1 -1
  41. package/dist/base/table-view/factory.js +2 -0
  42. package/dist/base/table-view/factory.js.map +1 -1
  43. package/dist/base/table-view/internal/factory-helpers.js +1 -0
  44. package/dist/base/table-view/internal/factory-helpers.js.map +1 -1
  45. package/dist/base/table-view/internal/validation.js +3 -0
  46. package/dist/base/table-view/internal/validation.js.map +1 -1
  47. package/dist/base/table-view/options.d.ts +76 -4
  48. package/dist/base/table-view/options.js.map +1 -1
  49. package/dist/base/table-view/schema.d.ts +44 -3
  50. package/dist/base/table-view/schema.js +22 -2
  51. package/dist/base/table-view/schema.js.map +1 -1
  52. package/dist/base/table-view/source.d.ts +2 -2
  53. package/dist/base/table-view/source.js +22 -7
  54. package/dist/base/table-view/source.js.map +1 -1
  55. package/dist/base/table-view.d.ts +1 -1
  56. package/dist/base/table-view.js.map +1 -1
  57. package/dist/base/top-list-card.d.ts +20 -0
  58. package/dist/base/top-list-card.js +5 -0
  59. package/dist/base/top-list-card.js.map +1 -1
  60. package/dist/base/types/action-target.d.ts +34 -0
  61. package/dist/base/types/confirm-dialog.d.ts +42 -0
  62. package/dist/base/types/custom-button.d.ts +4 -0
  63. package/dist/base/types/row-action.d.ts +6 -0
  64. package/dist/component.d.ts +8 -0
  65. package/dist/component.js.map +1 -1
  66. package/dist/page/controllers.js +26 -6
  67. package/dist/page/controllers.js.map +1 -1
  68. package/dist/page/internal/layout-filter.d.ts +3 -1
  69. package/dist/page/internal/layout-filter.js +10 -7
  70. package/dist/page/internal/layout-filter.js.map +1 -1
  71. package/dist/page/internal/metadata-helpers.d.ts +10 -0
  72. package/dist/page/internal/metadata-helpers.js +15 -1
  73. package/dist/page/internal/metadata-helpers.js.map +1 -1
  74. package/dist/page/internal/page-registration.d.ts +2 -0
  75. package/dist/page/internal/page-registration.js.map +1 -1
  76. package/dist/page/metadata.js +11 -5
  77. package/dist/page/metadata.js.map +1 -1
  78. package/dist/page/types.d.ts +47 -4
  79. package/package.json +1 -1
@@ -140,15 +140,56 @@ export type MemberAccess = boolean | "self";
140
140
  * form saved with `BlockFunctions.REFRESH_PAGE`, a table's row actions.
141
141
  *
142
142
  * The user switches with a `LiveToggle()` block, or the L key while one is on
143
- * the page; the choice is kept per page in the browser. A table declared with
144
- * `liveHold` keeps its rows while paused and offers to show what is new.
143
+ * the page; the choice is kept per page in the browser (per `rememberKey` when set),
144
+ * and `?live=0` in the URL opens the page paused. The page also pauses by
145
+ * itself while its browser tab is hidden, and while a component holds it
146
+ * (`usePageLive().hold(reason)`); it resumes when that ends, unless the user
147
+ * paused it. A table declared with `liveHold` keeps its rows while paused and
148
+ * offers to show what is new.
149
+ *
150
+ * Paused, an event counts as the rows it names in `payload.ids` (each row once
151
+ * per pause, as a table view's own row events do), else as `payload.count`
152
+ * when it is a positive integer (a batch of N requests), else as one.
153
+ *
154
+ * While the realtime stream is down, a page with a `maxRate` reads its blocks
155
+ * every `maxRate` seconds instead (`refreshLivePageBlocks()`), until it is back.
145
156
  */
146
157
  export interface PageLiveOptions {
147
158
  /**
148
159
  * Shortest interval, in seconds, between two refetches of one block in
149
- * Direct. Unset, a block refetches on each event, as without `live`.
160
+ * Direct, and the polling interval while the realtime stream is down.
161
+ * Unset, a block refetches on each event, as without `live`, and the page
162
+ * does not poll.
150
163
  */
151
164
  maxRate?: number;
165
+ /**
166
+ * A slower cadence while the page shows a long period: once the period of
167
+ * its `PeriodSelector` spans `period` or more, `maxRate` gives way to this
168
+ * one, for the gate and the polling alike. A week of data barely moves in 5 s.
169
+ *
170
+ * ```ts
171
+ * live: { maxRate: 10, slowRateAfter: { period: "7d", maxRate: 60 } }
172
+ * ```
173
+ */
174
+ slowRateAfter?: PageLiveSlowRate;
175
+ /**
176
+ * Shares the remembered Direct / Pause choice between the pages declaring
177
+ * the same key, e.g. the pages of one module (`rememberKey: "api"`). Unset, each
178
+ * page remembers its own.
179
+ */
180
+ rememberKey?: string;
181
+ }
182
+ /**
183
+ * A length of time: a positive whole number of minutes, hours or days
184
+ * (`"30m"`, `"24h"`, `"7d"`).
185
+ */
186
+ export type PageLivePeriod = `${number}${"m" | "h" | "d"}`;
187
+ /** The slower cadence of a live page showing a long period. */
188
+ export interface PageLiveSlowRate {
189
+ /** The shortest period the slower cadence applies to. */
190
+ period: PageLivePeriod;
191
+ /** Shortest interval, in seconds, between two refetches of one block. */
192
+ maxRate: number;
152
193
  }
153
194
  export interface MenuOptions {
154
195
  displayName: string;
@@ -348,4 +389,6 @@ export interface PageLayout<T = unknown> {
348
389
  */
349
390
  allComponentsHidden?: true;
350
391
  }
351
- export type PageLayoutHandler = (user: User | undefined, memberModel: TenantMemberModel, roleModel: RoleModel, tenantId: string) => Promise<PageLayout>;
392
+ export type PageLayoutHandler = (user: User | undefined, memberModel: TenantMemberModel, roleModel: RoleModel, tenantId: string,
393
+ /** The query of the page URL, handed to header-button availability. */
394
+ query?: Readonly<Record<string, string>>) => Promise<PageLayout>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antelopejs/interface-dms",
3
- "version": "0.5.5",
3
+ "version": "0.5.7",
4
4
  "description": "Public AntelopeJS interfaces of the DMS: pages, components, permissions, tenancy, auth, notifications and HTML rendering.",
5
5
  "keywords": [
6
6
  "antelopejs",