@meshmakers/octo-meshboard 3.5.710 → 3.5.720

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meshmakers/octo-meshboard",
3
- "version": "3.5.710",
3
+ "version": "3.5.720",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^22.0.0",
6
6
  "@angular/core": "^22.0.0",
@@ -4858,6 +4858,12 @@ declare class TableWidgetDataSourceDirective extends OctoGraphQlDataSource<Recor
4858
4858
  private readonly stateService;
4859
4859
  private readonly variableService;
4860
4860
  private _config;
4861
+ /**
4862
+ * Signature of the query inputs outside the grid state (data source, resolved
4863
+ * widget filters, time filter, entity-selector scope) of the last fetch.
4864
+ * `null` until the first fetch. See {@link refetch}.
4865
+ */
4866
+ private _lastQueryInputs;
4861
4867
  /** Signal for dynamically derived columns from persistent query */
4862
4868
  private readonly _queryColumns;
4863
4869
  /** Exposed signal for reading derived columns */
@@ -4869,7 +4875,44 @@ declare class TableWidgetDataSourceDirective extends OctoGraphQlDataSource<Recor
4869
4875
  set config(value: TableWidgetConfig | null);
4870
4876
  get config(): TableWidgetConfig | null;
4871
4877
  constructor();
4878
+ /**
4879
+ * Refetches the widget data (board refresh, auto-refresh, config change).
4880
+ *
4881
+ * When a query input outside the grid state changed since the last fetch — a
4882
+ * MeshBoard variable or widget filter, the time filter, the entity-selector
4883
+ * scope or the data source itself — the result set is a different one, so the
4884
+ * list returns to page 1 before the query is sent (AB#8801). Otherwise the old
4885
+ * page offset could point past the end of the new result (asset repository:
4886
+ * ASSET1002 / INCOMPLETE_SLICE). A plain refresh with unchanged inputs keeps
4887
+ * the current page.
4888
+ */
4889
+ refetch(): void;
4890
+ /**
4891
+ * Page-out-of-range detection for both error shapes: the inherited check reads
4892
+ * `graphQLErrors` (Apollo 3 `ApolloError`); Apollo 4 rejects with
4893
+ * `CombinedGraphQLErrors`, which carries the same entries in `errors`.
4894
+ */
4895
+ isPageOutOfRangeError(error: unknown): boolean;
4872
4896
  fetchData(queryOptions: FetchDataOptions): Observable<FetchResultTyped<Record<string, unknown>> | null>;
4897
+ /**
4898
+ * Error path of both fetch paths. A page offset beyond the result set
4899
+ * (ASSET1002 / INCOMPLETE_SLICE, e.g. the data shrank since the last load)
4900
+ * is not shown as an empty list: the list returns to page 1 and refetches
4901
+ * once (AB#8801). The refetch runs on a microtask so the list binding's
4902
+ * current subscription has ended first; skip 0 cannot be out of range, so
4903
+ * this cannot loop. Any other error keeps today's behaviour (logged, no rows).
4904
+ */
4905
+ private handleFetchError;
4906
+ /**
4907
+ * Signature of every query input outside the grid state (paging, sort, grid
4908
+ * filter): the data source, the widget filters with MeshBoard variables
4909
+ * resolved, the time filter selection and the entity-selector scope. The time
4910
+ * filter enters as its selection, not as resolved instants, so a relative
4911
+ * range ("last 24 hours") does not look changed on every auto-refresh. The
4912
+ * board's time-zone mode enters with an active selection (no host period),
4913
+ * because the selection's window is resolved in that zone.
4914
+ */
4915
+ private queryInputsSignature;
4873
4916
  /**
4874
4917
  * Recursively flattens attributes into the record using dot notation for nested attributes.
4875
4918
  * Handles nested CkRecord attributes by extracting their inner attributes.