@gravitee/gamma-lib-observability 2.1.0 → 2.2.0-fix-obs-59-keep-dashboard-revision-map-alive.b6b4e36
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/INTEGRATION.md +85 -6
- package/dist/dashboards/editor/DashboardConflictDialog.d.ts +40 -0
- package/dist/dashboards/editor/DashboardConflictDialog.d.ts.map +1 -0
- package/dist/dashboards/editor/DashboardEditorPage.d.ts.map +1 -1
- package/dist/data-sources/dashboard-persistence.d.ts +38 -2
- package/dist/data-sources/dashboard-persistence.d.ts.map +1 -1
- package/dist/data-sources/http-dashboard-persistence.d.ts +8 -18
- package/dist/data-sources/http-dashboard-persistence.d.ts.map +1 -1
- package/dist/hooks/use-custom-dashboards.d.ts +17 -0
- package/dist/hooks/use-custom-dashboards.d.ts.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2040 -1829
- package/dist/providers/http-provider.d.ts +22 -0
- package/dist/providers/http-provider.d.ts.map +1 -1
- package/dist/providers/index.d.ts +1 -1
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/routing/ObservabilityRoutes.d.ts.map +1 -1
- package/dist/styles/observability.css +1 -1
- package/package.json +1 -1
package/INTEGRATION.md
CHANGED
|
@@ -857,12 +857,12 @@ const capabilities: DashboardCapabilities = {
|
|
|
857
857
|
</CapabilityProvider>;
|
|
858
858
|
```
|
|
859
859
|
|
|
860
|
-
| Capability | Effect
|
|
861
|
-
| -------------------------------- |
|
|
862
|
-
| `observability.dashboards.read` | Shows dashboard pages. Templates with `requiredCapabilities` are hidden when `false`.
|
|
863
|
-
| `observability.dashboards.write` | Enables
|
|
864
|
-
| `observability.logs.read` | Shows logs explorer page.
|
|
865
|
-
| `observability.traces.read` |
|
|
860
|
+
| Capability | Effect |
|
|
861
|
+
| -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
862
|
+
| `observability.dashboards.read` | Shows dashboard pages. Templates with `requiredCapabilities` are hidden when `false`. |
|
|
863
|
+
| `observability.dashboards.write` | Enables creating, editing, duplicating and deleting custom dashboards. Without it, templates **and** saved custom dashboards are still listed and viewable, just read-only. Storage must also be in scope, see [Dashboard storage](#dashboard-storage-dashboardpersistence). |
|
|
864
|
+
| `observability.logs.read` | Shows logs explorer page. |
|
|
865
|
+
| `observability.traces.read` | Shows the traces explorer and trace detail routes, when tracing is enabled. |
|
|
866
866
|
|
|
867
867
|
**Default behavior:** When no `CapabilityProvider` is present, all capabilities default to `false` (secure default). For initial integration without RBAC, pass all relevant capabilities as `true`.
|
|
868
868
|
|
|
@@ -984,6 +984,85 @@ const logsSource = createHttpLogsSource(baseUrl, {
|
|
|
984
984
|
|
|
985
985
|
**`getById`**: fetches a single log via `GET /observability/logs/{requestId}?apiId={apiId}`. The `apiId` is extracted from the log row at click time via the `logsGetApiId` prop. Returns `null` on 404.
|
|
986
986
|
|
|
987
|
+
### Dashboard storage (`DashboardPersistence`)
|
|
988
|
+
|
|
989
|
+
Custom dashboards are stored through a `DashboardPersistence`. `ObservabilityRoutes` builds the built-in HTTP one (`{baseUrl}/observability/dashboards`) from the shared `http` options when `config.features.dashboards.enabled` is true, so a server-backed dashboards section needs no host plumbing. Mounting a `DashboardPersistenceProvider` overrides it, and stays the seam for a custom store and for tests.
|
|
990
|
+
|
|
991
|
+
Options of the built-in adapter, `createHttpDashboardPersistence(baseUrl, options?)`:
|
|
992
|
+
|
|
993
|
+
| Option | Purpose |
|
|
994
|
+
| --------------------------------- | ---------------------------------------------------------------------------------------- |
|
|
995
|
+
| `fetch`, `headers`, `credentials` | Same as the other HTTP adapters, see [Authenticated HTTP](#authenticated-http-http-prop) |
|
|
996
|
+
| `dashboardsPath` | Path appended to `baseUrl`. Defaults to `'/observability/dashboards'` |
|
|
997
|
+
|
|
998
|
+
To store dashboards elsewhere, mount your own implementation instead. The browser-local one shipped with the library is the shortest example:
|
|
999
|
+
|
|
1000
|
+
```tsx
|
|
1001
|
+
import {
|
|
1002
|
+
DashboardPersistenceProvider,
|
|
1003
|
+
createLocalStorageDashboardPersistence,
|
|
1004
|
+
} from '@gravitee/gamma-lib-observability';
|
|
1005
|
+
|
|
1006
|
+
// Scope the key per environment: localStorage is origin-wide, so an unscoped
|
|
1007
|
+
// key leaks dashboards across environments served from the same console origin.
|
|
1008
|
+
const persistence = createLocalStorageDashboardPersistence({
|
|
1009
|
+
storageKey: `observability.dashboards.${environmentId}`,
|
|
1010
|
+
});
|
|
1011
|
+
|
|
1012
|
+
<DashboardPersistenceProvider persistence={persistence}>
|
|
1013
|
+
<observability.Routes baseUrl={baseUrl} />
|
|
1014
|
+
</DashboardPersistenceProvider>;
|
|
1015
|
+
```
|
|
1016
|
+
|
|
1017
|
+
A custom store implements:
|
|
1018
|
+
|
|
1019
|
+
```ts
|
|
1020
|
+
interface DashboardPersistence {
|
|
1021
|
+
fetchDashboard(id: string, signal?: AbortSignal): Promise<Dashboard>;
|
|
1022
|
+
fetchDashboards(signal?: AbortSignal): Promise<Dashboard[]>;
|
|
1023
|
+
createDashboard(dashboard: Dashboard, signal?: AbortSignal): Promise<Dashboard>;
|
|
1024
|
+
updateDashboard(dashboard: Dashboard, signal?: AbortSignal, options?: { force?: boolean }): Promise<Dashboard>;
|
|
1025
|
+
deleteDashboard(id: string, signal?: AbortSignal): Promise<void>;
|
|
1026
|
+
/** Optional, only for a store that guards concurrent edits. */
|
|
1027
|
+
adoptCurrentRevision?(dashboardId: string): void;
|
|
1028
|
+
}
|
|
1029
|
+
```
|
|
1030
|
+
|
|
1031
|
+
Creation and update are separate operations rather than one `save`: the caller always knows which it means, and a server-backed store maps them to endpoints guarded by different permissions. Implementations own `createdAt` and `updatedAt` and stamp them themselves.
|
|
1032
|
+
|
|
1033
|
+
**Failures are typed**, so a screen can tell one outcome from another. Only the editor's save path discriminates them today; everywhere else, and for a store that throws plain `Error`s, a failure lands on the generic error toast. A failed _load_ renders the "may have been deleted" panel whatever the error class was.
|
|
1034
|
+
|
|
1035
|
+
| Thrown | Meaning | What the UI does with it today |
|
|
1036
|
+
| --------------------------- | ------------------------------------- | ------------------------------------------------------------------------------------------------------ |
|
|
1037
|
+
| `DashboardConflictError` | The dashboard moved since it was read | Opens the conflict dialog on the editor's save |
|
|
1038
|
+
| `DashboardNotFoundError` | No such dashboard in this environment | On a forced overwrite, switches that dialog to its deleted step. On any other write, the error toast |
|
|
1039
|
+
| `DashboardForbiddenError` | The caller may not perform this verb | Nothing specific yet: the error toast. Exported so a host can tell a refusal apart from a real failure |
|
|
1040
|
+
| `DashboardPersistenceError` | Anything else | Error toast |
|
|
1041
|
+
|
|
1042
|
+
**Concurrent edits.** `DashboardConflictError` carries `currentDashboard`, the dashboard as it now stands in the store, and the editor renders it from there rather than fetching again. The author then picks one of three resolutions, and each comes back to this port:
|
|
1043
|
+
|
|
1044
|
+
- _Overwrite_ calls `updateDashboard(dashboard, signal, { force: true })`, which must apply the write over whatever revision is current, in one request. The HTTP adapter sends `If-Match: *`. The dashboard must still exist, so an overwrite never resurrects a deleted one.
|
|
1045
|
+
- _Take their version_ calls `adoptCurrentRevision(id)`. The caller has moved onto the revision the refusal reported, so the next save must be checked against that revision instead of the one that was refused. Skipping this leaves the store refusing every later save over a conflict the author already settled.
|
|
1046
|
+
- _Save as a copy_ is a plain `createDashboard` with a new id, so it needs nothing extra.
|
|
1047
|
+
|
|
1048
|
+
A store with no optimistic locking never throws the conflict, so both members are inert there: `force` has nothing to force, and `adoptCurrentRevision` can be omitted.
|
|
1049
|
+
|
|
1050
|
+
The HTTP adapter tracks revisions itself, from the response `ETag` (falling back to the body's `version` when a cross-origin deployment does not expose the header), and quotes it back in `If-Match` on every update.
|
|
1051
|
+
|
|
1052
|
+
**The adapter instance is that memory.** The revisions live on the instance, so an adapter you build yourself has to stay alive for as long as the section is mounted. Rebuilding it (a `useMemo` keyed on an inline `http` literal, say, which is a fresh identity on every host render) empties the memory: the next save then reads the dashboard back, quotes the revision that is current at _that_ moment, and silently overwrites whatever the other author saved in between. No conflict, no dialog. `ObservabilityRoutes` handles this for the adapter it builds. When you build your own, key the memo on what identifies the store (the `baseUrl`, which carries the environment) and wrap the HTTP options in `useStableHttpOptions`, which holds the identity still without pinning the configuration: `fetch` still resolves to the implementation you hold now, and `headers` is still re-evaluated per request.
|
|
1053
|
+
|
|
1054
|
+
```tsx
|
|
1055
|
+
import { createHttpDashboardPersistence, useStableHttpOptions } from '@gravitee/gamma-lib-observability';
|
|
1056
|
+
|
|
1057
|
+
const http = useStableHttpOptions({
|
|
1058
|
+
credentials: 'include',
|
|
1059
|
+
headers: () => ({ 'X-Xsrf-Token': readXsrfTokenFromCookie() }),
|
|
1060
|
+
});
|
|
1061
|
+
const persistence = useMemo(() => createHttpDashboardPersistence(baseUrl, http), [baseUrl, http]);
|
|
1062
|
+
```
|
|
1063
|
+
|
|
1064
|
+
Changing the `baseUrl` still yields a genuinely fresh adapter, which is what an environment switch must do: no revision from the previous environment may survive it.
|
|
1065
|
+
|
|
987
1066
|
### Custom data source
|
|
988
1067
|
|
|
989
1068
|
Override the built-in HTTP metrics adapter when your module needs custom request/response mapping:
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Dashboard } from '../../types/domain';
|
|
2
|
+
/** What the author decided to do with a save the server refused. */
|
|
3
|
+
export type DashboardConflictChoice = 'overwrite' | 'take-theirs' | 'save-as-copy';
|
|
4
|
+
export interface DashboardConflictDialogProps {
|
|
5
|
+
readonly open: boolean;
|
|
6
|
+
/**
|
|
7
|
+
* The dashboard as it now stands on the server, carried by the refusal
|
|
8
|
+
* itself, so showing it costs no request.
|
|
9
|
+
*/
|
|
10
|
+
readonly theirDashboard: Dashboard | null;
|
|
11
|
+
/**
|
|
12
|
+
* The contested dashboard is gone, whether a save or an overwrite is what
|
|
13
|
+
* found out. Saving a copy is the only way left to keep the work, so it is
|
|
14
|
+
* the only resolution offered.
|
|
15
|
+
*/
|
|
16
|
+
readonly deleted?: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Resolution waiting on the server, so a slow one cannot be fired twice.
|
|
19
|
+
* Taking their version is not one of them: it is applied from the refusal
|
|
20
|
+
* this dialog is already holding, with no request to wait for.
|
|
21
|
+
*/
|
|
22
|
+
readonly pending?: Exclude<DashboardConflictChoice, 'take-theirs'> | null;
|
|
23
|
+
readonly onResolve: (choice: DashboardConflictChoice) => void;
|
|
24
|
+
/** Dismissal. The editor stays open, dirty and untouched. */
|
|
25
|
+
readonly onCancel: () => void;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* What an author is shown when their save was refused because someone else
|
|
29
|
+
* saved the same dashboard first.
|
|
30
|
+
*
|
|
31
|
+
* The refusal changed nothing on either side: their edits are still in the
|
|
32
|
+
* editor behind this dialog, and the other version is still on the server. So
|
|
33
|
+
* this asks rather than acts. Reloading on their behalf, the obvious shortcut,
|
|
34
|
+
* is the one outcome where work is actually lost, and it would be lost silently.
|
|
35
|
+
*
|
|
36
|
+
* Taking the other version is the only choice that discards something the
|
|
37
|
+
* author cannot get back, so it alone asks a second time.
|
|
38
|
+
*/
|
|
39
|
+
export declare function DashboardConflictDialog({ open, theirDashboard, deleted, pending, onResolve, onCancel, }: DashboardConflictDialogProps): import("react/jsx-runtime").JSX.Element;
|
|
40
|
+
//# sourceMappingURL=DashboardConflictDialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DashboardConflictDialog.d.ts","sourceRoot":"","sources":["../../../src/dashboards/editor/DashboardConflictDialog.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,oEAAoE;AACpE,MAAM,MAAM,uBAAuB,GAAG,WAAW,GAAG,aAAa,GAAG,cAAc,CAAC;AAEnF,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,QAAQ,CAAC,cAAc,EAAE,SAAS,GAAG,IAAI,CAAC;IAC1C;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,uBAAuB,EAAE,aAAa,CAAC,GAAG,IAAI,CAAC;IAC1E,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,uBAAuB,KAAK,IAAI,CAAC;IAC9D,6DAA6D;IAC7D,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;CAC/B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,IAAI,EACJ,cAAc,EACd,OAAe,EACf,OAAc,EACd,SAAS,EACT,QAAQ,GACT,EAAE,4BAA4B,2CA6C9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardEditorPage.d.ts","sourceRoot":"","sources":["../../../src/dashboards/editor/DashboardEditorPage.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DashboardEditorPage.d.ts","sourceRoot":"","sources":["../../../src/dashboards/editor/DashboardEditorPage.tsx"],"names":[],"mappings":"AAuEA;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED,wBAAgB,mBAAmB,CAAC,EAAE,gBAAgB,EAAE,EAAE,wBAAwB,2CAYjF"}
|
|
@@ -1,4 +1,19 @@
|
|
|
1
1
|
import { Dashboard } from '../types/domain';
|
|
2
|
+
export interface UpdateDashboardOptions {
|
|
3
|
+
/**
|
|
4
|
+
* Applies the write over whatever revision is current, instead of the one the
|
|
5
|
+
* caller is working from.
|
|
6
|
+
*
|
|
7
|
+
* This is the second step of the conflict flow, not a convenience: an author
|
|
8
|
+
* who was refused a save and chose "overwrite" applies their edit in one
|
|
9
|
+
* request, where re-reading and re-submitting could lose the same race again.
|
|
10
|
+
* It cannot be reached by accident, only by asking for it here.
|
|
11
|
+
*
|
|
12
|
+
* An implementation that does not guard concurrent edits has nothing to
|
|
13
|
+
* force (its update is already unconditional) and may ignore this.
|
|
14
|
+
*/
|
|
15
|
+
readonly force?: boolean;
|
|
16
|
+
}
|
|
2
17
|
/**
|
|
3
18
|
* Storage backing custom dashboards. Creation and update are **separate
|
|
4
19
|
* operations**, not a single `save`: the caller always knows which one it means
|
|
@@ -17,8 +32,29 @@ export interface DashboardPersistence {
|
|
|
17
32
|
fetchDashboards(signal?: AbortSignal): Promise<Dashboard[]>;
|
|
18
33
|
/** Stores a dashboard that does not exist yet. Rejects if the id is taken. */
|
|
19
34
|
createDashboard(dashboard: Dashboard, signal?: AbortSignal): Promise<Dashboard>;
|
|
20
|
-
/**
|
|
21
|
-
|
|
35
|
+
/**
|
|
36
|
+
* Overwrites an existing dashboard, preserving its creation date. Rejects if
|
|
37
|
+
* it is gone, and (where the implementation guards concurrent edits) if it
|
|
38
|
+
* moved since the caller read it, unless {@link UpdateDashboardOptions.force}
|
|
39
|
+
* says to apply the write anyway.
|
|
40
|
+
*
|
|
41
|
+
* The options are last and optional, so an implementation that ignores them
|
|
42
|
+
* still satisfies this port with a two-parameter function.
|
|
43
|
+
*/
|
|
44
|
+
updateDashboard(dashboard: Dashboard, signal?: AbortSignal, options?: UpdateDashboardOptions): Promise<Dashboard>;
|
|
22
45
|
deleteDashboard(id: string, signal?: AbortSignal): Promise<void>;
|
|
46
|
+
/**
|
|
47
|
+
* Records that the caller has taken the dashboard carried by the last refused
|
|
48
|
+
* save as its new base, so the next save is checked against *that* revision
|
|
49
|
+
* rather than the stale one the refusal quoted.
|
|
50
|
+
*
|
|
51
|
+
* Only meaningful for an implementation that guards concurrent edits, hence
|
|
52
|
+
* optional: a store without that guard has no revision to move. Calling it is
|
|
53
|
+
* the author's decision reaching the adapter ("I have seen their version and
|
|
54
|
+
* taken it"), which is why a plain re-read cannot stand in for it. A re-read
|
|
55
|
+
* proves nothing about what the author accepted, and adopting a revision on
|
|
56
|
+
* one would let a draft be saved over an edit nobody ever looked at.
|
|
57
|
+
*/
|
|
58
|
+
adoptCurrentRevision?(dashboardId: string): void;
|
|
23
59
|
}
|
|
24
60
|
//# sourceMappingURL=dashboard-persistence.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard-persistence.d.ts","sourceRoot":"","sources":["../../src/data-sources/dashboard-persistence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;;;;;GAMG;AACH;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACrE,eAAe,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAC5D,8EAA8E;IAC9E,eAAe,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAChF
|
|
1
|
+
{"version":3,"file":"dashboard-persistence.d.ts","sourceRoot":"","sources":["../../src/data-sources/dashboard-persistence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,WAAW,sBAAsB;IACrC;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;GAMG;AACH;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACrE,eAAe,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAC5D,8EAA8E;IAC9E,eAAe,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAChF;;;;;;;;OAQG;IACH,eAAe,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAClH,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE;;;;;;;;;;;OAWG;IACH,oBAAoB,CAAC,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAClD"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { HttpOptions } from '../providers/http-provider';
|
|
2
2
|
import { Dashboard } from '../types/domain';
|
|
3
|
-
import { DashboardPersistence } from './dashboard-persistence';
|
|
3
|
+
import { DashboardPersistence, UpdateDashboardOptions } from './dashboard-persistence';
|
|
4
4
|
export interface HttpDashboardPersistenceOptions extends HttpOptions {
|
|
5
5
|
/**
|
|
6
6
|
* Path appended to `baseUrl` for the dashboards collection.
|
|
@@ -8,28 +8,18 @@ export interface HttpDashboardPersistenceOptions extends HttpOptions {
|
|
|
8
8
|
*/
|
|
9
9
|
readonly dashboardsPath?: string;
|
|
10
10
|
}
|
|
11
|
-
export interface UpdateDashboardOptions {
|
|
12
|
-
/**
|
|
13
|
-
* Applies the write over whatever revision is current (`If-Match: *`) instead
|
|
14
|
-
* of the revision this adapter last saw.
|
|
15
|
-
*
|
|
16
|
-
* This is the second step of the conflict flow, not a convenience: an author
|
|
17
|
-
* who was refused a save and chose "overwrite" applies their edit in one
|
|
18
|
-
* request, where re-reading and re-submitting could lose the same race again.
|
|
19
|
-
* It cannot be reached by accident — only by asking for it here. The
|
|
20
|
-
* dashboard must still exist, so an overwrite never resurrects a deleted one.
|
|
21
|
-
*/
|
|
22
|
-
readonly force?: boolean;
|
|
23
|
-
}
|
|
24
11
|
/**
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
12
|
+
* The port's optional revision handling, honoured rather than ignored: this
|
|
13
|
+
* adapter guards concurrent edits, so `force` sends `If-Match: *` (the
|
|
14
|
+
* dashboard must still exist, so an overwrite never resurrects a deleted one)
|
|
15
|
+
* and `adoptCurrentRevision` is what moves the caller onto the revision a
|
|
16
|
+
* refused save reported.
|
|
29
17
|
*/
|
|
30
18
|
export interface HttpDashboardPersistence extends DashboardPersistence {
|
|
31
19
|
updateDashboard(dashboard: Dashboard, signal?: AbortSignal, options?: UpdateDashboardOptions): Promise<Dashboard>;
|
|
20
|
+
adoptCurrentRevision(dashboardId: string): void;
|
|
32
21
|
}
|
|
22
|
+
export type { UpdateDashboardOptions };
|
|
33
23
|
/**
|
|
34
24
|
* {@link DashboardPersistence} backed by the Gamma dashboards API
|
|
35
25
|
* (`{baseUrl}/observability/dashboards`).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-dashboard-persistence.d.ts","sourceRoot":"","sources":["../../src/data-sources/http-dashboard-persistence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAOjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"http-dashboard-persistence.d.ts","sourceRoot":"","sources":["../../src/data-sources/http-dashboard-persistence.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAOjD,OAAO,KAAK,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAkB5F,MAAM,WAAW,+BAAgC,SAAQ,WAAW;IAClE;;;OAGG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,wBAAyB,SAAQ,oBAAoB;IACpE,eAAe,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAClH,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CACjD;AAED,YAAY,EAAE,sBAAsB,EAAE,CAAC;AAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,+BAA+B,GACxC,wBAAwB,CA4P1B"}
|
|
@@ -14,5 +14,22 @@ export declare function useCustomDashboardQuery(id: string | undefined): import(
|
|
|
14
14
|
*/
|
|
15
15
|
export declare function useCreateDashboardMutation(): import('@tanstack/react-query').UseMutationResult<Dashboard, Error, Dashboard, unknown>;
|
|
16
16
|
export declare function useUpdateDashboardMutation(): import('@tanstack/react-query').UseMutationResult<Dashboard, Error, Dashboard, unknown>;
|
|
17
|
+
/**
|
|
18
|
+
* Update that applies over whatever revision is current, for an author who was
|
|
19
|
+
* refused a save and chose to overwrite the other version.
|
|
20
|
+
*
|
|
21
|
+
* Separate from {@link useUpdateDashboardMutation} rather than a flag on it, so
|
|
22
|
+
* an ordinary save cannot become an overwrite by passing the wrong variable:
|
|
23
|
+
* reaching for this hook is the deliberate act.
|
|
24
|
+
*/
|
|
25
|
+
export declare function useOverwriteDashboardMutation(): import('@tanstack/react-query').UseMutationResult<Dashboard, Error, Dashboard, unknown>;
|
|
26
|
+
/**
|
|
27
|
+
* Takes the dashboard carried by a refused save as the caller's new base: the
|
|
28
|
+
* persistence stops holding the revision that was refused, and every screen
|
|
29
|
+
* reading this dashboard from the cache shows the version that won.
|
|
30
|
+
*
|
|
31
|
+
* No request is made: the refusal already carried the whole dashboard.
|
|
32
|
+
*/
|
|
33
|
+
export declare function useAdoptServerDashboard(): (dashboard: Dashboard) => void;
|
|
17
34
|
export declare function useDeleteDashboardMutation(): import('@tanstack/react-query').UseMutationResult<void, Error, string, unknown>;
|
|
18
35
|
//# sourceMappingURL=use-custom-dashboards.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-custom-dashboards.d.ts","sourceRoot":"","sources":["../../src/hooks/use-custom-dashboards.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"use-custom-dashboards.d.ts","sourceRoot":"","sources":["../../src/hooks/use-custom-dashboards.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGjD;;;;GAIG;AACH,wBAAgB,wBAAwB,gFAavC;AAED,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,6EAmB7D;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,4FAEzC;AAED,wBAAgB,0BAA0B,4FAEzC;AAED;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,4FAI5C;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,IAAI,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,CAYxE;AAsBD,wBAAgB,0BAA0B,oFAgBzC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export { DEFAULT_CAPABILITIES, DEFAULT_MEASURE, FILTER_OPERATORS, isBarWidget, i
|
|
|
7
7
|
export type { AttributeValue, FacetBucket, Measure, MetricResult, PayloadLog, Span, SpanEvent, SpanKind, SpanStatus, TimeSeriesGroup, TimeSeriesPoint, TraceDetail, TraceSummary, } from './types';
|
|
8
8
|
export type { FacetMetricRequest, FacetsRequest, LogsQuery, LogColumnDefinition, MeasuresRequest, MetricRequest, TimeSeriesRequest, TraceQuery, } from './types';
|
|
9
9
|
export type { DashboardPersistence, FetchTraceByIdParams, LogsDataSource, LogsQueryResult, MetricsDataSource, TracesDataSource, TracesQueryResult, } from './data-sources';
|
|
10
|
-
export { CapabilityProvider, DashboardPersistenceProvider, HttpProvider, LiveRefreshProvider, LogsDataSourceProvider, MetricsDataSourceProvider, TracesDataSourceProvider, useCapabilities, useCapability, useDashboardPersistence, useOptionalDashboardPersistence, useHttpOptions, useLiveRefresh, useLogsDataSource, useMetricsDataSource, useOptionalLiveRefresh, useOptionalLogsDataSource, useOptionalMetricsDataSource, useOptionalTracesDataSource, useTracesDataSource, DEFAULT_REFRESH_INTERVAL_MS, } from './providers';
|
|
10
|
+
export { CapabilityProvider, DashboardPersistenceProvider, HttpProvider, LiveRefreshProvider, LogsDataSourceProvider, MetricsDataSourceProvider, TracesDataSourceProvider, useCapabilities, useCapability, useDashboardPersistence, useOptionalDashboardPersistence, useHttpOptions, useLiveRefresh, useLogsDataSource, useMetricsDataSource, useOptionalLiveRefresh, useOptionalLogsDataSource, useOptionalMetricsDataSource, useOptionalTracesDataSource, useStableHttpOptions, useTracesDataSource, DEFAULT_REFRESH_INTERVAL_MS, } from './providers';
|
|
11
11
|
export type { CapabilityProviderProps, DashboardPersistenceProviderProps, HttpOptions, HttpProviderProps, LiveRefreshConfig, LiveRefreshProviderProps, LiveRefreshState, LogsDataSourceProviderProps, MetricsDataSourceProviderProps, TracesDataSourceProviderProps, } from './providers';
|
|
12
12
|
export { DEFAULT_STALE_TIME, observabilityQueryKeys, useFacetsQuery, useInfiniteOptions, useLogDetailQuery, useLogsPagedQuery, useLogsQuery, useMeasuresQuery, useTimeSeriesQuery, useTraceDetailQuery, useTracesPagedQuery, } from './hooks';
|
|
13
13
|
export type { InfiniteOptionsLoader, InfiniteOptionsLoaderParams, InfiniteOptionsLoaderResult, UseInfiniteOptionsParams, UseInfiniteOptionsResult, UseFacetsQueryParams, UseLogDetailQueryParams, UseLogDetailQueryResult, UseLogsPagedQueryParams, UseLogsPagedQueryResult, UseLogsQueryParams, UseMeasuresQueryParams, UseTimeSeriesQueryParams, UseTraceDetailQueryParams, UseTraceDetailQueryResult, UseTracesPagedQueryParams, UseTracesPagedQueryResult, } from './hooks';
|
|
@@ -46,7 +46,7 @@ export { createHttpTracesSource, type HttpTracesSourceOptions } from './data-sou
|
|
|
46
46
|
export { useStableTimeRange } from './hooks/use-stable-time-range';
|
|
47
47
|
export { createLocalStorageDashboardPersistence, type LocalStorageDashboardPersistenceOptions, } from './persistence/local-storage-dashboard-persistence';
|
|
48
48
|
export { DashboardConflictError, DashboardForbiddenError, DashboardNotFoundError, DashboardPersistenceError, } from './data-sources';
|
|
49
|
-
export { useCustomDashboardQuery, useCustomDashboardsQuery, useDeleteDashboardMutation, useCreateDashboardMutation, useUpdateDashboardMutation, } from './hooks/use-custom-dashboards';
|
|
49
|
+
export { useAdoptServerDashboard, useCustomDashboardQuery, useCustomDashboardsQuery, useDeleteDashboardMutation, useCreateDashboardMutation, useOverwriteDashboardMutation, useUpdateDashboardMutation, } from './hooks/use-custom-dashboards';
|
|
50
50
|
export { parseDashboardJson, serializeDashboard, type DashboardJsonParseResult, } from './dashboards/editor/dashboard-json';
|
|
51
51
|
export type { EditableDashboardFields } from './dashboards/editor/dashboard-editor-state';
|
|
52
52
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|