@sassoftware/va-report-components
Version:
The SAS Visual Analytics SDK is a set of JavaScript APIs and web components that enable SAS Visual Analytics report content to be easily embedded in a third-party application or web page.
238 lines (200 loc) • 5.64 kB
JavaScript
import { u as e, m as t, R as r, _ as n, P as i, O as o, n as a, p as c, T as s, L as m, q as u, r as p } from "./chunk1.mjs";
import l, { useState as h, useEffect as f } from "react";
import { R as d } from "./chunk3.mjs";
import "react/jsx-runtime";
import "polished";
import "react-i18next";
import "i18next";
import "react-dom/client";
import "tslib";
import "rxjs";
import "rxjs/operators";
import "react-dom";
import "react-focus-lock";
import "classnames";
import "framer-motion";
import "axios";
import "reselect";
import "./i18n/nova_i18n.mjs";
import "react-popper";
import "@popperjs/core";
import "memoize-one";
import "handlebars";
import "zod";
import "use-memo-one";
import "@tanstack/react-query";
import "react-cropper";
import "redux-observable";
import "redux";
import "@redux-devtools/extension";
import "react-redux";
const E = ({message: e}) => l.createElement(i, {
style: {
display: "flex",
flexShrink: 1,
height: "100%",
justifyContent: "center",
alignItems: "center"
}
}, l.createElement(o, {
text: e,
mode: "error"
}));
const g = t => {
const [r, n] = h();
const [i, o] = h();
const [u] = a();
const g = e();
f((() => c(t.url, t.authenticationType).subscribe((e => {
if (e.error) {
o(e.error);
return;
}
if (e.status !== "initalizing") {
n(e.status === "authorized");
}
o(undefined);
}))), [ t.url, t.authenticationType ]);
let y = t.children;
if (i) {
y = l.createElement(s, {
currentTheme: u
}, l.createElement(E, {
message: i
}));
} else if (r === undefined) {
y = l.createElement(s, {
currentTheme: u
}, l.createElement(p, null));
} else if (r === false) {
y = l.createElement(s, {
currentTheme: u
}, l.createElement(m, {
url: t.url,
authenticationType: t.authenticationType
}));
}
return l.createElement(d, {
className: g
}, y);
};
const y = n => {
const [i, o] = h();
const a = e();
if (i || "packageUri" in n) {
return l.createElement(d, {
className: a
}, l.createElement(E, {
message: i || t["SASReport.genericError.msg"]()
}));
} else {
return l.createElement(g, {
url: n.url,
authenticationType: n.authenticationType
}, l.createElement(r, {
mobileView: true,
reportUri: n.reportUri,
host: n.url,
authenticationType: n.authenticationType,
onError: e => o(e || t["SASReport.genericError.msg"]())
}));
}
};
const T = n => {
const [i, o] = h();
const a = e();
if (i || "packageUri" in n) {
return l.createElement(d, {
className: a
}, l.createElement(E, {
message: i || t["SASReport.genericError.msg"]()
}));
} else {
return l.createElement(g, {
url: n.url,
authenticationType: n.authenticationType
}, l.createElement(r, {
mobileView: true,
reportUri: n.reportUri,
host: n.url,
authenticationType: n.authenticationType,
objectName: n.objectName || "",
onError: e => o(e || t["SASReport.genericError.msg"]())
}));
}
};
async function x(e, t, r, n) {
const i = {};
i.headers = {};
if (n) {
i.headers.Authorization = n;
i.credentials = "omit";
}
const o = await fetch(`${e}${t}/content/elements`, i);
const a = await o.json();
const c = a?.items?.filter((e => e?.type === "Section"))?.findIndex((e => e?.name === r));
if (c === undefined || c === -1) {
throw new Error(`Unable to find Section with name ${r}`);
}
return c;
}
const S = e => {
const [t, n] = h("pageIndex" in e ? e.pageIndex : undefined);
const i = "pageName" in e ? e.pageName : undefined;
f((() => {
if (!i) {
return;
}
let t = false;
e.authenticationType === "guest" ? u(e.url).then((r => {
if (t) {
return;
}
x(e.url, e.reportUri, i, r).then((e => {
if (t) {
return;
}
n(e);
}));
})) : x(e.url, e.reportUri, i).then((e => {
if (t) {
return;
}
n(e);
}));
return () => {
t = true;
};
}), [ i, e.url, e.reportUri, e.authenticationType ]);
if (t === undefined) {
return l.createElement(p, null);
} else {
return l.createElement(r, {
mobileView: true,
reportUri: e.reportUri,
host: e.url,
authenticationType: e.authenticationType,
sectionIndex: t,
onError: e.onError
});
}
};
const U = r => {
const [i, o] = h();
const a = e();
if (i || "packageUri" in r) {
return l.createElement(d, {
className: a
}, l.createElement(E, {
message: i || t["SASReport.genericError.msg"]()
}));
} else {
return l.createElement(g, {
url: r.url,
authenticationType: r.authenticationType
}, l.createElement(S, n({}, r, {
onError: e => o(e || t["SASReport.genericError.msg"]())
})));
}
};
export { y as SASReport, T as SASReportObject, U as SASReportPage };