@sisense/sdk-ui-vue 2.31.1 → 2.33.0
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/ai.cjs +1 -1
- package/dist/ai.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +744 -493
- package/dist/src/components/charts/chart.d.ts +6 -6
- package/dist/src/components/charts/index.d.ts +1 -0
- package/dist/src/components/charts/sankey-chart.d.ts +178 -0
- package/dist/src/components/dashboard/dashboard-by-id.d.ts +1 -1
- package/dist/src/components/dashboard/dashboard-header-config.d.ts +87 -0
- package/dist/src/components/dashboard/dashboard.d.ts +6 -7
- package/dist/src/components/widgets/chart-widget.d.ts +18 -6
- package/dist/src/components/widgets/widget-by-id.d.ts +8 -8
- package/dist/src/components/widgets/widget.d.ts +14 -14
- package/dist/src/helpers/component-translator.d.ts +64 -0
- package/dist/src/helpers/dashboard-props-preact-translator.d.ts +33 -0
- package/dist/src/helpers/setup-helper.d.ts +10 -1
- package/dist/src/helpers/vue-component-adapter.d.ts +14 -7
- package/dist/src/sdk-ui-core-exports.d.ts +2 -1
- package/dist/src/utilities/dashboard-helpers.d.ts +5 -0
- package/dist/{use-tracking-1cbd274b.js → use-tracking-39f8225d.js} +29 -28
- package/dist/{use-tracking-94bc9fc5.cjs → use-tracking-bc372dcd.cjs} +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { type PreactNode } from '@sisense/sdk-ui-preact';
|
|
2
|
+
import { type Component, type DefineComponent } from 'vue';
|
|
3
|
+
import { type VueComponentAdapterContexts } from './vue-component-adapter';
|
|
4
|
+
/**
|
|
5
|
+
* A preact component. Its render output matches the preact-facing component interfaces, so a
|
|
6
|
+
* component produced by {@link ComponentTranslator.toPreactComponent} can be handed to any of them
|
|
7
|
+
* (custom widget map, dashboard header item, ...).
|
|
8
|
+
*
|
|
9
|
+
* @internal
|
|
10
|
+
*/
|
|
11
|
+
export type PreactComponent<Props> = (props: Props) => PreactNode;
|
|
12
|
+
/**
|
|
13
|
+
* A Vue component: a component options object, a `defineComponent` result, or any valid Vue
|
|
14
|
+
* component.
|
|
15
|
+
*
|
|
16
|
+
* @internal
|
|
17
|
+
*/
|
|
18
|
+
export type VueComponent<Props> = Component<Props> | DefineComponent<Props>;
|
|
19
|
+
type AnyObject = Record<string, any>;
|
|
20
|
+
/**
|
|
21
|
+
* Translates components between Vue and preact in both directions.
|
|
22
|
+
*
|
|
23
|
+
* Shared infrastructure for features that let consumers pass a native Vue component into an
|
|
24
|
+
* otherwise preact-facing interface — custom widgets and dashboard header items today, widget and
|
|
25
|
+
* filter-tile headers in the future — and that hand preact components back to consumers, where
|
|
26
|
+
* every component is exposed as a real Vue component.
|
|
27
|
+
*
|
|
28
|
+
* The two methods are inverses of each other, and translation is stable: the same input always
|
|
29
|
+
* yields the same output instance, so the renderer sees a constant component identity across
|
|
30
|
+
* re-renders (no unmount/remount) and consumers get back the very component they passed in.
|
|
31
|
+
* Translating a wrapper back always unwraps it, so a component never gets wrapped twice.
|
|
32
|
+
*
|
|
33
|
+
* The translator owns no live component instances: it produces components and adapter *factories*,
|
|
34
|
+
* and each adapter is created and destroyed by the wrapper that mounts it. Both registries are
|
|
35
|
+
* keyed weakly, so nothing has to be released explicitly when the host component unmounts.
|
|
36
|
+
*
|
|
37
|
+
* @internal
|
|
38
|
+
*/
|
|
39
|
+
export type ComponentTranslator = ReturnType<typeof createComponentTranslator>;
|
|
40
|
+
/**
|
|
41
|
+
* Creates a {@link ComponentTranslator}.
|
|
42
|
+
*
|
|
43
|
+
* @param contexts - Parent contexts provided to each Vue component adapted for preact, captured in
|
|
44
|
+
* the host component's `setup`.
|
|
45
|
+
* @internal
|
|
46
|
+
*/
|
|
47
|
+
export declare function createComponentTranslator(contexts: VueComponentAdapterContexts): {
|
|
48
|
+
/**
|
|
49
|
+
* Translates a Vue component into a preact component.
|
|
50
|
+
*
|
|
51
|
+
* A Vue wrapper produced by {@link fromPreactComponent} is unwrapped back to the preact
|
|
52
|
+
* component it renders, rather than being wrapped a second time.
|
|
53
|
+
*/
|
|
54
|
+
toPreactComponent: <Props extends AnyObject>(component: VueComponent<Props>) => PreactComponent<Props>;
|
|
55
|
+
/**
|
|
56
|
+
* Translates a preact component into a Vue component.
|
|
57
|
+
*
|
|
58
|
+
* A preact wrapper produced by {@link toPreactComponent} is unwrapped back to the Vue component
|
|
59
|
+
* it renders; any other preact component is wrapped in a generated Vue component that renders
|
|
60
|
+
* it, so consumers can render it in a Vue template like any other component.
|
|
61
|
+
*/
|
|
62
|
+
fromPreactComponent: <Props_1 extends AnyObject>(component: PreactComponent<Props_1>) => VueComponent<Props_1>;
|
|
63
|
+
};
|
|
64
|
+
export {};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { DashboardByIdProps as DashboardByIdPropsPreact, DashboardProps as DashboardPropsPreact } from '@sisense/sdk-ui-preact';
|
|
2
|
+
import type { DashboardProps } from '../components/dashboard/dashboard';
|
|
3
|
+
import type { DashboardByIdProps } from '../components/dashboard/dashboard-by-id';
|
|
4
|
+
import type { ComponentTranslator } from './component-translator';
|
|
5
|
+
/**
|
|
6
|
+
* Converts Vue `Dashboard` props into the preact props rendered by the underlying component.
|
|
7
|
+
*
|
|
8
|
+
* The object structure is always translated — for Vue that is the `config.header` section, whose
|
|
9
|
+
* shape matches preact's apart from the flavor of the components it carries.
|
|
10
|
+
*
|
|
11
|
+
* `componentTranslator` additionally converts the components carried in the props (today the custom
|
|
12
|
+
* `config.header` items) into preact components. Pass it whenever the result will be **rendered**.
|
|
13
|
+
* Omit it for pure props manipulation — filter helpers, dashboard model translation, prop
|
|
14
|
+
* composition — where the components are never rendered and are carried through as they are.
|
|
15
|
+
*/
|
|
16
|
+
export declare function toPreactDashboardProps(vueProps: DashboardProps, componentTranslator?: ComponentTranslator): DashboardPropsPreact;
|
|
17
|
+
/**
|
|
18
|
+
* Converts preact `Dashboard` props into Vue props.
|
|
19
|
+
*
|
|
20
|
+
* `componentTranslator` additionally resolves the components carried in the props back to the Vue
|
|
21
|
+
* components they wrap. Omit it for pure props manipulation, where the components are carried
|
|
22
|
+
* through as they are.
|
|
23
|
+
*/
|
|
24
|
+
export declare function toDashboardProps(preactProps: DashboardPropsPreact, componentTranslator?: ComponentTranslator): DashboardProps;
|
|
25
|
+
/**
|
|
26
|
+
* Converts Vue `DashboardById` props into the preact props rendered by the underlying component.
|
|
27
|
+
*
|
|
28
|
+
* Behaves like {@link toPreactDashboardProps}: the structure is always translated, and
|
|
29
|
+
* `componentTranslator` additionally converts the components carried in `config.header`.
|
|
30
|
+
*/
|
|
31
|
+
export declare function toPreactDashboardByIdProps(vueProps: DashboardByIdProps, componentTranslator?: ComponentTranslator): DashboardByIdPropsPreact;
|
|
32
|
+
/** Mirror of {@link toPreactDashboardByIdProps} for the preact -> Vue direction. */
|
|
33
|
+
export declare function toDashboardByIdProps(preactProps: DashboardByIdPropsPreact, componentTranslator?: ComponentTranslator): DashboardByIdProps;
|
|
@@ -6,9 +6,18 @@ export declare function toDeepRaw<T>(data: T): T;
|
|
|
6
6
|
/**
|
|
7
7
|
* Renders a component without children.
|
|
8
8
|
*
|
|
9
|
+
* `props` is either the component's reactive props object, or a getter returning the props to
|
|
10
|
+
* render. Use a getter when the Vue-flavored props need converting into the preact props shape
|
|
11
|
+
* (e.g. converting Vue components carried in props into preact components): it is called on every
|
|
12
|
+
* render, so prop updates keep flowing through Vue's reactivity. Converting once before calling
|
|
13
|
+
* this helper would instead snapshot the props at `setup` time and freeze them.
|
|
14
|
+
*
|
|
15
|
+
* A props object is unwrapped with {@link toDeepRaw} before rendering; a getter owns that step, so
|
|
16
|
+
* it can convert the already-unwrapped props.
|
|
17
|
+
*
|
|
9
18
|
* @internal
|
|
10
19
|
*/
|
|
11
|
-
export declare const setupHelper: <C extends AnyComponentFunction>(component: C, props: Parameters<C>[0], contextConnectors?: ContextConnector<any>[]) => (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
20
|
+
export declare const setupHelper: <C extends AnyComponentFunction>(component: C, props: Parameters<C>[0] | (() => Parameters<C>[0]), contextConnectors?: ContextConnector<any>[]) => (() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
12
21
|
[key: string]: any;
|
|
13
22
|
}>) | null;
|
|
14
23
|
/**
|
|
@@ -1,7 +1,18 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import type { ExternalComponentAdapter } from '@sisense/sdk-ui-preact';
|
|
1
|
+
import { type CompleteThemeSettingsInternal, type CustomSisenseContext, type CustomWidgetsContextAdapter, type ExternalComponentAdapter } from '@sisense/sdk-ui-preact';
|
|
3
2
|
import { type Component, type DefineComponent, type Ref } from 'vue';
|
|
4
3
|
type AnyObject = Record<string, any>;
|
|
4
|
+
/**
|
|
5
|
+
* Parent Vue contexts captured when an adapter is created and provided to the adapted component's
|
|
6
|
+
* isolated Vue app, so it resolves Sisense, theme, and custom-widget context the same way it
|
|
7
|
+
* would inside the host application tree.
|
|
8
|
+
*
|
|
9
|
+
* @internal
|
|
10
|
+
*/
|
|
11
|
+
export type VueComponentAdapterContexts = {
|
|
12
|
+
sisenseContext: Ref<CustomSisenseContext>;
|
|
13
|
+
themeContext: Ref<CompleteThemeSettingsInternal>;
|
|
14
|
+
customWidgetsContext: Ref<CustomWidgetsContextAdapter>;
|
|
15
|
+
};
|
|
5
16
|
/**
|
|
6
17
|
* Adapter class that manages the lifecycle of a Vue component
|
|
7
18
|
* rendered within a Preact context. This provides efficient updates
|
|
@@ -20,11 +31,7 @@ export declare class VueComponentAdapter<Props extends AnyObject> implements Ext
|
|
|
20
31
|
private container;
|
|
21
32
|
private isDestroyed;
|
|
22
33
|
private propsRef;
|
|
23
|
-
constructor(componentClass: Component<Props> | DefineComponent<Props>, contexts:
|
|
24
|
-
sisenseContext: Ref<CustomSisenseContext>;
|
|
25
|
-
themeContext: Ref<CompleteThemeSettingsInternal>;
|
|
26
|
-
customWidgetsContext: Ref<any>;
|
|
27
|
-
});
|
|
34
|
+
constructor(componentClass: Component<Props> | DefineComponent<Props>, contexts: VueComponentAdapterContexts);
|
|
28
35
|
/**
|
|
29
36
|
* Mounts the Vue component into the container element.
|
|
30
37
|
* This should only be called once when the Preact wrapper mounts.
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export { boxWhiskerProcessResult, extractDimensionsAndMeasures, formatNumber, formatDate, getDefaultDateFormat, formatDataSet, } from '@sisense/sdk-ui-preact';
|
|
2
|
-
export
|
|
2
|
+
export { WidgetHeaderMenuTargets } from '@sisense/sdk-ui-preact';
|
|
3
|
+
export type { ChartType, CartesianChartType, CategoricalChartType, ScatterChartType, IndicatorChartType, BoxplotChartType, CalendarHeatmapChartType, ScattermapChartType, AreamapChartType, SankeyChartType, TableType, AreaSubtype, LineSubtype, PieSubtype, PolarSubtype, StackableSubtype, BoxplotSubtype, CalendarHeatmapSubtype, WidgetType, CartesianWidgetType, CategoricalWidgetType, TabularWidgetType, ExecuteQueryByWidgetIdParams, ExecuteQueryParams, GetWidgetModelParams, GetSharedFormulaParams, GetDashboardModelParams, UseGetSharedFormulaParams, GetDashboardModelsParams, GetHierarchyModelsParams, CommonDataOptions, FormatDateOptions, FormatDataSetOptions, ChartDataOptions, CartesianChartDataOptions, CategoricalChartDataOptions, ScatterChartDataOptions, IndicatorChartDataOptions, BoxplotChartDataOptions, BoxplotChartCustomDataOptions, CalendarHeatmapChartDataOptions, ScattermapChartDataOptions, AreamapChartDataOptions, SankeyChartDataOptions, TableDataOptions, PivotTableDataOptions, WidgetDataOptions, NumberFormatConfig, DecimalScale, DataColorCondition, ConditionalDataColorOptions, DataColorOptions, RangeDataColorOptions, UniformDataColorOptions, ValueToColorMap, MultiColumnValueToColorMap, SortDirection, BoxWhiskerType, ScattermapLocationLevel, StyledColumn, StyledMeasureColumn, PivotRowsSort, DataOptionLocation, ChartStyleOptions, LineStyleOptions, AreaStyleOptions, StackableStyleOptions, PieStyleOptions, FunnelStyleOptions, PolarStyleOptions, IndicatorStyleOptions, NumericSimpleIndicatorStyleOptions, NumericBarIndicatorStyleOptions, GaugeIndicatorStyleOptions, ScatterStyleOptions, TreemapStyleOptions, StreamgraphStyleOptions, SunburstStyleOptions, BoxplotStyleOptions, CalendarHeatmapStyleOptions, ScattermapStyleOptions, AreamapStyleOptions, SankeyStyleOptions, ChartWidgetStyleOptions, WidgetStyleOptions, WidgetByIdStyleOptions, TableStyleOptions, PivotTableStyleOptions, AreaRangeStyleOptions, DataLimits, Legend, Markers, Labels, IndicatorComponents, ScatterMarkerSize, LineWidth, LineOptions, DashStyle, EndCapType, AxisLabel, Convolution, SeriesLabels, X2Title, ScattermapMarkers, CalendarHeatmapViewType, WidgetModel, DashboardModel, BeforeRenderHandler, DataPoint, ScatterDataPoint, HighchartsOptions, BoxplotDataPoint, CalendarHeatmapDataPoint, CalendarDayOfWeek, IndicatorBeforeRenderHandler, IndicatorRenderOptions, DashboardLayoutOptions, WidgetsPanelLayout, WidgetsPanelColumnLayout, WidgetId, WidgetsOptions, WidgetConfig, WidgetHeaderConfig, WidgetHeaderMenuActionItem, WidgetHeaderMenuConfig, WidgetHeaderMenuItem, WidgetHeaderMenuSubmenuItem, WidgetHeaderMenuTarget, WidgetNarrativeConfig, WidgetNarrativeDisplayLocation, AppConfig, DateConfig, MenuItemSection, MonthOfYear, DayOfWeek, DateLevel, ThemeOid, GetDashboardModelOptions, GetDashboardModelsOptions, SeriesChartType, MenuPosition, ThemeSettings, Color, ColorPaletteTheme, Navigator, DrilldownOptions, DrilldownSelection, PivotTableDrilldownOptions, PivotTableSelectableDrilldownOptions, PivotTableNonSelectableDrilldownOptions, Member, FilterVariant, FilterWidgetProps, FilterWidgetFilterType, TranslationConfig, Plugin, } from '@sisense/sdk-ui-preact';
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import type { Filter, FilterRelations } from '@sisense/sdk-data';
|
|
2
2
|
import type { DashboardProps } from '../components/dashboard';
|
|
3
|
+
/**
|
|
4
|
+
* The helpers below manipulate props and never render them, so they convert the object structure
|
|
5
|
+
* only — passing no component translator, which carries the components in `config.header` through
|
|
6
|
+
* as they are.
|
|
7
|
+
*/
|
|
3
8
|
/**
|
|
4
9
|
* {@inheritDoc @sisense/sdk-ui!dashboardHelpers.replaceFilters}
|
|
5
10
|
*
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { getDefaultThemeSettings as re, getThemeSettingsByOid as ne, createClientApplication as oe, TabberButtonsWidget as ae, DataObserver as A, CustomSisenseContextProvider as se, CustomThemeProvider as ie, CustomWidgetsProviderAdapter as ce, CustomPluginContextProvider as ue, ComponentAdapter as W, createWrapperElement as fe, trackHook as pe } from "@sisense/sdk-ui-preact";
|
|
2
2
|
import { isRef as O, toRaw as M, toValue as le, inject as T, ref as c, defineComponent as S, watchEffect as l, provide as v, computed as de, createVNode as ge, onBeforeUnmount as V, h as x, isReactive as be } from "vue";
|
|
3
3
|
function ye(e, t) {
|
|
4
|
-
for (var r = -1, n = e == null ? 0 : e.length,
|
|
5
|
-
|
|
6
|
-
return
|
|
4
|
+
for (var r = -1, n = e == null ? 0 : e.length, a = Array(n); ++r < n; )
|
|
5
|
+
a[r] = t(e[r], r, e);
|
|
6
|
+
return a;
|
|
7
7
|
}
|
|
8
8
|
function me(e, t) {
|
|
9
9
|
return ye(t, function(r) {
|
|
@@ -29,8 +29,8 @@ function Ce(e) {
|
|
|
29
29
|
var n = !0;
|
|
30
30
|
} catch {
|
|
31
31
|
}
|
|
32
|
-
var
|
|
33
|
-
return n && (t ? e[d] = r : delete e[d]),
|
|
32
|
+
var a = xe.call(e);
|
|
33
|
+
return n && (t ? e[d] = r : delete e[d]), a;
|
|
34
34
|
}
|
|
35
35
|
var Se = Object.prototype, we = Se.toString;
|
|
36
36
|
function Pe(e) {
|
|
@@ -69,11 +69,11 @@ var He = 9007199254740991;
|
|
|
69
69
|
function H(e) {
|
|
70
70
|
return typeof e == "number" && e > -1 && e % 1 == 0 && e <= He;
|
|
71
71
|
}
|
|
72
|
-
var ze = "[object Arguments]", Xe = "[object Array]", Ye = "[object Boolean]", ke = "[object Date]", Je = "[object Error]", Qe = "[object Function]", Ze = "[object Map]", et = "[object Number]", tt = "[object Object]", rt = "[object RegExp]", nt = "[object Set]", ot = "[object String]", at = "[object WeakMap]", st = "[object ArrayBuffer]", it = "[object DataView]", ct = "[object Float32Array]", ut = "[object Float64Array]", ft = "[object Int8Array]", pt = "[object Int16Array]", lt = "[object Int32Array]", dt = "[object Uint8Array]", gt = "[object Uint8ClampedArray]", bt = "[object Uint16Array]", yt = "[object Uint32Array]",
|
|
73
|
-
|
|
74
|
-
|
|
72
|
+
var ze = "[object Arguments]", Xe = "[object Array]", Ye = "[object Boolean]", ke = "[object Date]", Je = "[object Error]", Qe = "[object Function]", Ze = "[object Map]", et = "[object Number]", tt = "[object Object]", rt = "[object RegExp]", nt = "[object Set]", ot = "[object String]", at = "[object WeakMap]", st = "[object ArrayBuffer]", it = "[object DataView]", ct = "[object Float32Array]", ut = "[object Float64Array]", ft = "[object Int8Array]", pt = "[object Int16Array]", lt = "[object Int32Array]", dt = "[object Uint8Array]", gt = "[object Uint8ClampedArray]", bt = "[object Uint16Array]", yt = "[object Uint32Array]", o = {};
|
|
73
|
+
o[ct] = o[ut] = o[ft] = o[pt] = o[lt] = o[dt] = o[gt] = o[bt] = o[yt] = !0;
|
|
74
|
+
o[ze] = o[Xe] = o[st] = o[Ye] = o[it] = o[ke] = o[Je] = o[Qe] = o[Ze] = o[et] = o[tt] = o[rt] = o[nt] = o[ot] = o[at] = !1;
|
|
75
75
|
function mt(e) {
|
|
76
|
-
return P(e) && H(e.length) && !!
|
|
76
|
+
return P(e) && H(e.length) && !!o[w(e)];
|
|
77
77
|
}
|
|
78
78
|
function vt(e) {
|
|
79
79
|
return function(t) {
|
|
@@ -92,11 +92,11 @@ var K = D && D.isTypedArray, Tt = K ? vt(K) : mt;
|
|
|
92
92
|
const ht = Tt;
|
|
93
93
|
var Ot = Object.prototype, xt = Ot.hasOwnProperty;
|
|
94
94
|
function Ct(e, t) {
|
|
95
|
-
var r = Ue(e), n = !r && De(e),
|
|
95
|
+
var r = Ue(e), n = !r && De(e), a = !r && !n && _e(e), s = !r && !n && !a && ht(e), i = r || n || a || s, p = i ? ve(e.length, String) : [], b = p.length;
|
|
96
96
|
for (var u in e)
|
|
97
97
|
(t || xt.call(e, u)) && !(i && // Safari 9 has enumerable `arguments.length` in strict mode.
|
|
98
98
|
(u == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
|
|
99
|
-
|
|
99
|
+
a && (u == "offset" || u == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
|
|
100
100
|
s && (u == "buffer" || u == "byteLength" || u == "byteOffset") || // Skip index properties.
|
|
101
101
|
qe(u, b))) && p.push(u);
|
|
102
102
|
return p;
|
|
@@ -218,7 +218,7 @@ const m = {
|
|
|
218
218
|
skipTracking: Boolean
|
|
219
219
|
},
|
|
220
220
|
setup(e, { slots: t }) {
|
|
221
|
-
const r = Q(), n = E(),
|
|
221
|
+
const r = Q(), n = E(), a = c(r == null ? void 0 : r.value);
|
|
222
222
|
return l(async () => {
|
|
223
223
|
const { theme: s = {} } = e, { app: i } = n.value, p = typeof s == "string";
|
|
224
224
|
let b = s;
|
|
@@ -228,12 +228,12 @@ const m = {
|
|
|
228
228
|
} catch (u) {
|
|
229
229
|
console.error("Vue ThemeProvider failed to fetch theme by id:", u);
|
|
230
230
|
}
|
|
231
|
-
|
|
231
|
+
a.value = f.withOptions(
|
|
232
232
|
{ mergeArrays: !1 },
|
|
233
233
|
r == null ? void 0 : r.value,
|
|
234
234
|
b
|
|
235
235
|
);
|
|
236
|
-
}), v(J,
|
|
236
|
+
}), v(J, a), () => {
|
|
237
237
|
var s;
|
|
238
238
|
return (s = t.default) == null ? void 0 : s.call(t);
|
|
239
239
|
};
|
|
@@ -323,7 +323,7 @@ const m = {
|
|
|
323
323
|
setup(e, {
|
|
324
324
|
slots: t
|
|
325
325
|
}) {
|
|
326
|
-
var
|
|
326
|
+
var a, s;
|
|
327
327
|
const r = c({
|
|
328
328
|
...m,
|
|
329
329
|
isInitialized: !0,
|
|
@@ -332,7 +332,7 @@ const m = {
|
|
|
332
332
|
},
|
|
333
333
|
tracking: {
|
|
334
334
|
...m.tracking,
|
|
335
|
-
enabled: ((s = (
|
|
335
|
+
enabled: ((s = (a = e.appConfig) == null ? void 0 : a.trackingConfig) == null ? void 0 : s.enabled) ?? !0
|
|
336
336
|
}
|
|
337
337
|
});
|
|
338
338
|
oe({
|
|
@@ -452,21 +452,21 @@ function $(e) {
|
|
|
452
452
|
const sr = (e, t, r = te()) => {
|
|
453
453
|
if (!t)
|
|
454
454
|
return null;
|
|
455
|
-
const n = c(null),
|
|
455
|
+
const n = c(null), a = typeof t == "function" ? t : () => $(t), s = new W(e, r);
|
|
456
456
|
return V(() => {
|
|
457
|
-
|
|
458
|
-
}), () => (n.value &&
|
|
457
|
+
s.destroy();
|
|
458
|
+
}), () => (n.value && s.render(n.value, a()), x("div", { ref: n, style: "width: 100%; height: 100%" }));
|
|
459
459
|
}, ir = (e, t, r, n = te()) => {
|
|
460
|
-
const
|
|
460
|
+
const a = c(), s = c(), i = new W(e, n);
|
|
461
461
|
return V(() => {
|
|
462
462
|
i.destroy();
|
|
463
463
|
}), () => {
|
|
464
|
-
if (
|
|
464
|
+
if (a.value && s.value) {
|
|
465
465
|
const p = fe(s.value);
|
|
466
|
-
i.render(
|
|
466
|
+
i.render(a.value, { ...$(t), children: p });
|
|
467
467
|
}
|
|
468
468
|
return [
|
|
469
|
-
x("div", { ref:
|
|
469
|
+
x("div", { ref: a }),
|
|
470
470
|
x("div", { ref: s }, r.default ? r.default() : [])
|
|
471
471
|
];
|
|
472
472
|
};
|
|
@@ -490,11 +490,11 @@ function cr(e, t) {
|
|
|
490
490
|
}
|
|
491
491
|
const ur = (e) => {
|
|
492
492
|
const t = c(!1), r = E(), n = () => {
|
|
493
|
-
const { app:
|
|
494
|
-
if (!
|
|
493
|
+
const { app: a } = r.value;
|
|
494
|
+
if (!a || t.value)
|
|
495
495
|
return null;
|
|
496
496
|
try {
|
|
497
|
-
pe(e, "sdk-ui-vue",
|
|
497
|
+
pe(e, "sdk-ui-vue", a, () => t.value = !0);
|
|
498
498
|
} catch (s) {
|
|
499
499
|
console.error("An error occurred when calling the trackHook", s);
|
|
500
500
|
}
|
|
@@ -519,8 +519,9 @@ export {
|
|
|
519
519
|
Y as j,
|
|
520
520
|
J as k,
|
|
521
521
|
ee as l,
|
|
522
|
-
|
|
523
|
-
|
|
522
|
+
$ as m,
|
|
523
|
+
Ht as n,
|
|
524
|
+
Xt as o,
|
|
524
525
|
sr as s,
|
|
525
526
|
rr as t,
|
|
526
527
|
ur as u
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const c=require("@sisense/sdk-ui-preact"),o=require("vue");function Q(e,t){for(var r=-1,n=e==null?0:e.length,a=Array(n);++r<n;)a[r]=t(e[r],r,e);return a}function Z(e,t){return Q(t,function(r){return e[r]})}function ee(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}var te=typeof global=="object"&&global&&global.Object===Object&&global;const K=te;var re=typeof self=="object"&&self&&self.Object===Object&&self,ne=K||re||Function("return this")();const U=ne;var oe=U.Symbol;const v=oe;var M=Object.prototype,ae=M.hasOwnProperty,se=M.toString,d=v?v.toStringTag:void 0;function ie(e){var t=ae.call(e,d),r=e[d];try{e[d]=void 0;var n=!0}catch{}var a=se.call(e);return n&&(t?e[d]=r:delete e[d]),a}var ce=Object.prototype,ue=ce.toString;function fe(e){return ue.call(e)}var pe="[object Null]",le="[object Undefined]",R=v?v.toStringTag:void 0;function C(e){return e==null?e===void 0?le:pe:R&&R in Object(e)?ie(e):fe(e)}function O(e){return e!=null&&typeof e=="object"}var de="[object Arguments]";function B(e){return O(e)&&C(e)==de}var V=Object.prototype,ge=V.hasOwnProperty,be=V.propertyIsEnumerable,ye=B(function(){return arguments}())?B:function(e){return O(e)&&ge.call(e,"callee")&&!be.call(e,"callee")};const me=ye;var ve=Array.isArray;const je=ve;function he(){return!1}var N=typeof exports=="object"&&exports&&!exports.nodeType&&exports,D=N&&typeof module=="object"&&module&&!module.nodeType&&module,Te=D&&D.exports===N,F=Te?U.Buffer:void 0,Ae=F?F.isBuffer:void 0,Ce=Ae||he;const Oe=Ce;var xe=9007199254740991,Se=/^(?:0|[1-9]\d*)$/;function we(e,t){var r=typeof e;return t=t??xe,!!t&&(r=="number"||r!="symbol"&&Se.test(e))&&e>-1&&e%1==0&&e<t}var Pe=9007199254740991;function _(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Pe}var Ee="[object Arguments]",$e="[object Array]",Re="[object Boolean]",Be="[object Date]",De="[object Error]",Fe="[object Function]",Ie="[object Map]",We="[object Number]",Ke="[object Object]",Ue="[object RegExp]",Me="[object Set]",Ve="[object String]",Ne="[object WeakMap]",_e="[object ArrayBuffer]",qe="[object DataView]",Ge="[object Float32Array]",He="[object Float64Array]",Le="[object Int8Array]",ze="[object Int16Array]",Xe="[object Int32Array]",ke="[object Uint8Array]",Ye="[object Uint8ClampedArray]",Je="[object Uint16Array]",Qe="[object Uint32Array]",s={};s[Ge]=s[He]=s[Le]=s[ze]=s[Xe]=s[ke]=s[Ye]=s[Je]=s[Qe]=!0;s[Ee]=s[$e]=s[_e]=s[Re]=s[qe]=s[Be]=s[De]=s[Fe]=s[Ie]=s[We]=s[Ke]=s[Ue]=s[Me]=s[Ve]=s[Ne]=!1;function Ze(e){return O(e)&&_(e.length)&&!!s[C(e)]}function et(e){return function(t){return e(t)}}var q=typeof exports=="object"&&exports&&!exports.nodeType&&exports,g=q&&typeof module=="object"&&module&&!module.nodeType&&module,tt=g&&g.exports===q,h=tt&&K.process,rt=function(){try{var e=g&&g.require&&g.require("util").types;return e||h&&h.binding&&h.binding("util")}catch{}}();const I=rt;var W=I&&I.isTypedArray,nt=W?et(W):Ze;const ot=nt;var at=Object.prototype,st=at.hasOwnProperty;function it(e,t){var r=je(e),n=!r&&me(e),a=!r&&!n&&Oe(e),i=!r&&!n&&!a&&ot(e),u=r||n||a||i,l=u?ee(e.length,String):[],b=l.length;for(var f in e)(t||st.call(e,f))&&!(u&&(f=="length"||a&&(f=="offset"||f=="parent")||i&&(f=="buffer"||f=="byteLength"||f=="byteOffset")||we(f,b)))&&l.push(f);return l}var ct=Object.prototype;function ut(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||ct;return e===r}function ft(e,t){return function(r){return e(t(r))}}var pt=ft(Object.keys,Object);const lt=pt;var dt=Object.prototype,gt=dt.hasOwnProperty;function bt(e){if(!ut(e))return lt(e);var t=[];for(var r in Object(e))gt.call(e,r)&&r!="constructor"&&t.push(r);return t}function yt(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var mt="[object AsyncFunction]",vt="[object Function]",jt="[object GeneratorFunction]",ht="[object Proxy]";function Tt(e){if(!yt(e))return!1;var t=C(e);return t==vt||t==jt||t==mt||t==ht}function At(e){return e!=null&&_(e.length)&&!Tt(e)}function Ct(e){return At(e)?it(e):bt(e)}function Ot(e){return e==null?[]:Z(e,Ct(e))}function G(e){return e!==null&&!Array.isArray(e)&&typeof e=="object"}function T(e){return o.isRef(e)?o.toRaw(o.toValue(e)):e}function xt(e){const t=T(e);return Object.fromEntries(Object.entries(t).map(([r,n])=>[r,T(n)]))}function St(...e){return e.map(t=>o.isRef(t)?[t]:G(t)?Ot(t).filter(o.isRef):[]).flat()}const y=e=>{if(typeof e=="object"&&e!==null){if(typeof Object.getPrototypeOf=="function"){const t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}return Object.prototype.toString.call(e)==="[object Object]"}return!1},wt=new Set(["__proto__","constructor","prototype","toString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString"]),p=(...e)=>e.reduce((t,r)=>{if(r===void 0)return t;if(Array.isArray(r))throw new TypeError("Arguments provided to ts-deepmerge must be objects, not arrays.");return Object.keys(r).forEach(n=>{wt.has(n)||(Array.isArray(t[n])&&Array.isArray(r[n])?t[n]=p.options.mergeArrays?p.options.uniqueArrayItems?Array.from(new Set(t[n].concat(r[n]))):[...t[n],...r[n]]:r[n]:y(t[n])&&y(r[n])?t[n]=p(t[n],r[n]):!y(t[n])&&y(r[n])?t[n]=p(r[n],void 0):t[n]=r[n]===void 0?p.options.allowUndefinedOverrides?r[n]:t[n]:r[n])}),t},{}),A={allowUndefinedOverrides:!0,mergeArrays:!0,uniqueArrayItems:!0};p.options=A;p.withOptions=(e,...t)=>{p.options=Object.assign(Object.assign({},A),e);const r=p(...t);return p.options=A,r};const m={isInitialized:!1,app:void 0,tracking:{enabled:!0,packageName:"sdk-ui-vue"},errorBoundary:{showErrorBox:!0}},x=Symbol("sisenseContextKey"),j=()=>o.inject(x,()=>o.ref(m),!0),H=Symbol("pluginsContextKey"),Pt=()=>o.inject(H,()=>o.ref([]),!0),S=Symbol("themeContextConfigKey"),w=()=>o.inject(S,()=>o.ref(c.getDefaultThemeSettings()),!0),L=o.defineComponent({props:{theme:[Object,String],skipTracking:Boolean},setup(e,{slots:t}){const r=w(),n=j(),a=o.ref(r==null?void 0:r.value);return o.watchEffect(async()=>{const{theme:i={}}=e,{app:u}=n.value,l=typeof i=="string";let b=i;if(l&&u)try{b=await c.getThemeSettingsByOid(i,u.httpClient)}catch(f){console.error("Vue ThemeProvider failed to fetch theme by id:",f)}a.value=p.withOptions({mergeArrays:!1},r==null?void 0:r.value,b)}),o.provide(S,a),()=>{var i;return(i=t.default)==null?void 0:i.call(t)}}}),Et=o.defineComponent({props:{defaultDataSource:[String,Object],url:{type:String,required:!0},ssoEnabled:Boolean,enableSilentPreAuth:{type:Boolean,default:!1},token:String,wat:String,appConfig:Object,plugins:{type:Array,default:()=>[]},ssoMaxAuthRedirectAttempts:Number,ssoRedirectAttemptsTtlMs:Number,showRuntimeErrors:{type:Boolean,default:m.errorBoundary.showErrorBox}},setup(e,{slots:t}){var a,i;const r=o.ref({...m,isInitialized:!0,errorBoundary:{showErrorBox:e.showRuntimeErrors??!0},tracking:{...m.tracking,enabled:((i=(a=e.appConfig)==null?void 0:a.trackingConfig)==null?void 0:i.enabled)??!0}});c.createClientApplication({...e,packageName:"sdk-ui-vue"}).then(u=>{r.value={...r.value,app:u}}),o.provide(x,r);const n=o.computed(()=>e.plugins??[]);return o.provide(H,n),()=>{var u;return o.createVNode(L,{theme:(u=r.value.app)==null?void 0:u.settings.serverThemeSettings},{default:()=>{var l;return[(l=t.default)==null?void 0:l.call(t)]}})}}}),z={customWidgetsMap:new Map([["tabber-buttons",c.TabberButtonsWidget]])},P=Symbol("customWidgetsContextKey"),X=()=>o.inject(P,()=>o.ref(z),!0),$t=o.defineComponent({setup(e,{slots:t}){return o.provide(P,o.ref(z)),()=>{var r;return(r=t.default)==null?void 0:r.call(t)}}}),k=()=>{const e=j(),t=new c.DataObserver({context:e.value});return o.watchEffect(()=>{t.setValue({context:e.value})}),{propsObserver:t,providerComponent:c.CustomSisenseContextProvider}},Y=()=>{const e={skipTracking:!0},t=w(),r=new c.DataObserver({context:{...e,...t.value&&{themeSettings:t==null?void 0:t.value}}});return o.watchEffect(()=>{r.setValue({context:{...e,...t.value&&{themeSettings:t.value}}})}),{propsObserver:r,providerComponent:c.CustomThemeProvider}},Rt=()=>{const e=X(),t=new c.DataObserver({context:e.value});return o.watchEffect(()=>{t.setValue({context:e.value})}),{propsObserver:t,providerComponent:c.CustomWidgetsProviderAdapter}},Bt=()=>{const e=Pt(),t=new c.DataObserver({context:{plugins:e.value}});return o.watchEffect(()=>{t.setValue({context:{plugins:e.value}})}),{propsObserver:t,providerComponent:c.CustomPluginContextProvider}};function E(){return[Bt(),Rt(),k(),Y()]}function Dt(e){return o.isReactive(e)?o.toRaw(e):e}function $(e){const t=Dt(e);for(const r in t){const n=t[r];!G(n)&&!Array.isArray(n)||(t[r]=$(n))}return t}const Ft=(e,t,r=E())=>{if(!t)return null;const n=o.ref(null),a=new c.ComponentAdapter(e,r);return o.onBeforeUnmount(()=>{a.destroy()}),()=>(n.value&&a.render(n.value,$(t)),o.h("div",{ref:n,style:"width: 100%; height: 100%"}))},It=(e,t,r,n=E())=>{const a=o.ref(),i=o.ref(),u=new c.ComponentAdapter(e,n);return o.onBeforeUnmount(()=>{u.destroy()}),()=>{if(a.value&&i.value){const l=c.createWrapperElement(i.value);u.render(a.value,{...$(t),children:l})}return[o.h("div",{ref:a}),o.h("div",{ref:i},r.default?r.default():[])]}};function Wt(e,t){Object.assign(e.value,t)}function J(e){const t=o.ref(e);function r(n){typeof n=="object"&&typeof t.value=="object"?Wt(t,n):t.value=n}return[t,r]}function Kt(e,t){const[r,n]=J(t);return[r,i=>{const u=e(r.value,i);n(u)}]}const Ut=e=>{const t=o.ref(!1),r=j(),n=()=>{const{app:a}=r.value;if(!a||t.value)return null;try{c.trackHook(e,"sdk-ui-vue",a,()=>t.value=!0)}catch(i){console.error("An error occurred when calling the trackHook",i)}};return o.watchEffect(()=>{n()}),{hasTrackedRef:t}};exports.CustomWidgetsProvider=$t;exports.SisenseContextProvider=Et;exports.ThemeProvider=L;exports.collectRefs=St;exports.createDefaultContextConnectors=E;exports.createSisenseContextConnector=k;exports.createThemeContextConnector=Y;exports.customWidgetsContextKey=P;exports.getCustomWidgetsContext=X;exports.getSisenseContext=j;exports.getThemeContext=w;exports.setupHelper=Ft;exports.setupHelperWithChildren=It;exports.sisenseContextKey=x;exports.themeContextConfigKey=S;exports.toPlainObject=xt;exports.toPlainValue=T;exports.useReducer=Kt;exports.useRefState=J;exports.useTracking=Ut;
|
|
1
|
+
"use strict";const c=require("@sisense/sdk-ui-preact"),o=require("vue");function Q(e,t){for(var r=-1,n=e==null?0:e.length,s=Array(n);++r<n;)s[r]=t(e[r],r,e);return s}function Z(e,t){return Q(t,function(r){return e[r]})}function ee(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}var te=typeof global=="object"&&global&&global.Object===Object&&global;const K=te;var re=typeof self=="object"&&self&&self.Object===Object&&self,ne=K||re||Function("return this")();const U=ne;var oe=U.Symbol;const v=oe;var M=Object.prototype,ae=M.hasOwnProperty,se=M.toString,d=v?v.toStringTag:void 0;function ie(e){var t=ae.call(e,d),r=e[d];try{e[d]=void 0;var n=!0}catch{}var s=se.call(e);return n&&(t?e[d]=r:delete e[d]),s}var ce=Object.prototype,ue=ce.toString;function fe(e){return ue.call(e)}var pe="[object Null]",le="[object Undefined]",$=v?v.toStringTag:void 0;function O(e){return e==null?e===void 0?le:pe:$&&$ in Object(e)?ie(e):fe(e)}function x(e){return e!=null&&typeof e=="object"}var de="[object Arguments]";function B(e){return x(e)&&O(e)==de}var V=Object.prototype,ge=V.hasOwnProperty,be=V.propertyIsEnumerable,ye=B(function(){return arguments}())?B:function(e){return x(e)&&ge.call(e,"callee")&&!be.call(e,"callee")};const me=ye;var ve=Array.isArray;const je=ve;function he(){return!1}var N=typeof exports=="object"&&exports&&!exports.nodeType&&exports,D=N&&typeof module=="object"&&module&&!module.nodeType&&module,Te=D&&D.exports===N,F=Te?U.Buffer:void 0,Ae=F?F.isBuffer:void 0,Ce=Ae||he;const Oe=Ce;var xe=9007199254740991,we=/^(?:0|[1-9]\d*)$/;function Se(e,t){var r=typeof e;return t=t??xe,!!t&&(r=="number"||r!="symbol"&&we.test(e))&&e>-1&&e%1==0&&e<t}var Pe=9007199254740991;function _(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Pe}var Ee="[object Arguments]",Re="[object Array]",$e="[object Boolean]",Be="[object Date]",De="[object Error]",Fe="[object Function]",Ie="[object Map]",We="[object Number]",Ke="[object Object]",Ue="[object RegExp]",Me="[object Set]",Ve="[object String]",Ne="[object WeakMap]",_e="[object ArrayBuffer]",qe="[object DataView]",Ge="[object Float32Array]",He="[object Float64Array]",Le="[object Int8Array]",ze="[object Int16Array]",Xe="[object Int32Array]",ke="[object Uint8Array]",Ye="[object Uint8ClampedArray]",Je="[object Uint16Array]",Qe="[object Uint32Array]",a={};a[Ge]=a[He]=a[Le]=a[ze]=a[Xe]=a[ke]=a[Ye]=a[Je]=a[Qe]=!0;a[Ee]=a[Re]=a[_e]=a[$e]=a[qe]=a[Be]=a[De]=a[Fe]=a[Ie]=a[We]=a[Ke]=a[Ue]=a[Me]=a[Ve]=a[Ne]=!1;function Ze(e){return x(e)&&_(e.length)&&!!a[O(e)]}function et(e){return function(t){return e(t)}}var q=typeof exports=="object"&&exports&&!exports.nodeType&&exports,g=q&&typeof module=="object"&&module&&!module.nodeType&&module,tt=g&&g.exports===q,T=tt&&K.process,rt=function(){try{var e=g&&g.require&&g.require("util").types;return e||T&&T.binding&&T.binding("util")}catch{}}();const I=rt;var W=I&&I.isTypedArray,nt=W?et(W):Ze;const ot=nt;var at=Object.prototype,st=at.hasOwnProperty;function it(e,t){var r=je(e),n=!r&&me(e),s=!r&&!n&&Oe(e),i=!r&&!n&&!s&&ot(e),u=r||n||s||i,l=u?ee(e.length,String):[],b=l.length;for(var f in e)(t||st.call(e,f))&&!(u&&(f=="length"||s&&(f=="offset"||f=="parent")||i&&(f=="buffer"||f=="byteLength"||f=="byteOffset")||Se(f,b)))&&l.push(f);return l}var ct=Object.prototype;function ut(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||ct;return e===r}function ft(e,t){return function(r){return e(t(r))}}var pt=ft(Object.keys,Object);const lt=pt;var dt=Object.prototype,gt=dt.hasOwnProperty;function bt(e){if(!ut(e))return lt(e);var t=[];for(var r in Object(e))gt.call(e,r)&&r!="constructor"&&t.push(r);return t}function yt(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var mt="[object AsyncFunction]",vt="[object Function]",jt="[object GeneratorFunction]",ht="[object Proxy]";function Tt(e){if(!yt(e))return!1;var t=O(e);return t==vt||t==jt||t==mt||t==ht}function At(e){return e!=null&&_(e.length)&&!Tt(e)}function Ct(e){return At(e)?it(e):bt(e)}function Ot(e){return e==null?[]:Z(e,Ct(e))}function G(e){return e!==null&&!Array.isArray(e)&&typeof e=="object"}function A(e){return o.isRef(e)?o.toRaw(o.toValue(e)):e}function xt(e){const t=A(e);return Object.fromEntries(Object.entries(t).map(([r,n])=>[r,A(n)]))}function wt(...e){return e.map(t=>o.isRef(t)?[t]:G(t)?Ot(t).filter(o.isRef):[]).flat()}const y=e=>{if(typeof e=="object"&&e!==null){if(typeof Object.getPrototypeOf=="function"){const t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}return Object.prototype.toString.call(e)==="[object Object]"}return!1},St=new Set(["__proto__","constructor","prototype","toString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString"]),p=(...e)=>e.reduce((t,r)=>{if(r===void 0)return t;if(Array.isArray(r))throw new TypeError("Arguments provided to ts-deepmerge must be objects, not arrays.");return Object.keys(r).forEach(n=>{St.has(n)||(Array.isArray(t[n])&&Array.isArray(r[n])?t[n]=p.options.mergeArrays?p.options.uniqueArrayItems?Array.from(new Set(t[n].concat(r[n]))):[...t[n],...r[n]]:r[n]:y(t[n])&&y(r[n])?t[n]=p(t[n],r[n]):!y(t[n])&&y(r[n])?t[n]=p(r[n],void 0):t[n]=r[n]===void 0?p.options.allowUndefinedOverrides?r[n]:t[n]:r[n])}),t},{}),C={allowUndefinedOverrides:!0,mergeArrays:!0,uniqueArrayItems:!0};p.options=C;p.withOptions=(e,...t)=>{p.options=Object.assign(Object.assign({},C),e);const r=p(...t);return p.options=C,r};const m={isInitialized:!1,app:void 0,tracking:{enabled:!0,packageName:"sdk-ui-vue"},errorBoundary:{showErrorBox:!0}},w=Symbol("sisenseContextKey"),j=()=>o.inject(w,()=>o.ref(m),!0),H=Symbol("pluginsContextKey"),Pt=()=>o.inject(H,()=>o.ref([]),!0),S=Symbol("themeContextConfigKey"),P=()=>o.inject(S,()=>o.ref(c.getDefaultThemeSettings()),!0),L=o.defineComponent({props:{theme:[Object,String],skipTracking:Boolean},setup(e,{slots:t}){const r=P(),n=j(),s=o.ref(r==null?void 0:r.value);return o.watchEffect(async()=>{const{theme:i={}}=e,{app:u}=n.value,l=typeof i=="string";let b=i;if(l&&u)try{b=await c.getThemeSettingsByOid(i,u.httpClient)}catch(f){console.error("Vue ThemeProvider failed to fetch theme by id:",f)}s.value=p.withOptions({mergeArrays:!1},r==null?void 0:r.value,b)}),o.provide(S,s),()=>{var i;return(i=t.default)==null?void 0:i.call(t)}}}),Et=o.defineComponent({props:{defaultDataSource:[String,Object],url:{type:String,required:!0},ssoEnabled:Boolean,enableSilentPreAuth:{type:Boolean,default:!1},token:String,wat:String,appConfig:Object,plugins:{type:Array,default:()=>[]},ssoMaxAuthRedirectAttempts:Number,ssoRedirectAttemptsTtlMs:Number,showRuntimeErrors:{type:Boolean,default:m.errorBoundary.showErrorBox}},setup(e,{slots:t}){var s,i;const r=o.ref({...m,isInitialized:!0,errorBoundary:{showErrorBox:e.showRuntimeErrors??!0},tracking:{...m.tracking,enabled:((i=(s=e.appConfig)==null?void 0:s.trackingConfig)==null?void 0:i.enabled)??!0}});c.createClientApplication({...e,packageName:"sdk-ui-vue"}).then(u=>{r.value={...r.value,app:u}}),o.provide(w,r);const n=o.computed(()=>e.plugins??[]);return o.provide(H,n),()=>{var u;return o.createVNode(L,{theme:(u=r.value.app)==null?void 0:u.settings.serverThemeSettings},{default:()=>{var l;return[(l=t.default)==null?void 0:l.call(t)]}})}}}),z={customWidgetsMap:new Map([["tabber-buttons",c.TabberButtonsWidget]])},E=Symbol("customWidgetsContextKey"),X=()=>o.inject(E,()=>o.ref(z),!0),Rt=o.defineComponent({setup(e,{slots:t}){return o.provide(E,o.ref(z)),()=>{var r;return(r=t.default)==null?void 0:r.call(t)}}}),k=()=>{const e=j(),t=new c.DataObserver({context:e.value});return o.watchEffect(()=>{t.setValue({context:e.value})}),{propsObserver:t,providerComponent:c.CustomSisenseContextProvider}},Y=()=>{const e={skipTracking:!0},t=P(),r=new c.DataObserver({context:{...e,...t.value&&{themeSettings:t==null?void 0:t.value}}});return o.watchEffect(()=>{r.setValue({context:{...e,...t.value&&{themeSettings:t.value}}})}),{propsObserver:r,providerComponent:c.CustomThemeProvider}},$t=()=>{const e=X(),t=new c.DataObserver({context:e.value});return o.watchEffect(()=>{t.setValue({context:e.value})}),{propsObserver:t,providerComponent:c.CustomWidgetsProviderAdapter}},Bt=()=>{const e=Pt(),t=new c.DataObserver({context:{plugins:e.value}});return o.watchEffect(()=>{t.setValue({context:{plugins:e.value}})}),{propsObserver:t,providerComponent:c.CustomPluginContextProvider}};function R(){return[Bt(),$t(),k(),Y()]}function Dt(e){return o.isReactive(e)?o.toRaw(e):e}function h(e){const t=Dt(e);for(const r in t){const n=t[r];!G(n)&&!Array.isArray(n)||(t[r]=h(n))}return t}const Ft=(e,t,r=R())=>{if(!t)return null;const n=o.ref(null),s=typeof t=="function"?t:()=>h(t),i=new c.ComponentAdapter(e,r);return o.onBeforeUnmount(()=>{i.destroy()}),()=>(n.value&&i.render(n.value,s()),o.h("div",{ref:n,style:"width: 100%; height: 100%"}))},It=(e,t,r,n=R())=>{const s=o.ref(),i=o.ref(),u=new c.ComponentAdapter(e,n);return o.onBeforeUnmount(()=>{u.destroy()}),()=>{if(s.value&&i.value){const l=c.createWrapperElement(i.value);u.render(s.value,{...h(t),children:l})}return[o.h("div",{ref:s}),o.h("div",{ref:i},r.default?r.default():[])]}};function Wt(e,t){Object.assign(e.value,t)}function J(e){const t=o.ref(e);function r(n){typeof n=="object"&&typeof t.value=="object"?Wt(t,n):t.value=n}return[t,r]}function Kt(e,t){const[r,n]=J(t);return[r,i=>{const u=e(r.value,i);n(u)}]}const Ut=e=>{const t=o.ref(!1),r=j(),n=()=>{const{app:s}=r.value;if(!s||t.value)return null;try{c.trackHook(e,"sdk-ui-vue",s,()=>t.value=!0)}catch(i){console.error("An error occurred when calling the trackHook",i)}};return o.watchEffect(()=>{n()}),{hasTrackedRef:t}};exports.CustomWidgetsProvider=Rt;exports.SisenseContextProvider=Et;exports.ThemeProvider=L;exports.collectRefs=wt;exports.createDefaultContextConnectors=R;exports.createSisenseContextConnector=k;exports.createThemeContextConnector=Y;exports.customWidgetsContextKey=E;exports.getCustomWidgetsContext=X;exports.getSisenseContext=j;exports.getThemeContext=P;exports.setupHelper=Ft;exports.setupHelperWithChildren=It;exports.sisenseContextKey=w;exports.themeContextConfigKey=S;exports.toDeepRaw=h;exports.toPlainObject=xt;exports.toPlainValue=A;exports.useReducer=Kt;exports.useRefState=J;exports.useTracking=Ut;
|
package/package.json
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"Sisense",
|
|
12
12
|
"Compose SDK"
|
|
13
13
|
],
|
|
14
|
-
"version": "2.
|
|
14
|
+
"version": "2.33.0",
|
|
15
15
|
"type": "module",
|
|
16
16
|
"main": "./dist/index.cjs",
|
|
17
17
|
"module": "./dist/index.js",
|
|
@@ -72,8 +72,8 @@
|
|
|
72
72
|
"clean": "rm -rf ./dist && rm -rf ./coverage && rm -rf tsconfig.tsbuildinfo"
|
|
73
73
|
},
|
|
74
74
|
"dependencies": {
|
|
75
|
-
"@sisense/sdk-data": "2.
|
|
76
|
-
"@sisense/sdk-ui-preact": "2.
|
|
75
|
+
"@sisense/sdk-data": "2.33.0",
|
|
76
|
+
"@sisense/sdk-ui-preact": "2.33.0",
|
|
77
77
|
"lodash-es": "^4.17.21",
|
|
78
78
|
"ts-deepmerge": "^8.0.0",
|
|
79
79
|
"vue": "^3.3.2"
|