react-semaphor 0.1.208 → 0.1.209
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/dist/chunks/{dashboard-controls-yOzrvYwI.js → dashboard-controls-BNTI4r0_.js} +30 -30
- package/dist/chunks/{dashboard-controls-K5zNLdtH.js → dashboard-controls-Dcpx9_an.js} +1 -1
- package/dist/chunks/{dashboard-json-DqChvVCF.js → dashboard-json-BjOqpGbW.js} +1 -1
- package/dist/chunks/{dashboard-json-BuLoVNV4.js → dashboard-json-kIoBtmBF.js} +1 -1
- package/dist/chunks/{dashboard-summary-settings-dialog-tJueBNph.js → dashboard-summary-settings-dialog-BoX18wiA.js} +1 -1
- package/dist/chunks/{dashboard-summary-settings-dialog-DmccX33N.js → dashboard-summary-settings-dialog-CO1SwHHD.js} +1 -1
- package/dist/chunks/{edit-dashboard-visual-CKNlwaCO.js → edit-dashboard-visual-B9HuGExj.js} +1 -1
- package/dist/chunks/{edit-dashboard-visual-CV4JsCTg.js → edit-dashboard-visual-DG4VLoJF.js} +2 -2
- package/dist/chunks/editor-action-buttons-CDTIx_Jc.js +11 -0
- package/dist/chunks/editor-action-buttons-CszdZ4Fw.js +345 -0
- package/dist/chunks/{index-CBcPi9pm.js → index-D0TdW88i.js} +24289 -23875
- package/dist/chunks/index-DSA80lEg.js +1104 -0
- package/dist/chunks/{notification-bell-DyzIftQU.js → notification-bell-D2V1-ARa.js} +1 -1
- package/dist/chunks/{notification-bell-B-OVf20Q.js → notification-bell-DFiRaeJQ.js} +52 -52
- package/dist/chunks/resource-management-panel-BhiWNPcw.js +6 -0
- package/dist/chunks/resource-management-panel-DS_WEv1x.js +902 -0
- package/dist/chunks/{use-role-aware-display-preferences-B4QJkliF.js → use-role-aware-display-preferences-D8j5_cnK.js} +1 -1
- package/dist/chunks/{use-role-aware-display-preferences-DTSpe_ZT.js → use-role-aware-display-preferences-DfihB5pN.js} +1 -1
- package/dist/chunks/{use-visual-utils-CCT3ABI5.js → use-visual-utils-BfLXO_vi.js} +34 -34
- package/dist/chunks/{use-visual-utils-ChR-Jti8.js → use-visual-utils-CzcVz3zB.js} +1 -1
- package/dist/dashboard/index.cjs +1 -1
- package/dist/dashboard/index.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +5 -5
- package/dist/surfboard/index.cjs +1 -1
- package/dist/surfboard/index.js +2 -2
- package/dist/types/dashboard.d.ts +12 -1
- package/dist/types/main.d.ts +13 -1
- package/dist/types/surfboard.d.ts +12 -1
- package/dist/types/types.d.ts +12 -1
- package/package.json +1 -1
- package/dist/chunks/editor-action-buttons-CAjqJiT_.js +0 -340
- package/dist/chunks/editor-action-buttons-DQVh7L5i.js +0 -11
- package/dist/chunks/index-DQOwJyRp.js +0 -1104
- package/dist/chunks/resource-management-panel-D_mSi7Cm.js +0 -914
- package/dist/chunks/resource-management-panel-NqaNfAq3.js +0 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const a=require("./index-
|
|
1
|
+
"use strict";const a=require("./index-DSA80lEg.js"),n=require("react");function f(){const{displayPreferences:c,shouldShowElement:o}=a.useDisplayPreferences(),{currentUser:e,userContext:s}=a.useCurrentUserInfo(),i=n.useMemo(()=>a.getRoleBasedDisplayOverrides(e),[e]),t=n.useMemo(()=>r=>i&&i[r]!==void 0&&i[r]===!1?!1:o(r),[i,o,c]),p=n.useMemo(()=>{var r,d,l,u,h;return{canEdit:((r=s==null?void 0:s.permissions)==null?void 0:r.canEdit)??a.canUserEdit(e),canUseFilters:((d=s==null?void 0:s.permissions)==null?void 0:d.canEdit)??a.canUserUseFilters(e),canManageDashboards:((l=s==null?void 0:s.permissions)==null?void 0:l.canCreateDashboard)??a.canUserManageDashboards(e),canCreateDashboards:((u=s==null?void 0:s.permissions)==null?void 0:u.canCreateDashboard)??a.canUserCreateDashboards(e),canAccessVisuals:((h=s==null?void 0:s.permissions)==null?void 0:h.canEdit)??a.canUserAccessVisuals(e)}},[e,s]);return{displayPreferences:c,shouldShowElement:t,permissions:p,currentUser:e}}exports.useRoleAwareDisplayPreferences=f;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { b as m, e as t, g as D, f as U, h as b, i as u, j as E, k as g } from "./index-
|
|
1
|
+
import { b as m, e as t, g as D, f as U, h as b, i as u, j as E, k as g } from "./index-D0TdW88i.js";
|
|
2
2
|
import { useMemo as i } from "react";
|
|
3
3
|
function S() {
|
|
4
4
|
const { displayPreferences: n, shouldShowElement: c } = m(), { currentUser: a, userContext: s } = t(), r = i(
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { bI as G, l as J, bJ as K, bK as Y, bL as X, by as _, bs as Z, u as v, bM as q, bN as ee, I as V, bO as te, bA as f } from "./index-D0TdW88i.js";
|
|
2
2
|
import { useState as j, useEffect as re, useCallback as A } from "react";
|
|
3
3
|
function se(e) {
|
|
4
4
|
const a = e.toUpperCase().indexOf("WHERE"), t = e.toUpperCase().indexOf("GROUP BY"), r = e.toUpperCase().indexOf("LIMIT"), s = e.toUpperCase().indexOf("ORDER BY");
|
|
@@ -96,7 +96,7 @@ async function k(e, a, t, r) {
|
|
|
96
96
|
if (n)
|
|
97
97
|
return console.log("Using cached visual data for:", t), { data: n, fromCache: !0 };
|
|
98
98
|
console.log("Fetching visual data from network for:", t);
|
|
99
|
-
const i =
|
|
99
|
+
const i = V.loading("Loading visual...", {
|
|
100
100
|
position: "top-center"
|
|
101
101
|
});
|
|
102
102
|
try {
|
|
@@ -111,12 +111,12 @@ async function k(e, a, t, r) {
|
|
|
111
111
|
if (!o.ok)
|
|
112
112
|
throw new Error("Failed to load visual");
|
|
113
113
|
const d = await o.json();
|
|
114
|
-
return r.setQueryData(s, d),
|
|
114
|
+
return r.setQueryData(s, d), V.dismiss(i), { data: d, fromCache: !1 };
|
|
115
115
|
} catch (o) {
|
|
116
|
-
throw
|
|
116
|
+
throw V.dismiss(i), o;
|
|
117
117
|
}
|
|
118
118
|
}
|
|
119
|
-
function
|
|
119
|
+
function H(e) {
|
|
120
120
|
if (typeof e == "string")
|
|
121
121
|
return JSON.parse(e);
|
|
122
122
|
if (typeof e == "object")
|
|
@@ -128,7 +128,7 @@ function ce(e, a) {
|
|
|
128
128
|
const t = (e == null ? void 0 : e.frameObject) ?? ((n = e == null ? void 0 : e.visual) == null ? void 0 : n.frameObject);
|
|
129
129
|
if (!t)
|
|
130
130
|
return !1;
|
|
131
|
-
const r =
|
|
131
|
+
const r = H(t);
|
|
132
132
|
if (!(r != null && r.cards) || r.cards.length === 0)
|
|
133
133
|
return !1;
|
|
134
134
|
const s = (i = r.cards) == null ? void 0 : i.find(
|
|
@@ -143,7 +143,7 @@ function ce(e, a) {
|
|
|
143
143
|
}
|
|
144
144
|
function ie() {
|
|
145
145
|
var S;
|
|
146
|
-
const { setCardSql: e } =
|
|
146
|
+
const { setCardSql: e } = _(), a = f((c) => c.frame), t = f((c) => c.card), r = f((c) => c.isDevMode), s = oe(
|
|
147
147
|
((S = t.customCardPreferences) == null ? void 0 : S.url) || ""
|
|
148
148
|
), n = f(
|
|
149
149
|
(c) => c.selectedSchemaName
|
|
@@ -204,7 +204,7 @@ function ie() {
|
|
|
204
204
|
]) };
|
|
205
205
|
}
|
|
206
206
|
function ue() {
|
|
207
|
-
const { authToken: e, tokenProps: a } =
|
|
207
|
+
const { authToken: e, tokenProps: a } = J(), t = K(), r = Y(), { selectVisual: s } = X(), {
|
|
208
208
|
setFrame: n,
|
|
209
209
|
setCard: i,
|
|
210
210
|
setIsDevMode: o,
|
|
@@ -212,26 +212,26 @@ function ue() {
|
|
|
212
212
|
setActiveTabCardId: m,
|
|
213
213
|
updateDataSource: h,
|
|
214
214
|
setQueryResultColumns: p,
|
|
215
|
-
setSelectedConnectionId:
|
|
215
|
+
setSelectedConnectionId: $,
|
|
216
216
|
setSelectedDatabaseName: S,
|
|
217
217
|
setSelectedSchemaName: c,
|
|
218
218
|
setSelectedTableName: C,
|
|
219
219
|
setSelectedDatamodelId: U,
|
|
220
220
|
setFilterValues: w,
|
|
221
221
|
setApplyFilters: I
|
|
222
|
-
} =
|
|
222
|
+
} = _(), {
|
|
223
223
|
setIsDashboardEditing: b,
|
|
224
224
|
setIsVisualEditing: D,
|
|
225
225
|
setSelectedFrameId: N,
|
|
226
|
-
clearSelectedFrameId:
|
|
227
|
-
addFrame:
|
|
228
|
-
setIsDashboardPanelOpen:
|
|
229
|
-
} = Z(), y = v((l) => l.selectedSheetId),
|
|
226
|
+
clearSelectedFrameId: O,
|
|
227
|
+
addFrame: M,
|
|
228
|
+
setIsDashboardPanelOpen: T
|
|
229
|
+
} = Z(), y = v((l) => l.selectedSheetId), x = v((l) => l.selectedFrameId), B = v((l) => l.dashboard), L = v((l) => l.filterValues), E = q((r == null ? void 0 : r.id) || "", {
|
|
230
230
|
enabled: !!(r != null && r.id) && !!(e != null && e.accessToken)
|
|
231
|
-
}),
|
|
231
|
+
}), Q = A(
|
|
232
232
|
async (l) => {
|
|
233
233
|
try {
|
|
234
|
-
s(l),
|
|
234
|
+
s(l), O();
|
|
235
235
|
const { data: g, fromCache: u } = await k(
|
|
236
236
|
a.apiServiceUrl,
|
|
237
237
|
(e == null ? void 0 : e.accessToken) || "",
|
|
@@ -246,7 +246,7 @@ function ue() {
|
|
|
246
246
|
setActiveTabCardId: m,
|
|
247
247
|
updateDataSource: h,
|
|
248
248
|
setQueryResultColumns: p,
|
|
249
|
-
setSelectedConnectionId:
|
|
249
|
+
setSelectedConnectionId: $,
|
|
250
250
|
setSelectedDatabaseName: S,
|
|
251
251
|
setSelectedSchemaName: c,
|
|
252
252
|
setSelectedTableName: C,
|
|
@@ -255,10 +255,10 @@ function ue() {
|
|
|
255
255
|
setApplyFilters: I,
|
|
256
256
|
setIsDashboardEditing: b,
|
|
257
257
|
setIsVisualEditing: D,
|
|
258
|
-
dashboard:
|
|
258
|
+
dashboard: B,
|
|
259
259
|
selectedSheetId: y,
|
|
260
|
-
selectedFrameId:
|
|
261
|
-
filterValues:
|
|
260
|
+
selectedFrameId: x,
|
|
261
|
+
filterValues: L
|
|
262
262
|
}))
|
|
263
263
|
throw new Error("Failed to setup editor with visual data");
|
|
264
264
|
return { success: !0, fromCache: u };
|
|
@@ -280,18 +280,18 @@ function ue() {
|
|
|
280
280
|
m,
|
|
281
281
|
h,
|
|
282
282
|
p,
|
|
283
|
-
|
|
283
|
+
$,
|
|
284
284
|
S,
|
|
285
285
|
c,
|
|
286
286
|
C,
|
|
287
287
|
U,
|
|
288
288
|
w,
|
|
289
289
|
I,
|
|
290
|
-
|
|
291
|
-
|
|
290
|
+
O,
|
|
291
|
+
B,
|
|
292
292
|
y,
|
|
293
|
-
|
|
294
|
-
|
|
293
|
+
x,
|
|
294
|
+
L
|
|
295
295
|
]
|
|
296
296
|
), z = A(
|
|
297
297
|
async (l) => {
|
|
@@ -302,23 +302,23 @@ function ue() {
|
|
|
302
302
|
success: !1,
|
|
303
303
|
error: "No sheet selected. Please select a sheet first."
|
|
304
304
|
};
|
|
305
|
-
const { data: u, fromCache:
|
|
305
|
+
const { data: u, fromCache: P } = await k(
|
|
306
306
|
a.apiServiceUrl,
|
|
307
307
|
(e == null ? void 0 : e.accessToken) || "",
|
|
308
308
|
l.id,
|
|
309
309
|
t
|
|
310
|
-
),
|
|
311
|
-
if (!
|
|
310
|
+
), R = (u == null ? void 0 : u.frameObject) ?? ((g = u == null ? void 0 : u.visual) == null ? void 0 : g.frameObject);
|
|
311
|
+
if (!R)
|
|
312
312
|
return { success: !1, error: "Visual has no frame data" };
|
|
313
|
-
const F =
|
|
313
|
+
const F = H(R);
|
|
314
314
|
if (!(F != null && F.cards) || F.cards.length === 0)
|
|
315
315
|
return { success: !1, error: "Visual frame is malformed" };
|
|
316
|
-
const
|
|
316
|
+
const W = {
|
|
317
317
|
...ee(F),
|
|
318
318
|
visualId: l.id
|
|
319
319
|
// Link this frame to the library visual
|
|
320
320
|
};
|
|
321
|
-
return
|
|
321
|
+
return M(y, W, "end"), b(!0), N(W.id), T(!1), { success: !0, fromCache: P };
|
|
322
322
|
} catch (u) {
|
|
323
323
|
return console.error("Error adding visual:", u), { success: !1, error: "Failed to add visual to dashboard" };
|
|
324
324
|
}
|
|
@@ -329,10 +329,10 @@ function ue() {
|
|
|
329
329
|
t,
|
|
330
330
|
s,
|
|
331
331
|
y,
|
|
332
|
-
|
|
332
|
+
M,
|
|
333
333
|
b,
|
|
334
334
|
N,
|
|
335
|
-
|
|
335
|
+
T
|
|
336
336
|
]
|
|
337
337
|
);
|
|
338
338
|
return {
|
|
@@ -340,7 +340,7 @@ function ue() {
|
|
|
340
340
|
isLoading: E.isLoading,
|
|
341
341
|
isError: E.isError,
|
|
342
342
|
error: E.error,
|
|
343
|
-
handleEditLibraryVisual:
|
|
343
|
+
handleEditLibraryVisual: Q,
|
|
344
344
|
handleAddLibraryVisual: z,
|
|
345
345
|
getUpdatedFrame: ie().getUpdatedFrame,
|
|
346
346
|
refetch: E.refetch
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const a=require("./index-
|
|
1
|
+
"use strict";const a=require("./index-DSA80lEg.js"),g=require("react");function H(e){const n=e.toUpperCase().indexOf("WHERE"),t=e.toUpperCase().indexOf("GROUP BY"),r=e.toUpperCase().indexOf("LIMIT"),s=e.toUpperCase().indexOf("ORDER BY");let c=e.length;if(s!==-1&&(c=s),r!==-1&&r<c&&(c=r),n!==-1){const d=e.substring(0,n),o=e.substring(n);return`${d} {{ filters | where }} AND ${o.substring(6)}`}else if(t!==-1){const d=e.substring(0,t),o=e.substring(t);return`${d} {{ filters | where }} ${o}`}else{const d=e.substring(0,c),o=e.substring(c);return console.log("beforeClause",d),console.log("afterClause",o),o?`${d} {{ filters | where }} ${o}`:`${d.replace(/;$/,"")} {{ filters | where }}`}}function k(e){const[n,t]=g.useState(null),[r,s]=g.useState(null),c=a.useEnsureReactGlobals();return g.useEffect(()=>{if(!e||e.trim()===""){t(null),s(null);return}if(!c)return;(async()=>{try{if(!e.startsWith("http://")&&!e.startsWith("https://"))throw new Error(`Invalid URL format: ${e}`);try{new URL(e)}catch{throw new Error(`Invalid URL: ${e}`)}const l=`${e.endsWith("/")?e:`${e}/`}index.js`;try{if(!(await fetch(l,{method:"HEAD"})).ok)throw new Error(`Module not found at ${l}`)}catch{}const h=await import(l);if(typeof h.useChartStore!="function")throw new Error("useChartStore is not a function");t(()=>h.useChartStore),s(null)}catch(o){const l=o instanceof Error?o.message:"Unknown error";console.error("Failed to load remote chart store:",l),s(l),t(null)}})()},[e,c]),n}function Q(e,n){if(e.length===0)return"";const t=e.find(r=>{var s,c;return((s=r.customCardPreferences)==null?void 0:s.visualType)==="multiple"||!!((c=r.customCardPreferences)!=null&&c.dataInputCardIds)});if(t)return t.id;if(n){const r=e.find(s=>s.id===n);if(r){const s=r.tabTitle;if(s=="All__Header")return e[0].id;if(s&&s.endsWith("__Header")){const d=s.split("__")[0],o=e.find(l=>l.tabTitle===d);return o?o.id:e[0].id}return n}}return e[0].id}const z=e=>{if(!e||!("detailTableBackup"in e))return e;const{detailTableBackup:n,...t}=e;return t};async function W(e,n,t,r){if(!n||!t)throw new Error("Missing auth token or visual ID");const s=["resource-by-id","visual",t],c=r.getQueryData(s);if(c)return console.log("Using cached visual data for:",t),{data:c,fromCache:!0};console.log("Fetching visual data from network for:",t);const d=a.ue.loading("Loading visual...",{position:"top-center"});try{const o=await fetch(`${e}/management/v1/visuals/${t}`,{headers:{Authorization:`Bearer ${n}`}});if(!o.ok)throw new Error("Failed to load visual");const l=await o.json();return r.setQueryData(s,l),a.ue.dismiss(d),{data:l,fromCache:!1}}catch(o){throw a.ue.dismiss(d),o}}function L(e){if(typeof e=="string")return JSON.parse(e);if(typeof e=="object")return e;throw new Error("Invalid frame object format")}function G(e,n){var c,d;const t=(e==null?void 0:e.frameObject)??((c=e==null?void 0:e.visual)==null?void 0:c.frameObject);if(!t)return!1;const r=L(t);if(!(r!=null&&r.cards)||r.cards.length===0)return!1;const s=(d=r.cards)==null?void 0:d.find(o=>o.id===r.activeCardId);return s?(a.setupEditorWithCard({...n,frame:r,card:s,visualId:(e==null?void 0:e.id)||r.visualId}),!0):!1}function Y(){var C;const{setCardSql:e}=a.useEditorActions(),n=a.useEditorStore(i=>i.frame),t=a.useEditorStore(i=>i.card),r=a.useEditorStore(i=>i.isDevMode),s=k(((C=t.customCardPreferences)==null?void 0:C.url)||""),c=a.useEditorStore(i=>i.selectedSchemaName),d=a.useEditorStore(i=>i.selectedDatamodelId),o=a.useEditorStore(i=>i.selectedDatabaseName),l=a.useEditorStore(i=>i.selectedTableName),h=a.useEditorStore(i=>i.selectedConnectionId),m=a.useEditorStore(i=>i.isShowingVisual),p=t.sql;return{getUpdatedFrame:g.useCallback(()=>{var I;let i=p;p&&!p.includes("{{")&&(i=H(p),e(i));const E=(I=s==null?void 0:s.getState())==null?void 0:I.settings,v={...t,dataSource:t.dataSource||{mode:"directSource"},lastSelectedSchema:c,lastSelectedDatamodelId:d,lastSelectedDatabase:o,lastSelectedTable:l,connectionId:h,sql:r?i:void 0,python:r?t.python:void 0,config:r?void 0:z(t.config),customCfg:m?t.customCfg:null,preferences:t.preferences,...E&&{customCardPreferences:{...t.customCardPreferences,settings:E}}},w=n.cards.map(S=>S.id===t.id?v:S);return{...n,cards:w,activeCardId:Q(w,n.activeCardId)}},[t,n,r,m,c,d,o,l,h,e,s,p])}}function J(){const{authToken:e,tokenProps:n}=a.useSemaphorContext(),t=a.useQueryClient(),r=a.useSelectedVisual(),{selectVisual:s}=a.useManagementActions(),{setFrame:c,setCard:d,setIsDevMode:o,initializeModeDrafts:l,setActiveTabCardId:h,updateDataSource:m,setQueryResultColumns:p,setSelectedConnectionId:D,setSelectedDatabaseName:C,setSelectedSchemaName:i,setSelectedTableName:E,setSelectedDatamodelId:v,setFilterValues:w,setApplyFilters:I}=a.useEditorActions(),{setIsDashboardEditing:S,setIsVisualEditing:V,setSelectedFrameId:$,clearSelectedFrameId:A,addFrame:R,setIsDashboardPanelOpen:N}=a.useDashboardActions(),y=a.useDashboardStore(u=>u.selectedSheetId),O=a.useDashboardStore(u=>u.selectedFrameId),T=a.useDashboardStore(u=>u.dashboard),x=a.useDashboardStore(u=>u.filterValues),F=a.useVisualById((r==null?void 0:r.id)||"",{enabled:!!(r!=null&&r.id)&&!!(e!=null&&e.accessToken)}),j=g.useCallback(async u=>{try{s(u),A();const{data:b,fromCache:f}=await W(n.apiServiceUrl,(e==null?void 0:e.accessToken)||"",u.id,t);if(!G(b,{setFrame:c,setCard:d,setIsDevMode:o,initializeModeDrafts:l,setActiveTabCardId:h,updateDataSource:m,setQueryResultColumns:p,setSelectedConnectionId:D,setSelectedDatabaseName:C,setSelectedSchemaName:i,setSelectedTableName:E,setSelectedDatamodelId:v,setFilterValues:w,setApplyFilters:I,setIsDashboardEditing:S,setIsVisualEditing:V,dashboard:T,selectedSheetId:y,selectedFrameId:O,filterValues:x}))throw new Error("Failed to setup editor with visual data");return{success:!0,fromCache:f}}catch(b){return console.error("Error editing visual:",b),{success:!1,error:"Failed to load visual for editing"}}},[e==null?void 0:e.accessToken,n.apiServiceUrl,t,s,c,d,S,V,o,l,h,m,p,D,C,i,E,v,w,I,A,T,y,O,x]),_=g.useCallback(async u=>{var b;try{if(s(u),!y)return{success:!1,error:"No sheet selected. Please select a sheet first."};const{data:f,fromCache:B}=await W(n.apiServiceUrl,(e==null?void 0:e.accessToken)||"",u.id,t),M=(f==null?void 0:f.frameObject)??((b=f==null?void 0:f.visual)==null?void 0:b.frameObject);if(!M)return{success:!1,error:"Visual has no frame data"};const U=L(M);if(!(U!=null&&U.cards)||U.cards.length===0)return{success:!1,error:"Visual frame is malformed"};const P={...a.cloneLinkedFrameWithSourceMapping(U),visualId:u.id};return R(y,P,"end"),S(!0),$(P.id),N(!1),{success:!0,fromCache:B}}catch(f){return console.error("Error adding visual:",f),{success:!1,error:"Failed to add visual to dashboard"}}},[e==null?void 0:e.accessToken,n.apiServiceUrl,t,s,y,R,S,$,N]);return{visual:F.data,isLoading:F.isLoading,isError:F.isError,error:F.error,handleEditLibraryVisual:j,handleAddLibraryVisual:_,getUpdatedFrame:Y().getUpdatedFrame,refetch:F.refetch}}exports.useRemoteChartStore=k;exports.useVisualUtils=J;
|
package/dist/dashboard/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/index-DSA80lEg.js"),o=require("../chunks/common-types-CfJLrTJd.js");exports.Dashboard=e.Dashboard;exports.EMPTY_SELECTION=o.EMPTY_SELECTION;
|
package/dist/dashboard/index.js
CHANGED
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./chunks/index-DQOwJyRp.js"),j=require("./chunks/common-types-CfJLrTJd.js"),D=require("./chunks/dashboard-summary-settings-dialog-tJueBNph.js"),t=require("react/jsx-runtime"),C=require("react"),v=require("./chunks/resource-management-panel-NqaNfAq3.js"),N=require("./types/index.cjs");require("react-dom");const c=require("./chunks/notification-bell-DyzIftQU.js");function P(r){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const o in r)if(o!=="default"){const i=Object.getOwnPropertyDescriptor(r,o);Object.defineProperty(a,o,i.get?i:{enumerable:!0,get:()=>r[o]})}}return a.default=r,Object.freeze(a)}const h=P(C);function M(r){const{displayPreferences:a,...o}=r,i={...o,id:r.dashboardId};return t.jsx(e.ErrorBoundary,{FallbackComponent:e.Fallback,children:t.jsxs(e.SemaphorContextProvider,{dashboardProps:i,children:[t.jsx(e.SemaphorReadyIndicator,{componentType:"visual",componentId:r.cardId}),t.jsx(e.UXProvider,{children:t.jsx(e.DisplayPreferencesProvider,{displayPreferences:a,children:t.jsx(e.Container,{type:"visual",...i,children:t.jsx(_,{cardId:r.cardId})})})})]})})}function _({cardId:r}){const a=e.useDashboardStore(n=>{var l;return(l=n.dashboard)==null?void 0:l.sheets}),{card:o,frame:i}=C.useMemo(()=>{const n=a==null?void 0:a.flatMap(s=>s.frames),l=n==null?void 0:n.flatMap(s=>s==null?void 0:s.cards),x=l==null?void 0:l.find(s=>(s==null?void 0:s.id)===r),u=n==null?void 0:n.find(s=>{var p;return(p=s==null?void 0:s.cards)==null?void 0:p.find(m=>(m==null?void 0:m.id)===r)});return{card:x,frame:u}},[a,r]);return!o||!i?t.jsx(e.FallbackVisual,{error:new Error("Card not found"),resetErrorBoundary:()=>{},customerFacingMessage:`Card not found with ID: ${r}`}):t.jsx("main",{className:"flex h-full grow flex-col",children:t.jsx(e.ErrorBoundary,{FallbackComponent:({error:n,resetErrorBoundary:l})=>t.jsx(e.FallbackVisual,{error:n,resetErrorBoundary:l,customerFacingMessage:"Error creating visual. Please try again."}),children:t.jsx(e.DashboardCard,{card:o,frame:i})})})}function I({name:r,items:a,value:o,onChange:i,isLoading:n,isError:l,refetch:x,className:u,icon:s,showNone:p=!1}){const m=h.useRef(null),[f,y]=h.useState(!1),[E,S]=h.useState("100%"),g=p?[...a||[],{id:"none",name:"None"}]:a;h.useLayoutEffect(()=>{m.current&&S(m.current.offsetWidth)},[]);function b(){var d;return n?"Loading...":l?"Error":o?(d=a==null?void 0:a.find(A=>A.id===o))==null?void 0:d.name:`Select ${r}`}function T(d,A){i(A),y(!1)}return t.jsxs(e.Popover,{open:f,onOpenChange:y,children:[t.jsx(e.PopoverTrigger,{asChild:!0,children:t.jsxs(e.Button,{ref:m,variant:"outline",role:"combobox","aria-expanded":f,className:e.cn("flex h-9 w-full justify-between",u),children:[t.jsxs("div",{className:"flex items-center gap-2",children:[s&&t.jsx("div",{className:"mr-2",children:s}),t.jsx("span",{className:"max-w-[150px] overflow-hidden truncate text-ellipsis whitespace-nowrap",children:b()})]}),t.jsx(e.ChevronDown,{className:"size-4 opacity-50"})]})}),t.jsx(e.PopoverContent,{className:"w-full p-0",style:{minWidth:E},children:t.jsxs(e.Command,{children:[t.jsxs("div",{className:"flex h-9 items-center justify-between border-b pr-1",children:[t.jsx(e.CommandInput,{className:"h-9",placeholder:"Search..."}),t.jsx(e.IconButton,{className:"h-7",onClick:x,children:t.jsx(e.RefreshCw,{className:e.cn("size-3.5 opacity-50",n&&"animate-spin")})})]}),t.jsxs(e.CommandList,{children:[t.jsxs(e.CommandEmpty,{children:["No ",r==null?void 0:r.toLowerCase()," found."]}),t.jsx(e.CommandGroup,{children:g==null?void 0:g.map(d=>t.jsx(e.CommandItem,{className:"overflow-x-auto",value:d.name,onSelect:A=>T(A,d.id),children:t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx(e.Check,{className:e.cn("size-4",o===d.id?"opacity-100":"opacity-0")}),t.jsx("div",{title:d.name,children:d.name})]})},d.id))})]})]})})]})}function R(r,a){C.useEffect(()=>(r&&a&&(window.__SEMAPHOR_PRINT_STATE__={...a}),()=>{r&&window.__SEMAPHOR_PRINT_STATE__&&delete window.__SEMAPHOR_PRINT_STATE__}),[r,a])}function w(){var l,x;const{quotasQuery:r,usageQuery:a}=e.useAlertQuotas(),o=((l=r.data)==null?void 0:l.quotas)||[],i=((x=a.data)==null?void 0:x.usage)||[],n=new Map(i.map(u=>[u.tenantId||"org",u]));return t.jsxs("div",{className:"space-y-4 p-4",children:[t.jsxs("div",{className:"flex items-center justify-between",children:[t.jsx("h2",{className:"text-xl font-semibold",children:"Alert Quotas"}),t.jsx(e.Button,{variant:"outline",size:"sm",onClick:()=>{r.refetch(),a.refetch()},children:"Refresh"})]}),r.isLoading||a.isLoading?t.jsx("p",{className:"text-sm text-muted-foreground",children:"Loading quota usage..."}):null,t.jsx("div",{className:"overflow-hidden rounded-lg border",children:t.jsxs("table",{className:"w-full text-sm",children:[t.jsx("thead",{className:"bg-muted/40",children:t.jsxs("tr",{children:[t.jsx("th",{className:"px-3 py-2 text-left font-medium",children:"Tenant"}),t.jsx("th",{className:"px-3 py-2 text-left font-medium",children:"Active Alerts"}),t.jsx("th",{className:"px-3 py-2 text-left font-medium",children:"Max Active"}),t.jsx("th",{className:"px-3 py-2 text-left font-medium",children:"Min Cadence"}),t.jsx("th",{className:"px-3 py-2 text-left font-medium",children:"Max Context Sources"})]})}),t.jsx("tbody",{children:o.map(u=>{const s=u.tenantId||"org",p=n.get(s);return t.jsxs("tr",{className:"border-t",children:[t.jsx("td",{className:"px-3 py-2",children:s}),t.jsx("td",{className:"px-3 py-2",children:(p==null?void 0:p.activeAlerts)??0}),t.jsx("td",{className:"px-3 py-2",children:u.policy.maxActiveAlerts}),t.jsxs("td",{className:"px-3 py-2",children:[u.policy.minCadenceMinutes," min"]}),t.jsx("td",{className:"px-3 py-2",children:u.policy.maxContextSources})]},s)})})]})})]})}exports.AlertCreationDialog=e.AlertCreationDialog;exports.AlertManagementPage=e.AlertManagementPage;exports.AlertsApiError=e.AlertsApiError;exports.CALCULATED_FIELD_ENTITY_MARKER=e.CALCULATED_FIELD_ENTITY_MARKER;exports.CardAlertIndicator=e.CardAlertIndicator;exports.CardSummary=e.CardSummary;exports.DATE_FORMAT_VALUES=e.DATE_FORMAT_VALUES;exports.Dashboard=e.Dashboard;exports.DashboardExportDialog=e.DashboardExportDialog;exports.DashboardWC=e.DashboardWC;exports.ExportError=e.ExportError;exports.PivotMarkerEnum=e.PivotMarkerEnum;exports.ResourceType=e.ResourceType;exports.SemaphorContextProvider=e.SemaphorContextProvider;exports.SemaphorDataProvider=e.SemaphorQueryClient;exports.SemaphorQueryClient=e.SemaphorQueryClient;exports.ShareDialog=e.ShareDialog;exports.SummaryCard=e.SummaryCard;exports.Surfboard=e.DashboardPlus;exports.backtestAlert=e.backtestAlert;exports.cancelExport=e.cancelExport;exports.cloneDeep=e.cloneDeep;exports.createAlert=e.createAlert;exports.createEmptyKpiConfig=e.createEmptyKpiConfig;exports.createExport=e.createExport;exports.createSqlGenConfig=e.createSqlGenConfig;exports.deleteAlert=e.deleteAlert;exports.downloadPdf=e.downloadPdf;exports.emitDashboardLoad=e.emitDashboardLoad;exports.emitDashboardUnload=e.emitDashboardUnload;exports.fmt=e.fmt;exports.formatFileSize=e.formatFileSize;exports.getAlert=e.getAlert;exports.getAlertContextSources=e.getAlertContextSources;exports.getAlertHistory=e.getAlertHistory;exports.getAlertQuotaUsage=e.getAlertQuotaUsage;exports.getAlertRunDeliveries=e.getAlertRunDeliveries;exports.getAlertRunSteps=e.getAlertRunSteps;exports.getAlertRuns=e.getAlertRuns;exports.getAlertState=e.getAlertState;exports.getColumnDataType=e.getColumnDataType;exports.getDownloadUrl=e.getDownloadUrl;exports.getExportStatus=e.getExportStatus;exports.getExports=e.getExports;exports.getFilterValueType=e.getFilterValueType;exports.getFormattedTableNameForQuery=e.getFormattedTableNameForQuery;exports.getQualifiedTableName=e.getQualifiedTableName;exports.getSql=e.getSql;exports.interpretAlertContext=e.interpretAlertContext;exports.invalidateToken=e.invalidateToken;exports.isBooleanDataType=e.isBooleanDataType;exports.isCalculatedDimension=e.isCalculatedDimension;exports.isCalculatedField=e.isCalculatedField;exports.isCalculatedMetric=e.isCalculatedMetric;exports.isColumnInSqlGen=e.isColumnInSqlGen;exports.isDateDataType=e.isDateDataType;exports.isExportComplete=e.isExportComplete;exports.isExportInProgress=e.isExportInProgress;exports.isNumberDataType=e.isNumberDataType;exports.isTextDataType=e.isTextDataType;exports.listAlertQuotas=e.listAlertQuotas;exports.listAlerts=e.listAlerts;exports.previewAlertDeliverable=e.previewAlertDeliverable;exports.resolveDataType=e.resolveDataType;exports.resolveDatamodelName=e.resolveDatamodelName;exports.triggerAlertNow=e.triggerAlertNow;exports.updateAlert=e.updateAlert;exports.updateAlertContextSources=e.updateAlertContextSources;exports.updateAlertQuota=e.updateAlertQuota;exports.useActiveExports=e.useActiveExports;exports.useAlertActions=e.useAlertActions;exports.useAlertBacktest=e.useAlertBacktest;exports.useAlertContextBuilder=e.useAlertContextBuilder;exports.useAlertDeliveries=e.useAlertDeliveries;exports.useAlertDetail=e.useAlertDetail;exports.useAlertDraft=e.useAlertDraft;exports.useAlertFilters=e.useAlertFilters;exports.useAlertHistory=e.useAlertHistory;exports.useAlertQuotas=e.useAlertQuotas;exports.useAlertRuns=e.useAlertRuns;exports.useAlertState=e.useAlertState;exports.useAlertStore=e.useAlertStore;exports.useAlerts=e.useAlerts;exports.useAlertsBootstrap=e.useAlertsBootstrap;exports.useAlertsById=e.useAlertsById;exports.useAlertsForCard=e.useAlertsForCard;exports.useCard=e.useCard;exports.useCardAlertMap=e.useCardAlertMap;exports.useCardSummary=e.useCardSummary;exports.useCurrentActiveCard=e.useCurrentActiveCard;exports.useCurrentCardConfig=e.useCurrentCardConfig;exports.useCurrentSheetActiveCards=e.useCurrentSheetActiveCards;exports.useDashboardActions=e.useDashboardActions;exports.useDashboardById=e.useDashboardById;exports.useDashboardQuery=e.useDashboardQuery;exports.useDashboardStore=e.useDashboardStore;exports.useDashboardSummary=e.useDashboardSummary;exports.useDataColumns=e.useDataColumns;exports.useDateFilterHook=e.useDateFilterHook;exports.useEditorActions=e.useEditorActions;exports.useEditorAside=e.useEditorAside;exports.useEditorStore=e.useEditorStore;exports.useExportActions=e.useExportActions;exports.useExportStore=e.useExportStore;exports.useInProgressExportsCount=e.useInProgressExportsCount;exports.useManagementStore=e.useManagementStore;exports.useResourceManagement=e.useResourceManagement;exports.useSelectedAlertId=e.useSelectedAlertId;exports.useTextFilterHook=e.useTextFilterHook;exports.EMPTY_SELECTION=j.EMPTY_SELECTION;exports.CalendarPreferencesDialog=D.CalendarPreferencesDialog;exports.DashboardSummarySettingsDialog=D.DashboardSummarySettingsDialog;exports.ResourceManagementPanel=v.ResourceManagementPanel;exports.DEFAULT_CALENDAR_CONTEXT=N.DEFAULT_CALENDAR_CONTEXT;exports.AdvancedModeToggle=c.AdvancedModeToggle;exports.ExportNotificationItem=c.ExportNotificationItem;exports.ExportNotificationList=c.ExportNotificationList;exports.NotificationBell=c.NotificationBell;exports.ScheduleDashboard=c.ScheduleDashboard;exports.UnsavedChangesAlert=c.UnsavedChangesAlert;exports.VisualEditingControls=c.VisualEditingControls;exports.useExportPolling=c.useExportPolling;exports.useExportRecovery=c.useExportRecovery;exports.usePristineSnapshotInitializer=c.usePristineSnapshotInitializer;exports.Combobox=I;exports.TenantQuotaPage=w;exports.Visual=M;exports.useExposePrintState=R;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./chunks/index-DSA80lEg.js"),j=require("./chunks/common-types-CfJLrTJd.js"),D=require("./chunks/dashboard-summary-settings-dialog-BoX18wiA.js"),t=require("react/jsx-runtime"),C=require("react"),v=require("./chunks/resource-management-panel-BhiWNPcw.js"),N=require("./types/index.cjs");require("react-dom");const c=require("./chunks/notification-bell-D2V1-ARa.js");function P(r){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const o in r)if(o!=="default"){const i=Object.getOwnPropertyDescriptor(r,o);Object.defineProperty(a,o,i.get?i:{enumerable:!0,get:()=>r[o]})}}return a.default=r,Object.freeze(a)}const h=P(C);function M(r){const{displayPreferences:a,...o}=r,i={...o,id:r.dashboardId};return t.jsx(e.ErrorBoundary,{FallbackComponent:e.Fallback,children:t.jsxs(e.SemaphorContextProvider,{dashboardProps:i,children:[t.jsx(e.SemaphorReadyIndicator,{componentType:"visual",componentId:r.cardId}),t.jsx(e.UXProvider,{children:t.jsx(e.DisplayPreferencesProvider,{displayPreferences:a,children:t.jsx(e.Container,{type:"visual",...i,children:t.jsx(_,{cardId:r.cardId})})})})]})})}function _({cardId:r}){const a=e.useDashboardStore(n=>{var l;return(l=n.dashboard)==null?void 0:l.sheets}),{card:o,frame:i}=C.useMemo(()=>{const n=a==null?void 0:a.flatMap(s=>s.frames),l=n==null?void 0:n.flatMap(s=>s==null?void 0:s.cards),x=l==null?void 0:l.find(s=>(s==null?void 0:s.id)===r),u=n==null?void 0:n.find(s=>{var p;return(p=s==null?void 0:s.cards)==null?void 0:p.find(m=>(m==null?void 0:m.id)===r)});return{card:x,frame:u}},[a,r]);return!o||!i?t.jsx(e.FallbackVisual,{error:new Error("Card not found"),resetErrorBoundary:()=>{},customerFacingMessage:`Card not found with ID: ${r}`}):t.jsx("main",{className:"flex h-full grow flex-col",children:t.jsx(e.ErrorBoundary,{FallbackComponent:({error:n,resetErrorBoundary:l})=>t.jsx(e.FallbackVisual,{error:n,resetErrorBoundary:l,customerFacingMessage:"Error creating visual. Please try again."}),children:t.jsx(e.DashboardCard,{card:o,frame:i})})})}function I({name:r,items:a,value:o,onChange:i,isLoading:n,isError:l,refetch:x,className:u,icon:s,showNone:p=!1}){const m=h.useRef(null),[f,y]=h.useState(!1),[E,S]=h.useState("100%"),g=p?[...a||[],{id:"none",name:"None"}]:a;h.useLayoutEffect(()=>{m.current&&S(m.current.offsetWidth)},[]);function b(){var d;return n?"Loading...":l?"Error":o?(d=a==null?void 0:a.find(A=>A.id===o))==null?void 0:d.name:`Select ${r}`}function T(d,A){i(A),y(!1)}return t.jsxs(e.Popover,{open:f,onOpenChange:y,children:[t.jsx(e.PopoverTrigger,{asChild:!0,children:t.jsxs(e.Button,{ref:m,variant:"outline",role:"combobox","aria-expanded":f,className:e.cn("flex h-9 w-full justify-between",u),children:[t.jsxs("div",{className:"flex items-center gap-2",children:[s&&t.jsx("div",{className:"mr-2",children:s}),t.jsx("span",{className:"max-w-[150px] overflow-hidden truncate text-ellipsis whitespace-nowrap",children:b()})]}),t.jsx(e.ChevronDown,{className:"size-4 opacity-50"})]})}),t.jsx(e.PopoverContent,{className:"w-full p-0",style:{minWidth:E},children:t.jsxs(e.Command,{children:[t.jsxs("div",{className:"flex h-9 items-center justify-between border-b pr-1",children:[t.jsx(e.CommandInput,{className:"h-9",placeholder:"Search..."}),t.jsx(e.IconButton,{className:"h-7",onClick:x,children:t.jsx(e.RefreshCw,{className:e.cn("size-3.5 opacity-50",n&&"animate-spin")})})]}),t.jsxs(e.CommandList,{children:[t.jsxs(e.CommandEmpty,{children:["No ",r==null?void 0:r.toLowerCase()," found."]}),t.jsx(e.CommandGroup,{children:g==null?void 0:g.map(d=>t.jsx(e.CommandItem,{className:"overflow-x-auto",value:d.name,onSelect:A=>T(A,d.id),children:t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx(e.Check,{className:e.cn("size-4",o===d.id?"opacity-100":"opacity-0")}),t.jsx("div",{title:d.name,children:d.name})]})},d.id))})]})]})})]})}function R(r,a){C.useEffect(()=>(r&&a&&(window.__SEMAPHOR_PRINT_STATE__={...a}),()=>{r&&window.__SEMAPHOR_PRINT_STATE__&&delete window.__SEMAPHOR_PRINT_STATE__}),[r,a])}function w(){var l,x;const{quotasQuery:r,usageQuery:a}=e.useAlertQuotas(),o=((l=r.data)==null?void 0:l.quotas)||[],i=((x=a.data)==null?void 0:x.usage)||[],n=new Map(i.map(u=>[u.tenantId||"org",u]));return t.jsxs("div",{className:"space-y-4 p-4",children:[t.jsxs("div",{className:"flex items-center justify-between",children:[t.jsx("h2",{className:"text-xl font-semibold",children:"Alert Quotas"}),t.jsx(e.Button,{variant:"outline",size:"sm",onClick:()=>{r.refetch(),a.refetch()},children:"Refresh"})]}),r.isLoading||a.isLoading?t.jsx("p",{className:"text-sm text-muted-foreground",children:"Loading quota usage..."}):null,t.jsx("div",{className:"overflow-hidden rounded-lg border",children:t.jsxs("table",{className:"w-full text-sm",children:[t.jsx("thead",{className:"bg-muted/40",children:t.jsxs("tr",{children:[t.jsx("th",{className:"px-3 py-2 text-left font-medium",children:"Tenant"}),t.jsx("th",{className:"px-3 py-2 text-left font-medium",children:"Active Alerts"}),t.jsx("th",{className:"px-3 py-2 text-left font-medium",children:"Max Active"}),t.jsx("th",{className:"px-3 py-2 text-left font-medium",children:"Min Cadence"}),t.jsx("th",{className:"px-3 py-2 text-left font-medium",children:"Max Context Sources"})]})}),t.jsx("tbody",{children:o.map(u=>{const s=u.tenantId||"org",p=n.get(s);return t.jsxs("tr",{className:"border-t",children:[t.jsx("td",{className:"px-3 py-2",children:s}),t.jsx("td",{className:"px-3 py-2",children:(p==null?void 0:p.activeAlerts)??0}),t.jsx("td",{className:"px-3 py-2",children:u.policy.maxActiveAlerts}),t.jsxs("td",{className:"px-3 py-2",children:[u.policy.minCadenceMinutes," min"]}),t.jsx("td",{className:"px-3 py-2",children:u.policy.maxContextSources})]},s)})})]})})]})}exports.AlertCreationDialog=e.AlertCreationDialog;exports.AlertManagementPage=e.AlertManagementPage;exports.AlertsApiError=e.AlertsApiError;exports.CALCULATED_FIELD_ENTITY_MARKER=e.CALCULATED_FIELD_ENTITY_MARKER;exports.CardAlertIndicator=e.CardAlertIndicator;exports.CardSummary=e.CardSummary;exports.DATE_FORMAT_VALUES=e.DATE_FORMAT_VALUES;exports.Dashboard=e.Dashboard;exports.DashboardExportDialog=e.DashboardExportDialog;exports.DashboardWC=e.DashboardWC;exports.ExportError=e.ExportError;exports.PivotMarkerEnum=e.PivotMarkerEnum;exports.ResourceType=e.ResourceType;exports.SemaphorContextProvider=e.SemaphorContextProvider;exports.SemaphorDataProvider=e.SemaphorQueryClient;exports.SemaphorQueryClient=e.SemaphorQueryClient;exports.ShareDialog=e.ShareDialog;exports.SummaryCard=e.SummaryCard;exports.Surfboard=e.DashboardPlus;exports.backtestAlert=e.backtestAlert;exports.cancelExport=e.cancelExport;exports.cloneDeep=e.cloneDeep;exports.createAlert=e.createAlert;exports.createEmptyKpiConfig=e.createEmptyKpiConfig;exports.createExport=e.createExport;exports.createSqlGenConfig=e.createSqlGenConfig;exports.deleteAlert=e.deleteAlert;exports.downloadPdf=e.downloadPdf;exports.emitDashboardLoad=e.emitDashboardLoad;exports.emitDashboardUnload=e.emitDashboardUnload;exports.fmt=e.fmt;exports.formatFileSize=e.formatFileSize;exports.getAlert=e.getAlert;exports.getAlertContextSources=e.getAlertContextSources;exports.getAlertHistory=e.getAlertHistory;exports.getAlertQuotaUsage=e.getAlertQuotaUsage;exports.getAlertRunDeliveries=e.getAlertRunDeliveries;exports.getAlertRunSteps=e.getAlertRunSteps;exports.getAlertRuns=e.getAlertRuns;exports.getAlertState=e.getAlertState;exports.getColumnDataType=e.getColumnDataType;exports.getDownloadUrl=e.getDownloadUrl;exports.getExportStatus=e.getExportStatus;exports.getExports=e.getExports;exports.getFilterValueType=e.getFilterValueType;exports.getFormattedTableNameForQuery=e.getFormattedTableNameForQuery;exports.getQualifiedTableName=e.getQualifiedTableName;exports.getSql=e.getSql;exports.interpretAlertContext=e.interpretAlertContext;exports.invalidateToken=e.invalidateToken;exports.isBooleanDataType=e.isBooleanDataType;exports.isCalculatedDimension=e.isCalculatedDimension;exports.isCalculatedField=e.isCalculatedField;exports.isCalculatedMetric=e.isCalculatedMetric;exports.isColumnInSqlGen=e.isColumnInSqlGen;exports.isDateDataType=e.isDateDataType;exports.isExportComplete=e.isExportComplete;exports.isExportInProgress=e.isExportInProgress;exports.isNumberDataType=e.isNumberDataType;exports.isTextDataType=e.isTextDataType;exports.listAlertQuotas=e.listAlertQuotas;exports.listAlerts=e.listAlerts;exports.previewAlertDeliverable=e.previewAlertDeliverable;exports.resolveDataType=e.resolveDataType;exports.resolveDatamodelName=e.resolveDatamodelName;exports.triggerAlertNow=e.triggerAlertNow;exports.updateAlert=e.updateAlert;exports.updateAlertContextSources=e.updateAlertContextSources;exports.updateAlertQuota=e.updateAlertQuota;exports.useActiveExports=e.useActiveExports;exports.useAlertActions=e.useAlertActions;exports.useAlertBacktest=e.useAlertBacktest;exports.useAlertContextBuilder=e.useAlertContextBuilder;exports.useAlertDeliveries=e.useAlertDeliveries;exports.useAlertDetail=e.useAlertDetail;exports.useAlertDraft=e.useAlertDraft;exports.useAlertFilters=e.useAlertFilters;exports.useAlertHistory=e.useAlertHistory;exports.useAlertQuotas=e.useAlertQuotas;exports.useAlertRuns=e.useAlertRuns;exports.useAlertState=e.useAlertState;exports.useAlertStore=e.useAlertStore;exports.useAlerts=e.useAlerts;exports.useAlertsBootstrap=e.useAlertsBootstrap;exports.useAlertsById=e.useAlertsById;exports.useAlertsForCard=e.useAlertsForCard;exports.useCard=e.useCard;exports.useCardAlertMap=e.useCardAlertMap;exports.useCardSummary=e.useCardSummary;exports.useCurrentActiveCard=e.useCurrentActiveCard;exports.useCurrentCardConfig=e.useCurrentCardConfig;exports.useCurrentSheetActiveCards=e.useCurrentSheetActiveCards;exports.useDashboardActions=e.useDashboardActions;exports.useDashboardById=e.useDashboardById;exports.useDashboardQuery=e.useDashboardQuery;exports.useDashboardStore=e.useDashboardStore;exports.useDashboardSummary=e.useDashboardSummary;exports.useDataColumns=e.useDataColumns;exports.useDateFilterHook=e.useDateFilterHook;exports.useEditorActions=e.useEditorActions;exports.useEditorAside=e.useEditorAside;exports.useEditorStore=e.useEditorStore;exports.useExportActions=e.useExportActions;exports.useExportStore=e.useExportStore;exports.useInProgressExportsCount=e.useInProgressExportsCount;exports.useManagementStore=e.useManagementStore;exports.useResourceManagement=e.useResourceManagement;exports.useSelectedAlertId=e.useSelectedAlertId;exports.useTextFilterHook=e.useTextFilterHook;exports.EMPTY_SELECTION=j.EMPTY_SELECTION;exports.CalendarPreferencesDialog=D.CalendarPreferencesDialog;exports.DashboardSummarySettingsDialog=D.DashboardSummarySettingsDialog;exports.ResourceManagementPanel=v.ResourceManagementPanel;exports.DEFAULT_CALENDAR_CONTEXT=N.DEFAULT_CALENDAR_CONTEXT;exports.AdvancedModeToggle=c.AdvancedModeToggle;exports.ExportNotificationItem=c.ExportNotificationItem;exports.ExportNotificationList=c.ExportNotificationList;exports.NotificationBell=c.NotificationBell;exports.ScheduleDashboard=c.ScheduleDashboard;exports.UnsavedChangesAlert=c.UnsavedChangesAlert;exports.VisualEditingControls=c.VisualEditingControls;exports.useExportPolling=c.useExportPolling;exports.useExportRecovery=c.useExportRecovery;exports.usePristineSnapshotInitializer=c.usePristineSnapshotInitializer;exports.Combobox=I;exports.TenantQuotaPage=w;exports.Visual=M;exports.useExposePrintState=R;
|
package/dist/index.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { T as y, U as T, V as P, W as _, Y as w, Z as M, _ as I, u as R, $ as g, a0 as F, P as L, s as k, B as E, a1 as B, c as A, t as Q, v as U, w as V, a2 as q, a3 as z, x as H, y as O, z as j, A as W, E as G, a4 as K } from "./chunks/index-
|
|
2
|
-
import { a5 as ie, a6 as de, a7 as ce, a8 as ue, a9 as me, aa as pe, ab as he, D as be, ac as fe, ad as Ae, ae as xe, af as Ce, ag as ge, ah as ye, ah as Ee, ai as Ne, aj as De, a as ve, ak as Se, al as Te, am as Pe, an as _e, ao as we, ap as Me, aq as Ie, ar as Re, as as Fe, at as Le, au as ke, av as Be, aw as Qe, ax as Ue, ay as Ve, az as qe, aA as ze, aB as He, aC as Oe, aD as je, aE as We, aF as Ge, aG as Ke, aH as Ye, aI as $e, aJ as Xe, aK as Ze, aL as Je, aM as ea, aN as aa, aO as sa, aP as ta, aQ as ra, aR as oa, aS as na, aT as la, aU as ia, aV as da, aW as ca, aX as ua, aY as ma, aZ as pa, a_ as ha, a$ as ba, b0 as fa, b1 as Aa, b2 as xa, b3 as Ca, b4 as ga, b5 as ya, b6 as Ea, b7 as Na, b8 as Da, b9 as va, ba as Sa, bb as Ta, bc as Pa, bd as _a, be as wa, bf as Ma, bg as Ia, bh as Ra, bi as Fa, bj as La, bk as ka, bl as Ba, bm as Qa, bn as Ua, bo as Va, bp as qa, bq as za, br as Ha, bs as Oa, bt as ja, bu as Wa, bv as Ga, bw as Ka, bx as Ya, by as $a, bz as Xa, bA as Za, bB as Ja, bC as es, bD as as, bE as ss, bF as ts, bG as rs, bH as os } from "./chunks/index-
|
|
1
|
+
import { T as y, U as T, V as P, W as _, Y as w, Z as M, _ as I, u as R, $ as g, a0 as F, P as L, s as k, B as E, a1 as B, c as A, t as Q, v as U, w as V, a2 as q, a3 as z, x as H, y as O, z as j, A as W, E as G, a4 as K } from "./chunks/index-D0TdW88i.js";
|
|
2
|
+
import { a5 as ie, a6 as de, a7 as ce, a8 as ue, a9 as me, aa as pe, ab as he, D as be, ac as fe, ad as Ae, ae as xe, af as Ce, ag as ge, ah as ye, ah as Ee, ai as Ne, aj as De, a as ve, ak as Se, al as Te, am as Pe, an as _e, ao as we, ap as Me, aq as Ie, ar as Re, as as Fe, at as Le, au as ke, av as Be, aw as Qe, ax as Ue, ay as Ve, az as qe, aA as ze, aB as He, aC as Oe, aD as je, aE as We, aF as Ge, aG as Ke, aH as Ye, aI as $e, aJ as Xe, aK as Ze, aL as Je, aM as ea, aN as aa, aO as sa, aP as ta, aQ as ra, aR as oa, aS as na, aT as la, aU as ia, aV as da, aW as ca, aX as ua, aY as ma, aZ as pa, a_ as ha, a$ as ba, b0 as fa, b1 as Aa, b2 as xa, b3 as Ca, b4 as ga, b5 as ya, b6 as Ea, b7 as Na, b8 as Da, b9 as va, ba as Sa, bb as Ta, bc as Pa, bd as _a, be as wa, bf as Ma, bg as Ia, bh as Ra, bi as Fa, bj as La, bk as ka, bl as Ba, bm as Qa, bn as Ua, bo as Va, bp as qa, bq as za, br as Ha, bs as Oa, bt as ja, bu as Wa, bv as Ga, bw as Ka, bx as Ya, by as $a, bz as Xa, bA as Za, bB as Ja, bC as es, bD as as, bE as ss, bF as ts, bG as rs, bH as os } from "./chunks/index-D0TdW88i.js";
|
|
3
3
|
import { E as ls } from "./chunks/common-types-DhqlRVrq.js";
|
|
4
|
-
import { C as ds, D as cs } from "./chunks/dashboard-summary-settings-dialog-
|
|
4
|
+
import { C as ds, D as cs } from "./chunks/dashboard-summary-settings-dialog-CO1SwHHD.js";
|
|
5
5
|
import { jsx as e, jsxs as o } from "react/jsx-runtime";
|
|
6
6
|
import * as b from "react";
|
|
7
7
|
import { useMemo as Y, useEffect as $ } from "react";
|
|
8
|
-
import { ResourceManagementPanel as ms } from "./chunks/resource-management-panel-
|
|
8
|
+
import { ResourceManagementPanel as ms } from "./chunks/resource-management-panel-DS_WEv1x.js";
|
|
9
9
|
import { DEFAULT_CALENDAR_CONTEXT as hs } from "./types/index.js";
|
|
10
10
|
import "react-dom";
|
|
11
|
-
import { A as fs, E as As, a as xs, N as Cs, S as gs, U as ys, V as Es, u as Ns, b as Ds, c as vs } from "./chunks/notification-bell-
|
|
11
|
+
import { A as fs, E as As, a as xs, N as Cs, S as gs, U as ys, V as Es, u as Ns, b as Ds, c as vs } from "./chunks/notification-bell-DFiRaeJQ.js";
|
|
12
12
|
function se(a) {
|
|
13
13
|
const { displayPreferences: s, ...i } = a, c = {
|
|
14
14
|
...i,
|
package/dist/surfboard/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../chunks/index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../chunks/index-DSA80lEg.js"),a=require("../chunks/common-types-CfJLrTJd.js"),e=require("../chunks/dashboard-summary-settings-dialog-BoX18wiA.js");exports.Surfboard=r.DashboardPlus;exports.EMPTY_SELECTION=a.EMPTY_SELECTION;exports.CalendarPreferencesDialog=e.CalendarPreferencesDialog;exports.DashboardSummarySettingsDialog=e.DashboardSummarySettingsDialog;
|
package/dist/surfboard/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { a as o } from "../chunks/index-
|
|
1
|
+
import { a as o } from "../chunks/index-D0TdW88i.js";
|
|
2
2
|
import { E as s } from "../chunks/common-types-DhqlRVrq.js";
|
|
3
|
-
import { C as m, D as t } from "../chunks/dashboard-summary-settings-dialog-
|
|
3
|
+
import { C as m, D as t } from "../chunks/dashboard-summary-settings-dialog-CO1SwHHD.js";
|
|
4
4
|
export {
|
|
5
5
|
m as CalendarPreferencesDialog,
|
|
6
6
|
t as DashboardSummarySettingsDialog,
|
|
@@ -187,7 +187,7 @@ declare interface CardInteractionConfig {
|
|
|
187
187
|
* V2: Unified interactions array.
|
|
188
188
|
* Each interaction includes a trigger that specifies what element must be clicked.
|
|
189
189
|
*/
|
|
190
|
-
interactions?:
|
|
190
|
+
interactions?: PersistedInteraction[];
|
|
191
191
|
allowedDrillTargets?: Field[];
|
|
192
192
|
drillHierarchies?: DrillHierarchy[];
|
|
193
193
|
}
|
|
@@ -879,6 +879,11 @@ declare interface InlineDrillInteraction {
|
|
|
879
879
|
*/
|
|
880
880
|
declare type Interaction = ClickFilterInteraction | DrillDownInteraction | DrillThroughInteraction | DrillToDetailInteraction | DrillToURLInteraction | InlineDrillInteraction | DrillUpInteraction | DynamicDrillInteraction;
|
|
881
881
|
|
|
882
|
+
declare interface InteractionTargetOverride {
|
|
883
|
+
applyToCardIds?: string[] | null;
|
|
884
|
+
excludeCardIds?: string[] | null;
|
|
885
|
+
}
|
|
886
|
+
|
|
882
887
|
/**
|
|
883
888
|
* Defines what element must be clicked to trigger an interaction.
|
|
884
889
|
*
|
|
@@ -1053,6 +1058,10 @@ declare type Params = {
|
|
|
1053
1058
|
[key: string]: string | number | string[] | number[];
|
|
1054
1059
|
};
|
|
1055
1060
|
|
|
1061
|
+
declare type PersistedInteraction = Interaction & {
|
|
1062
|
+
id?: string;
|
|
1063
|
+
};
|
|
1064
|
+
|
|
1056
1065
|
declare interface PivotByField extends Field {
|
|
1057
1066
|
role: 'pivotby';
|
|
1058
1067
|
}
|
|
@@ -1333,6 +1342,8 @@ export declare type TCard = {
|
|
|
1333
1342
|
dataSource?: DataSource;
|
|
1334
1343
|
config?: CardConfig;
|
|
1335
1344
|
interactionConfig?: CardInteractionConfig;
|
|
1345
|
+
linkedSourceCardId?: string;
|
|
1346
|
+
linkedInteractionTargetOverrides?: Record<string, InteractionTargetOverride>;
|
|
1336
1347
|
paginationConfig?: PaginationConfig;
|
|
1337
1348
|
queryConfig?: QueryConfig;
|
|
1338
1349
|
customCfg?: any;
|
package/dist/types/main.d.ts
CHANGED
|
@@ -822,7 +822,7 @@ export declare interface CardInteractionConfig {
|
|
|
822
822
|
* V2: Unified interactions array.
|
|
823
823
|
* Each interaction includes a trigger that specifies what element must be clicked.
|
|
824
824
|
*/
|
|
825
|
-
interactions?:
|
|
825
|
+
interactions?: PersistedInteraction[];
|
|
826
826
|
allowedDrillTargets?: Field[];
|
|
827
827
|
drillHierarchies?: DrillHierarchy[];
|
|
828
828
|
}
|
|
@@ -2340,6 +2340,11 @@ export declare interface InteractionState {
|
|
|
2340
2340
|
targetDashboardId?: string;
|
|
2341
2341
|
}
|
|
2342
2342
|
|
|
2343
|
+
export declare interface InteractionTargetOverride {
|
|
2344
|
+
applyToCardIds?: string[] | null;
|
|
2345
|
+
excludeCardIds?: string[] | null;
|
|
2346
|
+
}
|
|
2347
|
+
|
|
2343
2348
|
/**
|
|
2344
2349
|
* Defines what element must be clicked to trigger an interaction.
|
|
2345
2350
|
*
|
|
@@ -2642,6 +2647,10 @@ declare type Params = {
|
|
|
2642
2647
|
[key: string]: string | number | string[] | number[];
|
|
2643
2648
|
};
|
|
2644
2649
|
|
|
2650
|
+
export declare type PersistedInteraction = Interaction & {
|
|
2651
|
+
id?: string;
|
|
2652
|
+
};
|
|
2653
|
+
|
|
2645
2654
|
export declare interface PivotByField extends Field {
|
|
2646
2655
|
role: 'pivotby';
|
|
2647
2656
|
}
|
|
@@ -3184,6 +3193,8 @@ export declare type TCard = {
|
|
|
3184
3193
|
dataSource?: DataSource;
|
|
3185
3194
|
config?: CardConfig;
|
|
3186
3195
|
interactionConfig?: CardInteractionConfig;
|
|
3196
|
+
linkedSourceCardId?: string;
|
|
3197
|
+
linkedInteractionTargetOverrides?: Record<string, InteractionTargetOverride>;
|
|
3187
3198
|
paginationConfig?: PaginationConfig;
|
|
3188
3199
|
queryConfig?: QueryConfig;
|
|
3189
3200
|
customCfg?: any;
|
|
@@ -4024,6 +4035,7 @@ declare interface UpdateResourceRequest {
|
|
|
4024
4035
|
title?: string;
|
|
4025
4036
|
description?: string;
|
|
4026
4037
|
isPrivate?: boolean;
|
|
4038
|
+
expectedLastModified?: string;
|
|
4027
4039
|
}
|
|
4028
4040
|
|
|
4029
4041
|
export declare interface UpdateUserPreferenceRequest {
|
|
@@ -194,7 +194,7 @@ declare interface CardInteractionConfig {
|
|
|
194
194
|
* V2: Unified interactions array.
|
|
195
195
|
* Each interaction includes a trigger that specifies what element must be clicked.
|
|
196
196
|
*/
|
|
197
|
-
interactions?:
|
|
197
|
+
interactions?: PersistedInteraction[];
|
|
198
198
|
allowedDrillTargets?: Field[];
|
|
199
199
|
drillHierarchies?: DrillHierarchy[];
|
|
200
200
|
}
|
|
@@ -899,6 +899,11 @@ declare interface InlineDrillInteraction {
|
|
|
899
899
|
*/
|
|
900
900
|
declare type Interaction = ClickFilterInteraction | DrillDownInteraction | DrillThroughInteraction | DrillToDetailInteraction | DrillToURLInteraction | InlineDrillInteraction | DrillUpInteraction | DynamicDrillInteraction;
|
|
901
901
|
|
|
902
|
+
declare interface InteractionTargetOverride {
|
|
903
|
+
applyToCardIds?: string[] | null;
|
|
904
|
+
excludeCardIds?: string[] | null;
|
|
905
|
+
}
|
|
906
|
+
|
|
902
907
|
/**
|
|
903
908
|
* Defines what element must be clicked to trigger an interaction.
|
|
904
909
|
*
|
|
@@ -1073,6 +1078,10 @@ declare type Params = {
|
|
|
1073
1078
|
[key: string]: string | number | string[] | number[];
|
|
1074
1079
|
};
|
|
1075
1080
|
|
|
1081
|
+
declare type PersistedInteraction = Interaction & {
|
|
1082
|
+
id?: string;
|
|
1083
|
+
};
|
|
1084
|
+
|
|
1076
1085
|
declare interface PivotByField extends Field {
|
|
1077
1086
|
role: 'pivotby';
|
|
1078
1087
|
}
|
|
@@ -1355,6 +1364,8 @@ export declare type TCard = {
|
|
|
1355
1364
|
dataSource?: DataSource;
|
|
1356
1365
|
config?: CardConfig;
|
|
1357
1366
|
interactionConfig?: CardInteractionConfig;
|
|
1367
|
+
linkedSourceCardId?: string;
|
|
1368
|
+
linkedInteractionTargetOverrides?: Record<string, InteractionTargetOverride>;
|
|
1358
1369
|
paginationConfig?: PaginationConfig;
|
|
1359
1370
|
queryConfig?: QueryConfig;
|
|
1360
1371
|
customCfg?: any;
|
package/dist/types/types.d.ts
CHANGED
|
@@ -393,7 +393,7 @@ declare interface CardInteractionConfig {
|
|
|
393
393
|
* V2: Unified interactions array.
|
|
394
394
|
* Each interaction includes a trigger that specifies what element must be clicked.
|
|
395
395
|
*/
|
|
396
|
-
interactions?:
|
|
396
|
+
interactions?: PersistedInteraction[];
|
|
397
397
|
allowedDrillTargets?: Field[];
|
|
398
398
|
drillHierarchies?: DrillHierarchy[];
|
|
399
399
|
}
|
|
@@ -1114,6 +1114,11 @@ declare interface InlineDrillInteraction {
|
|
|
1114
1114
|
*/
|
|
1115
1115
|
declare type Interaction = ClickFilterInteraction | DrillDownInteraction | DrillThroughInteraction | DrillToDetailInteraction | DrillToURLInteraction | InlineDrillInteraction | DrillUpInteraction | DynamicDrillInteraction;
|
|
1116
1116
|
|
|
1117
|
+
declare interface InteractionTargetOverride {
|
|
1118
|
+
applyToCardIds?: string[] | null;
|
|
1119
|
+
excludeCardIds?: string[] | null;
|
|
1120
|
+
}
|
|
1121
|
+
|
|
1117
1122
|
/**
|
|
1118
1123
|
* Defines what element must be clicked to trigger an interaction.
|
|
1119
1124
|
*
|
|
@@ -1288,6 +1293,10 @@ declare type Params = {
|
|
|
1288
1293
|
[key: string]: string | number | string[] | number[];
|
|
1289
1294
|
};
|
|
1290
1295
|
|
|
1296
|
+
declare type PersistedInteraction = Interaction & {
|
|
1297
|
+
id?: string;
|
|
1298
|
+
};
|
|
1299
|
+
|
|
1291
1300
|
declare interface PivotByField extends Field {
|
|
1292
1301
|
role: 'pivotby';
|
|
1293
1302
|
}
|
|
@@ -1584,6 +1593,8 @@ export declare type TCard = {
|
|
|
1584
1593
|
dataSource?: DataSource;
|
|
1585
1594
|
config?: CardConfig;
|
|
1586
1595
|
interactionConfig?: CardInteractionConfig;
|
|
1596
|
+
linkedSourceCardId?: string;
|
|
1597
|
+
linkedInteractionTargetOverrides?: Record<string, InteractionTargetOverride>;
|
|
1587
1598
|
paginationConfig?: PaginationConfig;
|
|
1588
1599
|
queryConfig?: QueryConfig;
|
|
1589
1600
|
customCfg?: any;
|