@sisense/sdk-ui-angular 2.23.0 → 2.24.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/esm2020/ai/lib/components/chatbot.component.mjs +3 -2
- package/dist/esm2020/ai/lib/components/get-nlg-insights.component.mjs +3 -2
- package/dist/esm2020/lib/component-wrapper-helpers/context-connectors.mjs +29 -2
- package/dist/esm2020/lib/components/charts/chart.component.mjs +3 -2
- package/dist/esm2020/lib/components/charts/pivot-table.component.mjs +3 -2
- package/dist/esm2020/lib/components/charts/table.component.mjs +3 -2
- package/dist/esm2020/lib/components/context-menu.component.mjs +3 -2
- package/dist/esm2020/lib/components/dashboard/dashboard-by-id.component.mjs +3 -2
- package/dist/esm2020/lib/components/dashboard/dashboard.component.mjs +3 -2
- package/dist/esm2020/lib/components/drilldown-breadcrumbs.component.mjs +3 -2
- package/dist/esm2020/lib/components/filters/criteria-filter-tile.component.mjs +3 -2
- package/dist/esm2020/lib/components/filters/date-range-filter-tile.component.mjs +3 -2
- package/dist/esm2020/lib/components/filters/filter-tile.component.mjs +3 -2
- package/dist/esm2020/lib/components/filters/member-filter-tile.component.mjs +3 -2
- package/dist/esm2020/lib/components/filters/relative-date-filter-tile.component.mjs +3 -2
- package/dist/esm2020/lib/components/widgets/chart-widget.component.mjs +3 -2
- package/dist/esm2020/lib/components/widgets/drilldown-widget.component.mjs +3 -2
- package/dist/esm2020/lib/components/widgets/pivot-table-widget.component.mjs +3 -2
- package/dist/esm2020/lib/components/widgets/table-widget.component.mjs +3 -2
- package/dist/esm2020/lib/components/widgets/widget-by-id.component.mjs +3 -2
- package/dist/esm2020/lib/components/widgets/widget.component.mjs +3 -2
- package/dist/esm2020/lib/services/dashboard.service.mjs +6 -3
- package/dist/esm2020/lib/services/filter.service.mjs +3 -2
- package/dist/esm2020/lib/services/formula.service.mjs +3 -2
- package/dist/esm2020/lib/services/query.service.mjs +4 -2
- package/dist/esm2020/lib/services/widget.service.mjs +3 -2
- package/dist/esm2020/public-api.mjs +2 -2
- package/dist/esm2020/version.mjs +2 -2
- package/dist/fesm2015/sisense-sdk-ui-angular-ai.mjs +3 -1
- package/dist/fesm2015/sisense-sdk-ui-angular-ai.mjs.map +1 -1
- package/dist/fesm2015/sisense-sdk-ui-angular.mjs +59 -4
- package/dist/fesm2015/sisense-sdk-ui-angular.mjs.map +1 -1
- package/dist/fesm2020/sisense-sdk-ui-angular-ai.mjs +3 -1
- package/dist/fesm2020/sisense-sdk-ui-angular-ai.mjs.map +1 -1
- package/dist/fesm2020/sisense-sdk-ui-angular.mjs +57 -4
- package/dist/fesm2020/sisense-sdk-ui-angular.mjs.map +1 -1
- package/dist/lib/component-wrapper-helpers/context-connectors.d.ts +8 -1
- package/dist/package.json +1 -1
- package/dist/public-api.d.ts +1 -1
- package/dist/version.d.ts +1 -1
- package/package.json +4 -4
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { InjectionToken, Injectable, Optional, Inject, Component, ViewChild, Input, NgModule } from '@angular/core';
|
|
3
3
|
import * as i1 from '@sisense/sdk-ui-angular';
|
|
4
|
-
import { TrackableService, createSisenseContextConnector, createThemeContextConnector, SdkUiModule } from '@sisense/sdk-ui-angular';
|
|
4
|
+
import { TrackableService, createPluginContextConnector, createSisenseContextConnector, createThemeContextConnector, SdkUiModule } from '@sisense/sdk-ui-angular';
|
|
5
5
|
import { DataObserver, ComponentAdapter } from '@sisense/sdk-ui-preact';
|
|
6
6
|
import { CustomAiContextProvider, ChatRestApi, prepareGetNlgInsightsPayload, DEFAULT_RECOMMENDATIONS_COUNT, widgetComposer, prepareGetNlqResultPayload, Chatbot, GetNlgInsights } from '@sisense/sdk-ui-preact/ai';
|
|
7
7
|
import { __decorate } from 'tslib';
|
|
@@ -237,6 +237,7 @@ class ChatbotComponent {
|
|
|
237
237
|
this.themeService = themeService;
|
|
238
238
|
this.aiService = aiService;
|
|
239
239
|
this.componentAdapter = new ComponentAdapter(Chatbot, [
|
|
240
|
+
createPluginContextConnector(this.sisenseContextService),
|
|
240
241
|
createSisenseContextConnector(this.sisenseContextService),
|
|
241
242
|
createThemeContextConnector(this.themeService),
|
|
242
243
|
createAiContextConnector(this.aiService),
|
|
@@ -356,6 +357,7 @@ class GetNlgInsightsComponent {
|
|
|
356
357
|
this.themeService = themeService;
|
|
357
358
|
this.aiService = aiService;
|
|
358
359
|
this.componentAdapter = new ComponentAdapter(GetNlgInsights, [
|
|
360
|
+
createPluginContextConnector(this.sisenseContextService),
|
|
359
361
|
createSisenseContextConnector(this.sisenseContextService),
|
|
360
362
|
createThemeContextConnector(this.themeService),
|
|
361
363
|
createAiContextConnector(this.aiService),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sisense-sdk-ui-angular-ai.mjs","sources":["../../src/ai/lib/component-wrapper-helpers/context-connectors.ts","../../src/ai/lib/component-wrapper-helpers/template.ts","../../src/ai/lib/services/ai.service.ts","../../src/ai/lib/components/chatbot.component.ts","../../src/ai/lib/components/get-nlg-insights.component.ts","../../src/ai/lib/sdk-ai.module.ts","../../src/ai/lib/sdk-ui-core-exports.ts","../../src/ai/public-api.ts","../../src/ai/sisense-sdk-ui-angular-ai.ts"],"sourcesContent":["import { ContextConnector, DataObserver } from '@sisense/sdk-ui-preact';\nimport { CustomAiContextProvider, CustomAiContextProviderProps } from '@sisense/sdk-ui-preact/ai';\n\nimport { AiService } from '../services/ai.service';\n\n/**\n * Creates AI context connector\n *\n * @param aiService - The AI service\n * @internal\n */\nexport const createAiContextConnector = (\n aiService: AiService,\n): ContextConnector<CustomAiContextProviderProps> => {\n const propsObserver = new DataObserver<CustomAiContextProviderProps>();\n\n aiService\n .getApi()\n .then((api) =>\n propsObserver.setValue({\n context: {\n api,\n },\n }),\n )\n .catch((error) =>\n propsObserver.setValue({\n error,\n }),\n );\n\n return {\n propsObserver,\n providerComponent: CustomAiContextProvider,\n };\n};\n","export const rootId = 'preact';\nexport const template = `\n <div #${rootId} class=\"csdk-full-size-container\"></div>\n`;\nexport const styles = [\n `.csdk-full-size-container {\n width: 100%;\n height: 100%;\n }`,\n];\n","import { Inject, Injectable, InjectionToken, Optional } from '@angular/core';\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport { SisenseContextService, TrackableService, WidgetProps } from '@sisense/sdk-ui-angular';\nimport {\n AiContextProviderProps,\n ChatRestApi,\n DEFAULT_RECOMMENDATIONS_COUNT,\n GetNlgInsightsResponse,\n GetNlqResultParams,\n GetQueryRecommendationsParams,\n prepareGetNlgInsightsPayload,\n prepareGetNlqResultPayload,\n QueryRecommendation as QueryRecommendationPreact,\n UseGetNlgInsightsParams,\n widgetComposer,\n} from '@sisense/sdk-ui-preact/ai';\n\nexport interface AiContextConfig extends Omit<AiContextProviderProps, 'children'> {}\nexport interface GetNlgInsightsParams extends Omit<UseGetNlgInsightsParams, 'enabled'> {}\n\n/**\n * {@inheritDoc @sisense/sdk-ui!QueryRecommendation}\n */\nexport interface QueryRecommendation extends Omit<QueryRecommendationPreact, 'widgetProps'> {\n /**\n * {@inheritDoc @sisense/sdk-ui!QueryRecommendation.widgetProps}\n */\n widgetProps?: WidgetProps;\n}\n\n/**\n * Token used to inject {@link AiContextConfig} into your application.\n *\n * @example\n * Example of importing {@link SdkAiModule} and injecting {@link AiContextConfig} into your application,\n * along with importing dependency {@link SdkUiModule} and injecting {@link SisenseContextConfig} to connect to a Sisense instance:\n *\n * ```ts\n * import { SdkUiModule, SisenseContextConfig } from '@sisense/sdk-ui-angular';\n * import { SdkAiModule, AI_CONTEXT_CONFIG_TOKEN, AiContextConfig } from '@sisense/sdk-ui-angular/ai';\n *\n * const AI_CONTEXT_CONFIG: AiContextConfig = {\n * volatile: true,\n * };\n * const SISENSE_CONTEXT_CONFIG: SisenseContextConfig = {\n * url: \"<instance url>\", // replace with the URL of your Sisense instance\n * token: \"<api token>\", // replace with the API token of your user account\n * defaultDataSource: DM.DataSource,\n * };\n *\n * @NgModule({\n * imports: [\n * BrowserModule,\n * SdkUiModule,\n * SdkAiModule,\n * ],\n * declarations: [AppComponent],\n * providers: [\n * { provide: AI_CONTEXT_CONFIG_TOKEN, useValue: AI_CONTEXT_CONFIG },\n * { provide: SISENSE_CONTEXT_CONFIG_TOKEN, useValue: SISENSE_CONTEXT_CONFIG },\n * ],\n * bootstrap: [AppComponent],\n * })\n * ```\n * @group Generative AI\n */\nexport const AI_CONTEXT_CONFIG_TOKEN = new InjectionToken<AiContextConfig>('AI Context Config');\n\n/**\n * Service for working with Sisense Fusion Generative AI.\n *\n * @group Generative AI\n */\n@Injectable({\n providedIn: 'root',\n})\n@TrackableService<AiService>(['getNlgInsights', 'getQueryRecommendations'])\nexport class AiService {\n constructor(\n private sisenseContextService: SisenseContextService,\n @Optional() @Inject(AI_CONTEXT_CONFIG_TOKEN) private aiContextConfig?: AiContextConfig,\n ) {}\n\n /** @internal */\n getApi(): Promise<ChatRestApi> {\n return this.sisenseContextService\n .getApp()\n .then((app) => new ChatRestApi(app.httpClient, this.aiContextConfig?.volatile));\n }\n\n /**\n * Fetches an analysis of the provided query using natural language generation (NLG).\n * Specifying NLG parameters is similar to providing parameters to the {@link QueryService.executeQuery} service method, using dimensions, measures, and filters.\n *\n * @param params - Parameters for getting NLG insights\n * @returns NLG insights text summary\n */\n async getNlgInsights(params: GetNlgInsightsParams): Promise<string | undefined> {\n const api = await this.getApi();\n const payload = prepareGetNlgInsightsPayload(params);\n return api.ai\n .getNlgInsights(payload)\n .then((response?: GetNlgInsightsResponse) => response?.data?.answer);\n }\n\n /**\n * Fetches recommended questions for a data model or perspective.\n *\n * @param params - Parameters for recommendations\n * @returns An array of objects, each containing recommended question text and its corresponding `widgetProps`\n * @beta\n */\n async getQueryRecommendations(\n params: GetQueryRecommendationsParams,\n ): Promise<QueryRecommendation[]> {\n const api = await this.getApi();\n const { contextTitle, count, enableAxisTitlesInWidgetProps, customPrompt } = params;\n const recCount = count ?? DEFAULT_RECOMMENDATIONS_COUNT;\n\n const rawRecommendations =\n (await api.ai.getQueryRecommendations(contextTitle, {\n numOfRecommendations: recCount,\n ...(customPrompt ? { userPrompt: customPrompt } : undefined),\n })) || [];\n\n return rawRecommendations.map(\n (recommendation: QueryRecommendationPreact) =>\n ({\n ...recommendation,\n widgetProps: recommendation.jaql\n ? widgetComposer.toWidgetProps(recommendation, {\n useCustomizedStyleOptions: enableAxisTitlesInWidgetProps,\n })\n : undefined,\n } as QueryRecommendation),\n );\n }\n\n /**\n * Executes a natural language query (NLQ) against a data model or perspective\n *\n * @param params - NLQ query parameters\n * @returns The result as WidgetProps\n * @beta\n */\n async getNlqResult(params: GetNlqResultParams): Promise<WidgetProps | undefined> {\n const { contextTitle, request } = prepareGetNlqResultPayload(params);\n const api = await this.getApi();\n\n const data = await api?.ai.getNlqResult(contextTitle, request);\n\n return data\n ? (widgetComposer.toWidgetProps(data, {\n useCustomizedStyleOptions: params.enableAxisTitlesInWidgetProps || false,\n }) as WidgetProps)\n : undefined;\n }\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n ViewChild,\n} from '@angular/core';\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport {\n createSisenseContextConnector,\n createThemeContextConnector,\n SisenseContextService,\n ThemeService,\n} from '@sisense/sdk-ui-angular';\nimport { ComponentAdapter } from '@sisense/sdk-ui-preact';\nimport {\n Chatbot as ChatbotPreact,\n type ChatbotProps as ChatbotPropsPreact,\n} from '@sisense/sdk-ui-preact/ai';\n\nimport { createAiContextConnector, rootId, styles, template } from '../component-wrapper-helpers';\nimport { AiService } from '../services/ai.service';\n\n/**\n * Props of the {@link ChatbotComponent}.\n */\nexport interface ChatbotProps extends ChatbotPropsPreact {}\n\n/**\n * An Angular component that renders a chatbot with data topic selection.\n *\n * @example\n * An example of using the `ChatbotComponent`:\n *\n * ```html\n<!--Component HTML template in example.component.html-->\n<csdk-chatbot\n [width]=\"chatbot.width\"\n [height]=\"chatbot.height\"\n [config]=\"chatbot.config\"\n/>\n * ```\n *\n * ```ts\n// Component behavior in example.component.ts\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'example',\n templateUrl: './example.component.html',\n styleUrls: ['./example.component.scss'],\n})\nexport class ExampleComponent {\n chatbot = {\n width: '500px',\n height: '700px',\n config: {\n numOfRecommendations: 5,\n },\n };\n}\n * ```\n *\n * <img src=\"media://angular-chatbot-example.png\" width=\"500px\" />\n * @group Generative AI\n */\n@Component({\n selector: 'csdk-chatbot',\n template,\n styles,\n})\nexport class ChatbotComponent implements AfterViewInit, OnChanges, OnDestroy {\n /**\n * @internal\n */\n @ViewChild(rootId)\n preactRef!: ElementRef<HTMLDivElement>;\n\n /**\n * {@inheritDoc @sisense/sdk-ui!ChatbotProps.width}\n */\n @Input()\n width: ChatbotProps['width'];\n\n /**\n * {@inheritDoc @sisense/sdk-ui!ChatbotProps.height}\n */\n @Input()\n height: ChatbotProps['height'];\n\n /**\n * {@inheritDoc @sisense/sdk-ui!ChatbotProps.config}\n */\n @Input()\n config: ChatbotProps['config'];\n\n private componentAdapter: ComponentAdapter<typeof ChatbotPreact>;\n\n /**\n * Constructor for the `ChatbotComponent`.\n *\n * @param sisenseContextService - Sisense context service\n * @param themeService - Theme service\n * @param aiService - AI service\n */\n constructor(\n /**\n * Sisense context service\n *\n * @category Constructor\n */\n public sisenseContextService: SisenseContextService,\n /**\n * Theme service\n *\n * @category Constructor\n */\n public themeService: ThemeService,\n /**\n * AI service\n *\n * @category Constructor\n */\n public aiService: AiService,\n ) {\n this.componentAdapter = new ComponentAdapter(ChatbotPreact, [\n createSisenseContextConnector(this.sisenseContextService),\n createThemeContextConnector(this.themeService),\n createAiContextConnector(this.aiService),\n ]);\n }\n\n /**\n * @internal\n */\n ngAfterViewInit() {\n this.componentAdapter.render(this.preactRef.nativeElement, this.getPreactComponentProps());\n }\n\n /**\n * @internal\n */\n ngOnChanges() {\n if (this.preactRef) {\n this.componentAdapter.render(this.preactRef.nativeElement, this.getPreactComponentProps());\n }\n }\n\n private getPreactComponentProps(): ChatbotPropsPreact {\n return {\n width: this.width,\n height: this.height,\n config: this.config,\n };\n }\n\n /**\n * @internal\n */\n ngOnDestroy() {\n this.componentAdapter.destroy();\n }\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n ViewChild,\n} from '@angular/core';\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport {\n createSisenseContextConnector,\n createThemeContextConnector,\n SisenseContextService,\n ThemeService,\n} from '@sisense/sdk-ui-angular';\nimport { ComponentAdapter } from '@sisense/sdk-ui-preact';\nimport {\n GetNlgInsights as GetNlgInsightsPreact,\n type GetNlgInsightsProps as GetNlgInsightsPropsPreact,\n} from '@sisense/sdk-ui-preact/ai';\n\nimport { createAiContextConnector, rootId, styles, template } from '../component-wrapper-helpers';\nimport { AiService } from '../services/ai.service';\n\n/**\n * Props of the {@link GetNlgInsightsComponent}.\n */\nexport interface GetNlgInsightsProps extends GetNlgInsightsPropsPreact {}\n\n/**\n * An Angular component that fetches and displays a collapsible analysis of the provided query using natural language generation (NLG).\n * Specifying NLG parameters is similar to providing parameters to the {@link QueryService.executeQuery} service method, using dimensions, measures, and filters.\n *\n * @example\n * An example of using the `GetNlgInsightsComponent`:\n *\n * ```html\n<!--Component HTML template in example.component.html-->\n<csdk-get-nlg-insights\n [dataSource]=\"nlgParams.dataSource\"\n [dimensions]=\"nlgParams.dimensions\"\n [measures]=\"nlgParams.measures\"\n/>\n * ```\n *\n * ```ts\n// Component behavior in example.component.ts\nimport { Component } from '@angular/core';\nimport { measureFactory } from '@sisense/sdk-data';\nimport * as DM from '../../assets/sample-healthcare-model';\n\n@Component({\n selector: 'example',\n templateUrl: './example.component.html',\n styleUrls: ['./example.component.scss'],\n})\nexport class ExampleComponent {\n nlgParams = {\n dataSource: DM.DataSource.title,\n dimensions: [DM.Divisions.Divison_name],\n measures: [measureFactory.sum(DM.Admissions.Cost_of_admission)],\n };\n}\n * ```\n *\n * <img src=\"media://angular-get-nlg-insights-example.png\" width=\"700px\" />\n * @group Generative AI\n */\n@Component({\n selector: 'csdk-get-nlg-insights',\n template,\n styles,\n})\nexport class GetNlgInsightsComponent implements AfterViewInit, OnChanges, OnDestroy {\n /**\n * @internal\n */\n @ViewChild(rootId)\n preactRef!: ElementRef<HTMLDivElement>;\n\n /**\n * {@inheritDoc @sisense/sdk-ui!GetNlgInsightsProps.dataSource}\n */\n @Input()\n dataSource!: GetNlgInsightsProps['dataSource'];\n\n /**\n * {@inheritDoc @sisense/sdk-ui!GetNlgInsightsProps.dimensions}\n */\n @Input()\n dimensions: GetNlgInsightsProps['dimensions'];\n\n /**\n * {@inheritDoc @sisense/sdk-ui!GetNlgInsightsProps.measures}\n */\n @Input()\n measures: GetNlgInsightsProps['measures'];\n\n /**\n * {@inheritDoc @sisense/sdk-ui!GetNlgInsightsProps.filters}\n */\n @Input()\n filters: GetNlgInsightsProps['filters'];\n\n /**\n * {@inheritDoc @sisense/sdk-ui!GetNlgInsightsProps.verbosity}\n */\n @Input()\n verbosity: GetNlgInsightsProps['verbosity'];\n\n private componentAdapter: ComponentAdapter<typeof GetNlgInsightsPreact>;\n\n /**\n * Constructor for the `GetNlgInsightsProps`.\n *\n * @param sisenseContextService - Sisense context service\n * @param themeService - Theme service\n * @param aiService - AI service\n */\n constructor(\n /**\n * Sisense context service\n *\n * @category Constructor\n */\n public sisenseContextService: SisenseContextService,\n /**\n * Theme service\n *\n * @category Constructor\n */\n public themeService: ThemeService,\n /**\n * AI service\n *\n * @category Constructor\n */\n public aiService: AiService,\n ) {\n this.componentAdapter = new ComponentAdapter(GetNlgInsightsPreact, [\n createSisenseContextConnector(this.sisenseContextService),\n createThemeContextConnector(this.themeService),\n createAiContextConnector(this.aiService),\n ]);\n }\n\n /**\n * @internal\n */\n ngAfterViewInit() {\n this.componentAdapter.render(this.preactRef.nativeElement, this.getPreactComponentProps());\n }\n\n /**\n * @internal\n */\n ngOnChanges() {\n if (this.preactRef) {\n this.componentAdapter.render(this.preactRef.nativeElement, this.getPreactComponentProps());\n }\n }\n\n private getPreactComponentProps(): GetNlgInsightsPropsPreact {\n return {\n dataSource: this.dataSource,\n dimensions: this.dimensions,\n measures: this.measures,\n filters: this.filters,\n verbosity: this.verbosity,\n };\n }\n\n /**\n * @internal\n */\n ngOnDestroy() {\n this.componentAdapter.destroy();\n }\n}\n","/* eslint-disable import/no-extraneous-dependencies */\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SdkUiModule } from '@sisense/sdk-ui-angular';\n\nimport { ChatbotComponent, GetNlgInsightsComponent } from './components';\n\n/**\n * SDK AI Module, which is a container for generative AI components and services.\n *\n * @example\n * Example of importing {@link SdkAiModule} and injecting {@link AiContextConfig} into your application,\n * along with importing dependency {@link SdkUiModule} and injecting {@link SisenseContextConfig} to connect to a Sisense instance:\n *\n * ```ts\n * import { SdkUiModule, SisenseContextConfig } from '@sisense/sdk-ui-angular';\n * import { SdkAiModule, AI_CONTEXT_CONFIG_TOKEN, AiContextConfig } from '@sisense/sdk-ui-angular/ai';\n *\n * const AI_CONTEXT_CONFIG: AiContextConfig = {\n * volatile: true,\n * };\n * const SISENSE_CONTEXT_CONFIG: SisenseContextConfig = {\n * url: \"<instance url>\", // replace with the URL of your Sisense instance\n * token: \"<api token>\", // replace with the API token of your user account\n * defaultDataSource: DM.DataSource,\n * };\n *\n * @NgModule({\n * imports: [\n * BrowserModule,\n * SdkUiModule,\n * SdkAiModule,\n * ],\n * declarations: [AppComponent],\n * providers: [\n * { provide: AI_CONTEXT_CONFIG_TOKEN, useValue: AI_CONTEXT_CONFIG },\n * { provide: SISENSE_CONTEXT_CONFIG_TOKEN, useValue: SISENSE_CONTEXT_CONFIG },\n * ],\n * bootstrap: [AppComponent],\n * })\n * ```\n * @group Generative AI\n */\n@NgModule({\n declarations: [ChatbotComponent, GetNlgInsightsComponent],\n imports: [CommonModule, SdkUiModule],\n exports: [ChatbotComponent, GetNlgInsightsComponent],\n providers: [],\n})\nexport class SdkAiModule {\n constructor() {\n console.log('SdkAiModule loaded');\n }\n}\n","// This file re-exports common types/utils from @sisense/sdk-ui-preact/ai\n\n// Re-exports types from @sisense/sdk-ui-preact/ai\nexport type {\n ChatConfig,\n GetNlqResultParams,\n GetQueryRecommendationsParams,\n} from '@sisense/sdk-ui-preact/ai';\n","/**\n * Public API Surface of @sisense/sdk-ui-angular/ai\n */\n\nexport * from './lib/components';\nexport * from './lib/sdk-ai.module';\nexport * from './lib/sdk-ui-core-exports';\nexport * from './lib/services';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ChatbotPreact","i2.AiService","GetNlgInsightsPreact"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sisense-sdk-ui-angular-ai.mjs","sources":["../../src/ai/lib/component-wrapper-helpers/context-connectors.ts","../../src/ai/lib/component-wrapper-helpers/template.ts","../../src/ai/lib/services/ai.service.ts","../../src/ai/lib/components/chatbot.component.ts","../../src/ai/lib/components/get-nlg-insights.component.ts","../../src/ai/lib/sdk-ai.module.ts","../../src/ai/lib/sdk-ui-core-exports.ts","../../src/ai/public-api.ts","../../src/ai/sisense-sdk-ui-angular-ai.ts"],"sourcesContent":["import { ContextConnector, DataObserver } from '@sisense/sdk-ui-preact';\nimport { CustomAiContextProvider, CustomAiContextProviderProps } from '@sisense/sdk-ui-preact/ai';\n\nimport { AiService } from '../services/ai.service';\n\n/**\n * Creates AI context connector\n *\n * @param aiService - The AI service\n * @internal\n */\nexport const createAiContextConnector = (\n aiService: AiService,\n): ContextConnector<CustomAiContextProviderProps> => {\n const propsObserver = new DataObserver<CustomAiContextProviderProps>();\n\n aiService\n .getApi()\n .then((api) =>\n propsObserver.setValue({\n context: {\n api,\n },\n }),\n )\n .catch((error) =>\n propsObserver.setValue({\n error,\n }),\n );\n\n return {\n propsObserver,\n providerComponent: CustomAiContextProvider,\n };\n};\n","export const rootId = 'preact';\nexport const template = `\n <div #${rootId} class=\"csdk-full-size-container\"></div>\n`;\nexport const styles = [\n `.csdk-full-size-container {\n width: 100%;\n height: 100%;\n }`,\n];\n","import { Inject, Injectable, InjectionToken, Optional } from '@angular/core';\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport { SisenseContextService, TrackableService, WidgetProps } from '@sisense/sdk-ui-angular';\nimport {\n AiContextProviderProps,\n ChatRestApi,\n DEFAULT_RECOMMENDATIONS_COUNT,\n GetNlgInsightsResponse,\n GetNlqResultParams,\n GetQueryRecommendationsParams,\n prepareGetNlgInsightsPayload,\n prepareGetNlqResultPayload,\n QueryRecommendation as QueryRecommendationPreact,\n UseGetNlgInsightsParams,\n widgetComposer,\n} from '@sisense/sdk-ui-preact/ai';\n\nexport interface AiContextConfig extends Omit<AiContextProviderProps, 'children'> {}\nexport interface GetNlgInsightsParams extends Omit<UseGetNlgInsightsParams, 'enabled'> {}\n\n/**\n * {@inheritDoc @sisense/sdk-ui!QueryRecommendation}\n */\nexport interface QueryRecommendation extends Omit<QueryRecommendationPreact, 'widgetProps'> {\n /**\n * {@inheritDoc @sisense/sdk-ui!QueryRecommendation.widgetProps}\n */\n widgetProps?: WidgetProps;\n}\n\n/**\n * Token used to inject {@link AiContextConfig} into your application.\n *\n * @example\n * Example of importing {@link SdkAiModule} and injecting {@link AiContextConfig} into your application,\n * along with importing dependency {@link SdkUiModule} and injecting {@link SisenseContextConfig} to connect to a Sisense instance:\n *\n * ```ts\n * import { SdkUiModule, SisenseContextConfig } from '@sisense/sdk-ui-angular';\n * import { SdkAiModule, AI_CONTEXT_CONFIG_TOKEN, AiContextConfig } from '@sisense/sdk-ui-angular/ai';\n *\n * const AI_CONTEXT_CONFIG: AiContextConfig = {\n * volatile: true,\n * };\n * const SISENSE_CONTEXT_CONFIG: SisenseContextConfig = {\n * url: \"<instance url>\", // replace with the URL of your Sisense instance\n * token: \"<api token>\", // replace with the API token of your user account\n * defaultDataSource: DM.DataSource,\n * };\n *\n * @NgModule({\n * imports: [\n * BrowserModule,\n * SdkUiModule,\n * SdkAiModule,\n * ],\n * declarations: [AppComponent],\n * providers: [\n * { provide: AI_CONTEXT_CONFIG_TOKEN, useValue: AI_CONTEXT_CONFIG },\n * { provide: SISENSE_CONTEXT_CONFIG_TOKEN, useValue: SISENSE_CONTEXT_CONFIG },\n * ],\n * bootstrap: [AppComponent],\n * })\n * ```\n * @group Generative AI\n */\nexport const AI_CONTEXT_CONFIG_TOKEN = new InjectionToken<AiContextConfig>('AI Context Config');\n\n/**\n * Service for working with Sisense Fusion Generative AI.\n *\n * @group Generative AI\n */\n@Injectable({\n providedIn: 'root',\n})\n@TrackableService<AiService>(['getNlgInsights', 'getQueryRecommendations'])\nexport class AiService {\n constructor(\n private sisenseContextService: SisenseContextService,\n @Optional() @Inject(AI_CONTEXT_CONFIG_TOKEN) private aiContextConfig?: AiContextConfig,\n ) {}\n\n /** @internal */\n getApi(): Promise<ChatRestApi> {\n return this.sisenseContextService\n .getApp()\n .then((app) => new ChatRestApi(app.httpClient, this.aiContextConfig?.volatile));\n }\n\n /**\n * Fetches an analysis of the provided query using natural language generation (NLG).\n * Specifying NLG parameters is similar to providing parameters to the {@link QueryService.executeQuery} service method, using dimensions, measures, and filters.\n *\n * @param params - Parameters for getting NLG insights\n * @returns NLG insights text summary\n */\n async getNlgInsights(params: GetNlgInsightsParams): Promise<string | undefined> {\n const api = await this.getApi();\n const payload = prepareGetNlgInsightsPayload(params);\n return api.ai\n .getNlgInsights(payload)\n .then((response?: GetNlgInsightsResponse) => response?.data?.answer);\n }\n\n /**\n * Fetches recommended questions for a data model or perspective.\n *\n * @param params - Parameters for recommendations\n * @returns An array of objects, each containing recommended question text and its corresponding `widgetProps`\n * @beta\n */\n async getQueryRecommendations(\n params: GetQueryRecommendationsParams,\n ): Promise<QueryRecommendation[]> {\n const api = await this.getApi();\n const { contextTitle, count, enableAxisTitlesInWidgetProps, customPrompt } = params;\n const recCount = count ?? DEFAULT_RECOMMENDATIONS_COUNT;\n\n const rawRecommendations =\n (await api.ai.getQueryRecommendations(contextTitle, {\n numOfRecommendations: recCount,\n ...(customPrompt ? { userPrompt: customPrompt } : undefined),\n })) || [];\n\n return rawRecommendations.map(\n (recommendation: QueryRecommendationPreact) =>\n ({\n ...recommendation,\n widgetProps: recommendation.jaql\n ? widgetComposer.toWidgetProps(recommendation, {\n useCustomizedStyleOptions: enableAxisTitlesInWidgetProps,\n })\n : undefined,\n } as QueryRecommendation),\n );\n }\n\n /**\n * Executes a natural language query (NLQ) against a data model or perspective\n *\n * @param params - NLQ query parameters\n * @returns The result as WidgetProps\n * @beta\n */\n async getNlqResult(params: GetNlqResultParams): Promise<WidgetProps | undefined> {\n const { contextTitle, request } = prepareGetNlqResultPayload(params);\n const api = await this.getApi();\n\n const data = await api?.ai.getNlqResult(contextTitle, request);\n\n return data\n ? (widgetComposer.toWidgetProps(data, {\n useCustomizedStyleOptions: params.enableAxisTitlesInWidgetProps || false,\n }) as WidgetProps)\n : undefined;\n }\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n ViewChild,\n} from '@angular/core';\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport {\n createPluginContextConnector,\n createSisenseContextConnector,\n createThemeContextConnector,\n SisenseContextService,\n ThemeService,\n} from '@sisense/sdk-ui-angular';\nimport { ComponentAdapter } from '@sisense/sdk-ui-preact';\nimport {\n Chatbot as ChatbotPreact,\n type ChatbotProps as ChatbotPropsPreact,\n} from '@sisense/sdk-ui-preact/ai';\n\nimport { createAiContextConnector, rootId, styles, template } from '../component-wrapper-helpers';\nimport { AiService } from '../services/ai.service';\n\n/**\n * Props of the {@link ChatbotComponent}.\n */\nexport interface ChatbotProps extends ChatbotPropsPreact {}\n\n/**\n * An Angular component that renders a chatbot with data topic selection.\n *\n * @example\n * An example of using the `ChatbotComponent`:\n *\n * ```html\n<!--Component HTML template in example.component.html-->\n<csdk-chatbot\n [width]=\"chatbot.width\"\n [height]=\"chatbot.height\"\n [config]=\"chatbot.config\"\n/>\n * ```\n *\n * ```ts\n// Component behavior in example.component.ts\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'example',\n templateUrl: './example.component.html',\n styleUrls: ['./example.component.scss'],\n})\nexport class ExampleComponent {\n chatbot = {\n width: '500px',\n height: '700px',\n config: {\n numOfRecommendations: 5,\n },\n };\n}\n * ```\n *\n * <img src=\"media://angular-chatbot-example.png\" width=\"500px\" />\n * @group Generative AI\n */\n@Component({\n selector: 'csdk-chatbot',\n template,\n styles,\n})\nexport class ChatbotComponent implements AfterViewInit, OnChanges, OnDestroy {\n /**\n * @internal\n */\n @ViewChild(rootId)\n preactRef!: ElementRef<HTMLDivElement>;\n\n /**\n * {@inheritDoc @sisense/sdk-ui!ChatbotProps.width}\n */\n @Input()\n width: ChatbotProps['width'];\n\n /**\n * {@inheritDoc @sisense/sdk-ui!ChatbotProps.height}\n */\n @Input()\n height: ChatbotProps['height'];\n\n /**\n * {@inheritDoc @sisense/sdk-ui!ChatbotProps.config}\n */\n @Input()\n config: ChatbotProps['config'];\n\n private componentAdapter: ComponentAdapter<typeof ChatbotPreact>;\n\n /**\n * Constructor for the `ChatbotComponent`.\n *\n * @param sisenseContextService - Sisense context service\n * @param themeService - Theme service\n * @param aiService - AI service\n */\n constructor(\n /**\n * Sisense context service\n *\n * @category Constructor\n */\n public sisenseContextService: SisenseContextService,\n /**\n * Theme service\n *\n * @category Constructor\n */\n public themeService: ThemeService,\n /**\n * AI service\n *\n * @category Constructor\n */\n public aiService: AiService,\n ) {\n this.componentAdapter = new ComponentAdapter(ChatbotPreact, [\n createPluginContextConnector(this.sisenseContextService),\n createSisenseContextConnector(this.sisenseContextService),\n createThemeContextConnector(this.themeService),\n createAiContextConnector(this.aiService),\n ]);\n }\n\n /**\n * @internal\n */\n ngAfterViewInit() {\n this.componentAdapter.render(this.preactRef.nativeElement, this.getPreactComponentProps());\n }\n\n /**\n * @internal\n */\n ngOnChanges() {\n if (this.preactRef) {\n this.componentAdapter.render(this.preactRef.nativeElement, this.getPreactComponentProps());\n }\n }\n\n private getPreactComponentProps(): ChatbotPropsPreact {\n return {\n width: this.width,\n height: this.height,\n config: this.config,\n };\n }\n\n /**\n * @internal\n */\n ngOnDestroy() {\n this.componentAdapter.destroy();\n }\n}\n","import {\n AfterViewInit,\n Component,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n ViewChild,\n} from '@angular/core';\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport {\n createPluginContextConnector,\n createSisenseContextConnector,\n createThemeContextConnector,\n SisenseContextService,\n ThemeService,\n} from '@sisense/sdk-ui-angular';\nimport { ComponentAdapter } from '@sisense/sdk-ui-preact';\nimport {\n GetNlgInsights as GetNlgInsightsPreact,\n type GetNlgInsightsProps as GetNlgInsightsPropsPreact,\n} from '@sisense/sdk-ui-preact/ai';\n\nimport { createAiContextConnector, rootId, styles, template } from '../component-wrapper-helpers';\nimport { AiService } from '../services/ai.service';\n\n/**\n * Props of the {@link GetNlgInsightsComponent}.\n */\nexport interface GetNlgInsightsProps extends GetNlgInsightsPropsPreact {}\n\n/**\n * An Angular component that fetches and displays a collapsible analysis of the provided query using natural language generation (NLG).\n * Specifying NLG parameters is similar to providing parameters to the {@link QueryService.executeQuery} service method, using dimensions, measures, and filters.\n *\n * @example\n * An example of using the `GetNlgInsightsComponent`:\n *\n * ```html\n<!--Component HTML template in example.component.html-->\n<csdk-get-nlg-insights\n [dataSource]=\"nlgParams.dataSource\"\n [dimensions]=\"nlgParams.dimensions\"\n [measures]=\"nlgParams.measures\"\n/>\n * ```\n *\n * ```ts\n// Component behavior in example.component.ts\nimport { Component } from '@angular/core';\nimport { measureFactory } from '@sisense/sdk-data';\nimport * as DM from '../../assets/sample-healthcare-model';\n\n@Component({\n selector: 'example',\n templateUrl: './example.component.html',\n styleUrls: ['./example.component.scss'],\n})\nexport class ExampleComponent {\n nlgParams = {\n dataSource: DM.DataSource.title,\n dimensions: [DM.Divisions.Divison_name],\n measures: [measureFactory.sum(DM.Admissions.Cost_of_admission)],\n };\n}\n * ```\n *\n * <img src=\"media://angular-get-nlg-insights-example.png\" width=\"700px\" />\n * @group Generative AI\n */\n@Component({\n selector: 'csdk-get-nlg-insights',\n template,\n styles,\n})\nexport class GetNlgInsightsComponent implements AfterViewInit, OnChanges, OnDestroy {\n /**\n * @internal\n */\n @ViewChild(rootId)\n preactRef!: ElementRef<HTMLDivElement>;\n\n /**\n * {@inheritDoc @sisense/sdk-ui!GetNlgInsightsProps.dataSource}\n */\n @Input()\n dataSource!: GetNlgInsightsProps['dataSource'];\n\n /**\n * {@inheritDoc @sisense/sdk-ui!GetNlgInsightsProps.dimensions}\n */\n @Input()\n dimensions: GetNlgInsightsProps['dimensions'];\n\n /**\n * {@inheritDoc @sisense/sdk-ui!GetNlgInsightsProps.measures}\n */\n @Input()\n measures: GetNlgInsightsProps['measures'];\n\n /**\n * {@inheritDoc @sisense/sdk-ui!GetNlgInsightsProps.filters}\n */\n @Input()\n filters: GetNlgInsightsProps['filters'];\n\n /**\n * {@inheritDoc @sisense/sdk-ui!GetNlgInsightsProps.verbosity}\n */\n @Input()\n verbosity: GetNlgInsightsProps['verbosity'];\n\n private componentAdapter: ComponentAdapter<typeof GetNlgInsightsPreact>;\n\n /**\n * Constructor for the `GetNlgInsightsProps`.\n *\n * @param sisenseContextService - Sisense context service\n * @param themeService - Theme service\n * @param aiService - AI service\n */\n constructor(\n /**\n * Sisense context service\n *\n * @category Constructor\n */\n public sisenseContextService: SisenseContextService,\n /**\n * Theme service\n *\n * @category Constructor\n */\n public themeService: ThemeService,\n /**\n * AI service\n *\n * @category Constructor\n */\n public aiService: AiService,\n ) {\n this.componentAdapter = new ComponentAdapter(GetNlgInsightsPreact, [\n createPluginContextConnector(this.sisenseContextService),\n createSisenseContextConnector(this.sisenseContextService),\n createThemeContextConnector(this.themeService),\n createAiContextConnector(this.aiService),\n ]);\n }\n\n /**\n * @internal\n */\n ngAfterViewInit() {\n this.componentAdapter.render(this.preactRef.nativeElement, this.getPreactComponentProps());\n }\n\n /**\n * @internal\n */\n ngOnChanges() {\n if (this.preactRef) {\n this.componentAdapter.render(this.preactRef.nativeElement, this.getPreactComponentProps());\n }\n }\n\n private getPreactComponentProps(): GetNlgInsightsPropsPreact {\n return {\n dataSource: this.dataSource,\n dimensions: this.dimensions,\n measures: this.measures,\n filters: this.filters,\n verbosity: this.verbosity,\n };\n }\n\n /**\n * @internal\n */\n ngOnDestroy() {\n this.componentAdapter.destroy();\n }\n}\n","/* eslint-disable import/no-extraneous-dependencies */\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SdkUiModule } from '@sisense/sdk-ui-angular';\n\nimport { ChatbotComponent, GetNlgInsightsComponent } from './components';\n\n/**\n * SDK AI Module, which is a container for generative AI components and services.\n *\n * @example\n * Example of importing {@link SdkAiModule} and injecting {@link AiContextConfig} into your application,\n * along with importing dependency {@link SdkUiModule} and injecting {@link SisenseContextConfig} to connect to a Sisense instance:\n *\n * ```ts\n * import { SdkUiModule, SisenseContextConfig } from '@sisense/sdk-ui-angular';\n * import { SdkAiModule, AI_CONTEXT_CONFIG_TOKEN, AiContextConfig } from '@sisense/sdk-ui-angular/ai';\n *\n * const AI_CONTEXT_CONFIG: AiContextConfig = {\n * volatile: true,\n * };\n * const SISENSE_CONTEXT_CONFIG: SisenseContextConfig = {\n * url: \"<instance url>\", // replace with the URL of your Sisense instance\n * token: \"<api token>\", // replace with the API token of your user account\n * defaultDataSource: DM.DataSource,\n * };\n *\n * @NgModule({\n * imports: [\n * BrowserModule,\n * SdkUiModule,\n * SdkAiModule,\n * ],\n * declarations: [AppComponent],\n * providers: [\n * { provide: AI_CONTEXT_CONFIG_TOKEN, useValue: AI_CONTEXT_CONFIG },\n * { provide: SISENSE_CONTEXT_CONFIG_TOKEN, useValue: SISENSE_CONTEXT_CONFIG },\n * ],\n * bootstrap: [AppComponent],\n * })\n * ```\n * @group Generative AI\n */\n@NgModule({\n declarations: [ChatbotComponent, GetNlgInsightsComponent],\n imports: [CommonModule, SdkUiModule],\n exports: [ChatbotComponent, GetNlgInsightsComponent],\n providers: [],\n})\nexport class SdkAiModule {\n constructor() {\n console.log('SdkAiModule loaded');\n }\n}\n","// This file re-exports common types/utils from @sisense/sdk-ui-preact/ai\n\n// Re-exports types from @sisense/sdk-ui-preact/ai\nexport type {\n ChatConfig,\n GetNlqResultParams,\n GetQueryRecommendationsParams,\n} from '@sisense/sdk-ui-preact/ai';\n","/**\n * Public API Surface of @sisense/sdk-ui-angular/ai\n */\n\nexport * from './lib/components';\nexport * from './lib/sdk-ai.module';\nexport * from './lib/sdk-ui-core-exports';\nexport * from './lib/services';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ChatbotPreact","i2.AiService","GetNlgInsightsPreact"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { InjectionToken, Injectable, Optional, Inject, NgModule, EventEmitter, Component, ViewChild, Input, Output, reflectComponentType, createComponent } from '@angular/core';
|
|
3
|
-
import { DataObserver, CustomThemeProvider, CustomSisenseContextProvider, CustomWidgetsProviderAdapter, createClientApplication, getDefaultThemeSettings, getThemeSettingsByOid, ComponentAdapter, Chart, TabberButtonsWidget, createElement, ExternalComponentAdapterElement, getDashboardModel, getDashboardModels, HookAdapter, useComposedDashboardInternal, createHookApiFacade, useGetFilterMembers, useGetSharedFormulaInternal, getHierarchyModels, executeQuery, executeQueryByWidgetId, executePivotQuery, useExecuteCsvQueryInternal, useExecuteCustomWidgetQueryInternal, getWidgetModel, useJtdWidget, PivotTable, Table, ContextMenu, createWrapperElement, Dashboard, DashboardById, DrilldownBreadcrumbs, CriteriaFilterTile, DateRangeFilterTile, FilterTile, FiltersPanel, MemberFilterTile, RelativeDateFilterTile, ChartWidget, DrilldownWidget, createWrapperElementHandler, createComponentRenderer, PivotTableWidget, TableWidget, Widget, WidgetById, dashboardModelTranslator as dashboardModelTranslator$1, dashboardHelpers as dashboardHelpers$1, widgetModelTranslator as widgetModelTranslator$1 } from '@sisense/sdk-ui-preact';
|
|
3
|
+
import { DataObserver, CustomThemeProvider, CustomSisenseContextProvider, CustomPluginContextProvider, CustomWidgetsProviderAdapter, createClientApplication, getDefaultThemeSettings, getThemeSettingsByOid, ComponentAdapter, Chart, TabberButtonsWidget, createElement, ExternalComponentAdapterElement, getDashboardModel, getDashboardModels, HookAdapter, useComposedDashboardInternal, createHookApiFacade, useGetFilterMembers, useGetSharedFormulaInternal, getHierarchyModels, executeQuery, executeQueryByWidgetId, executePivotQuery, useExecuteCsvQueryInternal, useExecuteCustomWidgetQueryInternal, getWidgetModel, useJtdWidget, PivotTable, Table, ContextMenu, createWrapperElement, Dashboard, DashboardById, DrilldownBreadcrumbs, CriteriaFilterTile, DateRangeFilterTile, FilterTile, FiltersPanel, MemberFilterTile, RelativeDateFilterTile, ChartWidget, DrilldownWidget, createWrapperElementHandler, createComponentRenderer, PivotTableWidget, TableWidget, Widget, WidgetById, dashboardModelTranslator as dashboardModelTranslator$1, dashboardHelpers as dashboardHelpers$1, widgetModelTranslator as widgetModelTranslator$1 } from '@sisense/sdk-ui-preact';
|
|
4
4
|
export { boxWhiskerProcessResult, extractDimensionsAndMeasures } from '@sisense/sdk-ui-preact';
|
|
5
5
|
import { ReplaySubject, firstValueFrom, concat, of, BehaviorSubject, skip } from 'rxjs';
|
|
6
6
|
import { __decorate } from 'tslib';
|
|
@@ -89,6 +89,33 @@ const createSisenseContextConnector = (sisenseContextService) => {
|
|
|
89
89
|
providerComponent: CustomSisenseContextProvider,
|
|
90
90
|
};
|
|
91
91
|
};
|
|
92
|
+
/**
|
|
93
|
+
* Creates plugin context connector
|
|
94
|
+
*
|
|
95
|
+
* @param sisenseContextService - The Sisense context service
|
|
96
|
+
* @internal
|
|
97
|
+
*/
|
|
98
|
+
const createPluginContextConnector = (sisenseContextService) => {
|
|
99
|
+
const propsObserver = new DataObserver({
|
|
100
|
+
context: { plugins: sisenseContextService.getConfig()?.plugins ?? [] },
|
|
101
|
+
});
|
|
102
|
+
sisenseContextService.getApp$().subscribe({
|
|
103
|
+
next: () => {
|
|
104
|
+
propsObserver.setValue({
|
|
105
|
+
context: { plugins: sisenseContextService.getConfig()?.plugins ?? [] },
|
|
106
|
+
});
|
|
107
|
+
},
|
|
108
|
+
error: (error) => {
|
|
109
|
+
propsObserver.setValue({
|
|
110
|
+
error,
|
|
111
|
+
});
|
|
112
|
+
},
|
|
113
|
+
});
|
|
114
|
+
return {
|
|
115
|
+
propsObserver,
|
|
116
|
+
providerComponent: CustomPluginContextProvider,
|
|
117
|
+
};
|
|
118
|
+
};
|
|
92
119
|
/**
|
|
93
120
|
* Creates custom widgets context connector
|
|
94
121
|
*
|
|
@@ -285,7 +312,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
285
312
|
args: [SISENSE_CONTEXT_CONFIG_TOKEN]
|
|
286
313
|
}] }]; } });
|
|
287
314
|
|
|
288
|
-
var packageVersion = '2.
|
|
315
|
+
var packageVersion = '2.24.0';
|
|
289
316
|
|
|
290
317
|
class DecoratorsModule {
|
|
291
318
|
constructor(sisenseContextService) {
|
|
@@ -548,6 +575,7 @@ class ChartComponent {
|
|
|
548
575
|
*/
|
|
549
576
|
this.dataPointsSelect = new EventEmitter();
|
|
550
577
|
this.componentAdapter = new ComponentAdapter(Chart, [
|
|
578
|
+
createPluginContextConnector(this.sisenseContextService),
|
|
551
579
|
createSisenseContextConnector(this.sisenseContextService),
|
|
552
580
|
createThemeContextConnector(this.themeService),
|
|
553
581
|
]);
|
|
@@ -2445,7 +2473,10 @@ let DashboardService = class DashboardService {
|
|
|
2445
2473
|
* the dashboard is no longer needed to prevent memory leaks (e.g., in `ngOnDestroy`).
|
|
2446
2474
|
*/
|
|
2447
2475
|
createComposedDashboard(initialDashboard, options = {}) {
|
|
2448
|
-
const hookAdapter = new HookAdapter((useComposedDashboardInternal), [
|
|
2476
|
+
const hookAdapter = new HookAdapter((useComposedDashboardInternal), [
|
|
2477
|
+
createPluginContextConnector(this.sisenseContextService),
|
|
2478
|
+
createSisenseContextConnector(this.sisenseContextService),
|
|
2479
|
+
]);
|
|
2449
2480
|
const dashboard$ = new BehaviorSubject(initialDashboard);
|
|
2450
2481
|
hookAdapter.subscribe(({ dashboard }) => {
|
|
2451
2482
|
dashboard$.next(toDashboardProps$1(dashboard));
|
|
@@ -2513,6 +2544,7 @@ let FilterService = class FilterService {
|
|
|
2513
2544
|
*/
|
|
2514
2545
|
async getFilterMembers(params) {
|
|
2515
2546
|
const hookAdapter = new HookAdapter(useGetFilterMembers, [
|
|
2547
|
+
createPluginContextConnector(this.sisenseContextService),
|
|
2516
2548
|
createSisenseContextConnector(this.sisenseContextService),
|
|
2517
2549
|
]);
|
|
2518
2550
|
const resultPromise = new Promise((resolve, reject) => {
|
|
@@ -2607,6 +2639,7 @@ let FormulaService = class FormulaService {
|
|
|
2607
2639
|
*/
|
|
2608
2640
|
async getSharedFormula(params) {
|
|
2609
2641
|
const hookAdapter = new HookAdapter(useGetSharedFormulaInternal, [
|
|
2642
|
+
createPluginContextConnector(this.sisenseContextService),
|
|
2610
2643
|
createSisenseContextConnector(this.sisenseContextService),
|
|
2611
2644
|
]);
|
|
2612
2645
|
const resultPromise = new Promise((resolve, reject) => {
|
|
@@ -2754,6 +2787,7 @@ let QueryService = class QueryService {
|
|
|
2754
2787
|
*/
|
|
2755
2788
|
async executeCsvQuery(params) {
|
|
2756
2789
|
const hookAdapter = new HookAdapter(useExecuteCsvQueryInternal, [
|
|
2790
|
+
createPluginContextConnector(this.sisenseContextService),
|
|
2757
2791
|
createSisenseContextConnector(this.sisenseContextService),
|
|
2758
2792
|
]);
|
|
2759
2793
|
const resultPromise = new Promise((resolve, reject) => {
|
|
@@ -2783,6 +2817,7 @@ let QueryService = class QueryService {
|
|
|
2783
2817
|
*/
|
|
2784
2818
|
async executeCustomWidgetQuery(params) {
|
|
2785
2819
|
const hookAdapter = new HookAdapter(useExecuteCustomWidgetQueryInternal, [
|
|
2820
|
+
createPluginContextConnector(this.sisenseContextService),
|
|
2786
2821
|
createSisenseContextConnector(this.sisenseContextService),
|
|
2787
2822
|
]);
|
|
2788
2823
|
const resultPromise = new Promise((resolve, reject) => {
|
|
@@ -2944,6 +2979,7 @@ let WidgetService = class WidgetService {
|
|
|
2944
2979
|
}
|
|
2945
2980
|
// Create HookAdapter with useJtdWidget hook and context connectors
|
|
2946
2981
|
const hookAdapter = new HookAdapter(useJtdWidget, [
|
|
2982
|
+
createPluginContextConnector(this.sisenseContextService),
|
|
2947
2983
|
createSisenseContextConnector(this.sisenseContextService),
|
|
2948
2984
|
createThemeContextConnector(this.themeService),
|
|
2949
2985
|
]);
|
|
@@ -3067,6 +3103,7 @@ class PivotTableComponent {
|
|
|
3067
3103
|
*/
|
|
3068
3104
|
this.dataPointContextMenu = new EventEmitter();
|
|
3069
3105
|
this.componentAdapter = new ComponentAdapter(PivotTable, [
|
|
3106
|
+
createPluginContextConnector(this.sisenseContextService),
|
|
3070
3107
|
createSisenseContextConnector(this.sisenseContextService),
|
|
3071
3108
|
createThemeContextConnector(this.themeService),
|
|
3072
3109
|
]);
|
|
@@ -3819,6 +3856,7 @@ class TableComponent {
|
|
|
3819
3856
|
this.sisenseContextService = sisenseContextService;
|
|
3820
3857
|
this.themeService = themeService;
|
|
3821
3858
|
this.componentAdapter = new ComponentAdapter(Table, [
|
|
3859
|
+
createPluginContextConnector(this.sisenseContextService),
|
|
3822
3860
|
createSisenseContextConnector(this.sisenseContextService),
|
|
3823
3861
|
createThemeContextConnector(this.themeService),
|
|
3824
3862
|
]);
|
|
@@ -4035,6 +4073,7 @@ class ContextMenuComponent {
|
|
|
4035
4073
|
*/
|
|
4036
4074
|
this.contextMenuClose = new EventEmitter();
|
|
4037
4075
|
this.componentAdapter = new ComponentAdapter(ContextMenu, [
|
|
4076
|
+
createPluginContextConnector(this.sisenseContextService),
|
|
4038
4077
|
createSisenseContextConnector(this.sisenseContextService),
|
|
4039
4078
|
createThemeContextConnector(this.themeService),
|
|
4040
4079
|
]);
|
|
@@ -4165,6 +4204,7 @@ class DashboardComponent {
|
|
|
4165
4204
|
this.themeService = themeService;
|
|
4166
4205
|
this.customWidgetsService = customWidgetsService;
|
|
4167
4206
|
this.componentAdapter = new ComponentAdapter(Dashboard, [
|
|
4207
|
+
createPluginContextConnector(this.sisenseContextService),
|
|
4168
4208
|
createCustomWidgetsContextConnector(this.customWidgetsService),
|
|
4169
4209
|
createSisenseContextConnector(this.sisenseContextService),
|
|
4170
4210
|
createThemeContextConnector(this.themeService),
|
|
@@ -4286,6 +4326,7 @@ class DashboardByIdComponent {
|
|
|
4286
4326
|
this.themeService = themeService;
|
|
4287
4327
|
this.customWidgetsService = customWidgetsService;
|
|
4288
4328
|
this.componentAdapter = new ComponentAdapter(DashboardById, [
|
|
4329
|
+
createPluginContextConnector(this.sisenseContextService),
|
|
4289
4330
|
createCustomWidgetsContextConnector(this.customWidgetsService),
|
|
4290
4331
|
createSisenseContextConnector(this.sisenseContextService),
|
|
4291
4332
|
createThemeContextConnector(this.themeService),
|
|
@@ -4372,6 +4413,7 @@ class DrilldownBreadcrumbsComponent {
|
|
|
4372
4413
|
*/
|
|
4373
4414
|
this.drilldownSelectionsSlice = new EventEmitter();
|
|
4374
4415
|
this.componentAdapter = new ComponentAdapter(DrilldownBreadcrumbs, [
|
|
4416
|
+
createPluginContextConnector(this.sisenseContextService),
|
|
4375
4417
|
createSisenseContextConnector(this.sisenseContextService),
|
|
4376
4418
|
createThemeContextConnector(this.themeService),
|
|
4377
4419
|
]);
|
|
@@ -4486,6 +4528,7 @@ class CriteriaFilterTileComponent {
|
|
|
4486
4528
|
*/
|
|
4487
4529
|
this.filterChange = new EventEmitter();
|
|
4488
4530
|
this.componentAdapter = new ComponentAdapter(CriteriaFilterTile, [
|
|
4531
|
+
createPluginContextConnector(this.sisenseContextService),
|
|
4489
4532
|
createSisenseContextConnector(this.sisenseContextService),
|
|
4490
4533
|
createThemeContextConnector(this.themeService),
|
|
4491
4534
|
]);
|
|
@@ -4611,6 +4654,7 @@ class DateRangeFilterTileComponent {
|
|
|
4611
4654
|
*/
|
|
4612
4655
|
this.filterChange = new EventEmitter();
|
|
4613
4656
|
this.componentAdapter = new ComponentAdapter(DateRangeFilterTile, [
|
|
4657
|
+
createPluginContextConnector(this.sisenseContextService),
|
|
4614
4658
|
createSisenseContextConnector(this.sisenseContextService),
|
|
4615
4659
|
createThemeContextConnector(this.themeService),
|
|
4616
4660
|
]);
|
|
@@ -4777,6 +4821,7 @@ class FilterTileComponent {
|
|
|
4777
4821
|
*/
|
|
4778
4822
|
this.filterDelete = new EventEmitterWithHasListeners();
|
|
4779
4823
|
this.componentAdapter = new ComponentAdapter(FilterTile, [
|
|
4824
|
+
createPluginContextConnector(this.sisenseContextService),
|
|
4780
4825
|
createSisenseContextConnector(this.sisenseContextService),
|
|
4781
4826
|
createThemeContextConnector(this.themeService),
|
|
4782
4827
|
]);
|
|
@@ -5024,6 +5069,7 @@ class MemberFilterTileComponent {
|
|
|
5024
5069
|
*/
|
|
5025
5070
|
this.filterChange = new EventEmitter();
|
|
5026
5071
|
this.componentAdapter = new ComponentAdapter(MemberFilterTile, [
|
|
5072
|
+
createPluginContextConnector(this.sisenseContextService),
|
|
5027
5073
|
createSisenseContextConnector(this.sisenseContextService),
|
|
5028
5074
|
createThemeContextConnector(this.themeService),
|
|
5029
5075
|
]);
|
|
@@ -5146,6 +5192,7 @@ class RelativeDateFilterTileComponent {
|
|
|
5146
5192
|
*/
|
|
5147
5193
|
this.filterChange = new EventEmitter();
|
|
5148
5194
|
this.componentAdapter = new ComponentAdapter(RelativeDateFilterTile, [
|
|
5195
|
+
createPluginContextConnector(this.sisenseContextService),
|
|
5149
5196
|
createSisenseContextConnector(this.sisenseContextService),
|
|
5150
5197
|
createThemeContextConnector(this.themeService),
|
|
5151
5198
|
]);
|
|
@@ -5280,6 +5327,7 @@ class ChartWidgetComponent {
|
|
|
5280
5327
|
*/
|
|
5281
5328
|
this.dataPointsSelect = new EventEmitter();
|
|
5282
5329
|
this.componentAdapter = new ComponentAdapter(ChartWidget, [
|
|
5330
|
+
createPluginContextConnector(this.sisenseContextService),
|
|
5283
5331
|
createSisenseContextConnector(this.sisenseContextService),
|
|
5284
5332
|
createThemeContextConnector(this.themeService),
|
|
5285
5333
|
]);
|
|
@@ -5455,6 +5503,7 @@ class DrilldownWidgetComponent {
|
|
|
5455
5503
|
*/
|
|
5456
5504
|
this.drilldownResultChange = new EventEmitter();
|
|
5457
5505
|
this.componentAdapter = new ComponentAdapter(DrilldownWidget, [
|
|
5506
|
+
createPluginContextConnector(this.sisenseContextService),
|
|
5458
5507
|
createSisenseContextConnector(this.sisenseContextService),
|
|
5459
5508
|
createThemeContextConnector(this.themeService),
|
|
5460
5509
|
]);
|
|
@@ -5600,6 +5649,7 @@ class PivotTableWidgetComponent {
|
|
|
5600
5649
|
*/
|
|
5601
5650
|
this.dataPointContextMenu = new EventEmitter();
|
|
5602
5651
|
this.componentAdapter = new ComponentAdapter(PivotTableWidget, [
|
|
5652
|
+
createPluginContextConnector(this.sisenseContextService),
|
|
5603
5653
|
createSisenseContextConnector(this.sisenseContextService),
|
|
5604
5654
|
createThemeContextConnector(this.themeService),
|
|
5605
5655
|
]);
|
|
@@ -5708,6 +5758,7 @@ class TableWidgetComponent {
|
|
|
5708
5758
|
this.sisenseContextService = sisenseContextService;
|
|
5709
5759
|
this.themeService = themeService;
|
|
5710
5760
|
this.componentAdapter = new ComponentAdapter(TableWidget, [
|
|
5761
|
+
createPluginContextConnector(this.sisenseContextService),
|
|
5711
5762
|
createSisenseContextConnector(this.sisenseContextService),
|
|
5712
5763
|
createThemeContextConnector(this.themeService),
|
|
5713
5764
|
]);
|
|
@@ -5823,6 +5874,7 @@ class WidgetComponent {
|
|
|
5823
5874
|
*/
|
|
5824
5875
|
this.dataPointsSelect = new EventEmitter();
|
|
5825
5876
|
this.componentAdapter = new ComponentAdapter(Widget, [
|
|
5877
|
+
createPluginContextConnector(this.sisenseContextService),
|
|
5826
5878
|
createSisenseContextConnector(this.sisenseContextService),
|
|
5827
5879
|
createThemeContextConnector(this.themeService),
|
|
5828
5880
|
]);
|
|
@@ -5949,6 +6001,7 @@ class WidgetByIdComponent {
|
|
|
5949
6001
|
this.sisenseContextService = sisenseContextService;
|
|
5950
6002
|
this.themeService = themeService;
|
|
5951
6003
|
this.componentAdapter = new ComponentAdapter(WidgetById, [
|
|
6004
|
+
createPluginContextConnector(this.sisenseContextService),
|
|
5952
6005
|
createSisenseContextConnector(this.sisenseContextService),
|
|
5953
6006
|
createThemeContextConnector(this.themeService),
|
|
5954
6007
|
]);
|
|
@@ -6773,5 +6826,5 @@ var widgetModelTranslator = /*#__PURE__*/Object.freeze({
|
|
|
6773
6826
|
* Generated bundle index. Do not edit.
|
|
6774
6827
|
*/
|
|
6775
6828
|
|
|
6776
|
-
export { AreaChartComponent, AreaRangeChartComponent, AreamapChartComponent, BarChartComponent, BoxplotChartComponent, CalendarHeatmapChartComponent, ChartComponent, ChartWidgetComponent, ColumnChartComponent, ContextMenuComponent, CriteriaFilterTileComponent, CustomWidgetsService, DashboardByIdComponent, DashboardComponent, DashboardService, DateRangeFilterTileComponent, DrilldownBreadcrumbsComponent, DrilldownWidgetComponent, FilterService, FilterTileComponent, FiltersPanelComponent, FormulaService, FunnelChartComponent, HierarchyService, IndicatorChartComponent, LineChartComponent, MemberFilterTileComponent, PieChartComponent, PivotTableComponent, PivotTableWidgetComponent, PolarChartComponent, QueryService, RelativeDateFilterTileComponent, SISENSE_CONTEXT_CONFIG_TOKEN, ScatterChartComponent, ScattermapChartComponent, SdkUiModule, SisenseContextService, StreamgraphChartComponent, SunburstChartComponent, THEME_CONFIG_TOKEN, TableComponent, TableWidgetComponent, ThemeService, TrackableService, TreemapChartComponent, WidgetByIdComponent, WidgetComponent, WidgetService, createCustomWidgetsContextConnector, createSisenseContextConnector, createThemeContextConnector, dashboardHelpers, dashboardModelTranslator, widgetModelTranslator };
|
|
6829
|
+
export { AreaChartComponent, AreaRangeChartComponent, AreamapChartComponent, BarChartComponent, BoxplotChartComponent, CalendarHeatmapChartComponent, ChartComponent, ChartWidgetComponent, ColumnChartComponent, ContextMenuComponent, CriteriaFilterTileComponent, CustomWidgetsService, DashboardByIdComponent, DashboardComponent, DashboardService, DateRangeFilterTileComponent, DrilldownBreadcrumbsComponent, DrilldownWidgetComponent, FilterService, FilterTileComponent, FiltersPanelComponent, FormulaService, FunnelChartComponent, HierarchyService, IndicatorChartComponent, LineChartComponent, MemberFilterTileComponent, PieChartComponent, PivotTableComponent, PivotTableWidgetComponent, PolarChartComponent, QueryService, RelativeDateFilterTileComponent, SISENSE_CONTEXT_CONFIG_TOKEN, ScatterChartComponent, ScattermapChartComponent, SdkUiModule, SisenseContextService, StreamgraphChartComponent, SunburstChartComponent, THEME_CONFIG_TOKEN, TableComponent, TableWidgetComponent, ThemeService, TrackableService, TreemapChartComponent, WidgetByIdComponent, WidgetComponent, WidgetService, createCustomWidgetsContextConnector, createPluginContextConnector, createSisenseContextConnector, createThemeContextConnector, dashboardHelpers, dashboardModelTranslator, widgetModelTranslator };
|
|
6777
6830
|
//# sourceMappingURL=sisense-sdk-ui-angular.mjs.map
|