@luzmo/ngx-embed
Version:
This is an Angular library for embedding [Luzmo](https://luzmo.com) dashboards in your Angular application.
342 lines (331 loc) • 30.3 kB
JavaScript
export * from '@luzmo/embed';
import * as i0 from '@angular/core';
import { Injectable, inject, NgZone, input, output, viewChild, ChangeDetectionStrategy, CUSTOM_ELEMENTS_SCHEMA, Component, ElementRef, NgModule } from '@angular/core';
import { ReplaySubject, from, fromEvent, tap, merge } from 'rxjs';
import { JsonPipe } from '@angular/common';
class NgxLuzmoDashboardService {
constructor() {
this._dashboardComponents = [];
this.activeDashboardsSubject = new ReplaySubject(1);
}
getDashboards() {
return this.activeDashboardsSubject.asObservable();
}
_emitActiveDashboardsSource() {
this.activeDashboardsSubject.next(this._dashboardComponents);
}
_setComponentContext(componentContext) {
if (!this._dashboardComponents.includes(componentContext)) {
this._dashboardComponents.push(componentContext);
}
}
// remove component context from array after unmounting
_removeComponentContext(componentContext) {
if (this._dashboardComponents.includes(componentContext)) {
this._dashboardComponents = this._dashboardComponents.filter((context) => context !== componentContext);
}
this._emitActiveDashboardsSource();
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: NgxLuzmoDashboardService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: NgxLuzmoDashboardService, providedIn: 'root' }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: NgxLuzmoDashboardService, decorators: [{
type: Injectable,
args: [{
providedIn: 'root'
}]
}] });
// This file is auto-generated. Do not edit.
const VERSION = '8.0.0-ngx-luzmo';
class NgxLuzmoDashboardComponent {
get dashboardElement() {
return this.dashboardElementRef().nativeElement;
}
constructor() {
this.ngxLuzmoDashboardService = inject(NgxLuzmoDashboardService);
this.ngZone = inject(NgZone);
this.appServer = input('https://app.luzmo.com');
this.apiHost = input('https://api.luzmo.com');
this.authKey = input();
this.authToken = input();
this.dashboardId = input();
this.itemId = input();
this.dashboardSlug = input();
this.editMode = input('view');
this.screenMode = input('auto');
this.switchScreenModeOnResize = input(true);
this.language = input('auto');
this.editorLanguage = input('auto');
this.qeVersion = input(2);
this.timezoneId = input();
this.theme = input();
this.mainColor = input();
this.accentColor = input();
this.loaderBackground = input();
this.loaderFontColor = input();
this.loaderSpinnerColor = input();
this.loaderSpinnerBackground = input();
this.itemDimensions = input();
this.embedMode = input('iframe');
this.load = output();
this.itemsRendered = output();
this.customEvent = output();
this.changedFilters = output();
this.dashboardAction = output();
this.exported = output();
this.libVersion = VERSION;
this.dashboardElementRef = viewChild.required('dashboardElement');
this.eventListenersSubscription = null;
// To prevent having an error "Error: NG0909, at K.assertNotInAngularZone":
if (!globalThis.luzmoNgZone) {
globalThis.luzmoNgZone = this.ngZone;
}
}
ngAfterViewInit() {
this.ngxLuzmoDashboardService._setComponentContext(this);
this.initListeners();
}
ngOnDestroy() {
this.ngxLuzmoDashboardService._removeComponentContext(this);
this.eventListenersSubscription?.unsubscribe();
}
// region Public API
getDashboards() {
return from(this.dashboardElement.getDashboards());
}
getData(itemId) {
return from(this.dashboardElement.getData(itemId));
}
getFilters() {
return from(this.dashboardElement.getFilters());
}
setAuthorization(key, token) {
return from(this.dashboardElement.setAuthorization(key, token));
}
refreshData(itemId) {
return from(this.dashboardElement.refreshData(itemId));
}
reloadDashboard() {
return from(this.dashboardElement.reloadDashboard());
}
exportDashboard(format) {
return from(this.dashboardElement.exportDashboard(format));
}
getAccessibleDashboards() {
return from(this.dashboardElement.getAccessibleDashboards());
}
setEditMode(editMode) {
return from(this.dashboardElement.setEditMode(editMode));
}
setSelectedData(itemId, filters) {
return from(this.dashboardElement.setSelectedData(itemId, filters));
}
addFilters(itemId, filters) {
return from(this.dashboardElement.addFilters(itemId, filters));
}
setPreview(preview) {
return from(this.dashboardElement.setPreview(preview));
}
// endregion Public API
initListeners() {
const load$ = fromEvent(this.dashboardElement, 'load')
.pipe(tap((payload) => {
this.ngxLuzmoDashboardService._emitActiveDashboardsSource();
this.load.emit(payload.detail);
}));
const itemsRendered$ = fromEvent(this.dashboardElement, 'itemsRendered')
.pipe(tap((payload) => this.itemsRendered.emit(payload.detail)));
const customEvent$ = fromEvent(this.dashboardElement, 'customEvent')
.pipe(tap((payload) => this.customEvent.emit(payload.detail)));
const changedFilters$ = fromEvent(this.dashboardElement, 'changedFilters')
.pipe(tap((payload) => this.changedFilters.emit(payload.detail)));
const dashboardAction$ = fromEvent(this.dashboardElement, 'dashboardAction')
.pipe(tap((payload) => this.dashboardAction.emit(payload.detail)));
const export$ = fromEvent(this.dashboardElement, 'export')
.pipe(tap((payload) => this.exported.emit(payload.detail)));
this.eventListenersSubscription = merge(load$, itemsRendered$, customEvent$, changedFilters$, dashboardAction$, export$)
.subscribe();
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: NgxLuzmoDashboardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.0.6", type: NgxLuzmoDashboardComponent, isStandalone: true, selector: "luzmo-dashboard", inputs: { appServer: { classPropertyName: "appServer", publicName: "appServer", isSignal: true, isRequired: false, transformFunction: null }, apiHost: { classPropertyName: "apiHost", publicName: "apiHost", isSignal: true, isRequired: false, transformFunction: null }, authKey: { classPropertyName: "authKey", publicName: "authKey", isSignal: true, isRequired: false, transformFunction: null }, authToken: { classPropertyName: "authToken", publicName: "authToken", isSignal: true, isRequired: false, transformFunction: null }, dashboardId: { classPropertyName: "dashboardId", publicName: "dashboardId", isSignal: true, isRequired: false, transformFunction: null }, itemId: { classPropertyName: "itemId", publicName: "itemId", isSignal: true, isRequired: false, transformFunction: null }, dashboardSlug: { classPropertyName: "dashboardSlug", publicName: "dashboardSlug", isSignal: true, isRequired: false, transformFunction: null }, editMode: { classPropertyName: "editMode", publicName: "editMode", isSignal: true, isRequired: false, transformFunction: null }, screenMode: { classPropertyName: "screenMode", publicName: "screenMode", isSignal: true, isRequired: false, transformFunction: null }, switchScreenModeOnResize: { classPropertyName: "switchScreenModeOnResize", publicName: "switchScreenModeOnResize", isSignal: true, isRequired: false, transformFunction: null }, language: { classPropertyName: "language", publicName: "language", isSignal: true, isRequired: false, transformFunction: null }, editorLanguage: { classPropertyName: "editorLanguage", publicName: "editorLanguage", isSignal: true, isRequired: false, transformFunction: null }, qeVersion: { classPropertyName: "qeVersion", publicName: "qeVersion", isSignal: true, isRequired: false, transformFunction: null }, timezoneId: { classPropertyName: "timezoneId", publicName: "timezoneId", isSignal: true, isRequired: false, transformFunction: null }, theme: { classPropertyName: "theme", publicName: "theme", isSignal: true, isRequired: false, transformFunction: null }, mainColor: { classPropertyName: "mainColor", publicName: "mainColor", isSignal: true, isRequired: false, transformFunction: null }, accentColor: { classPropertyName: "accentColor", publicName: "accentColor", isSignal: true, isRequired: false, transformFunction: null }, loaderBackground: { classPropertyName: "loaderBackground", publicName: "loaderBackground", isSignal: true, isRequired: false, transformFunction: null }, loaderFontColor: { classPropertyName: "loaderFontColor", publicName: "loaderFontColor", isSignal: true, isRequired: false, transformFunction: null }, loaderSpinnerColor: { classPropertyName: "loaderSpinnerColor", publicName: "loaderSpinnerColor", isSignal: true, isRequired: false, transformFunction: null }, loaderSpinnerBackground: { classPropertyName: "loaderSpinnerBackground", publicName: "loaderSpinnerBackground", isSignal: true, isRequired: false, transformFunction: null }, itemDimensions: { classPropertyName: "itemDimensions", publicName: "itemDimensions", isSignal: true, isRequired: false, transformFunction: null }, embedMode: { classPropertyName: "embedMode", publicName: "embedMode", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { load: "load", itemsRendered: "itemsRendered", customEvent: "customEvent", changedFilters: "changedFilters", dashboardAction: "dashboardAction", exported: "exported" }, viewQueries: [{ propertyName: "dashboardElementRef", first: true, predicate: ["dashboardElement"], descendants: true, isSignal: true }], ngImport: i0, template: "<luzmo-embed-dashboard\n #dashboardElement\n [attr.appServer]=\"appServer()\"\n [attr.apiHost]=\"apiHost()\"\n [attr.authToken]=\"authToken()\"\n [attr.authKey]=\"authKey()\"\n [attr.dashboardId]=\"dashboardId()\"\n [attr.itemId]=\"itemId()\"\n [attr.dashboardSlug]=\"dashboardSlug()\"\n [attr.editMode]=\"editMode()\"\n [attr.screenMode]=\"screenMode()\"\n [attr.switchScreenModeOnResize]=\"switchScreenModeOnResize()\"\n [attr.language]=\"language()\"\n [attr.editorLanguage]=\"editorLanguage()\"\n [attr.qeVersion]=\"qeVersion()\"\n [attr.timezoneId]=\"timezoneId()\"\n [attr.theme]=\"theme()\"\n [attr.mainColor]=\"mainColor()\"\n [attr.itemDimensions]=\"itemDimensions() | json\"\n [attr.accentColor]=\"accentColor()\"\n [attr.loaderBackground]=\"loaderBackground()\"\n [attr.loaderFontColor]=\"loaderFontColor()\"\n [attr.loaderSpinnerColor]=\"loaderSpinnerColor()\"\n [attr.loaderSpinnerBackground]=\"loaderSpinnerBackground()\"\n [attr.embedMode]=\"embedMode()\"\n [attr.libVersion]=\"libVersion\">\n</luzmo-embed-dashboard>\n", styles: [":host{display:block;position:relative;width:100%;height:100%}\n"], dependencies: [{ kind: "pipe", type: JsonPipe, name: "json" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: NgxLuzmoDashboardComponent, decorators: [{
type: Component,
args: [{ schemas: [CUSTOM_ELEMENTS_SCHEMA], selector: 'luzmo-dashboard', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
JsonPipe
], template: "<luzmo-embed-dashboard\n #dashboardElement\n [attr.appServer]=\"appServer()\"\n [attr.apiHost]=\"apiHost()\"\n [attr.authToken]=\"authToken()\"\n [attr.authKey]=\"authKey()\"\n [attr.dashboardId]=\"dashboardId()\"\n [attr.itemId]=\"itemId()\"\n [attr.dashboardSlug]=\"dashboardSlug()\"\n [attr.editMode]=\"editMode()\"\n [attr.screenMode]=\"screenMode()\"\n [attr.switchScreenModeOnResize]=\"switchScreenModeOnResize()\"\n [attr.language]=\"language()\"\n [attr.editorLanguage]=\"editorLanguage()\"\n [attr.qeVersion]=\"qeVersion()\"\n [attr.timezoneId]=\"timezoneId()\"\n [attr.theme]=\"theme()\"\n [attr.mainColor]=\"mainColor()\"\n [attr.itemDimensions]=\"itemDimensions() | json\"\n [attr.accentColor]=\"accentColor()\"\n [attr.loaderBackground]=\"loaderBackground()\"\n [attr.loaderFontColor]=\"loaderFontColor()\"\n [attr.loaderSpinnerColor]=\"loaderSpinnerColor()\"\n [attr.loaderSpinnerBackground]=\"loaderSpinnerBackground()\"\n [attr.embedMode]=\"embedMode()\"\n [attr.libVersion]=\"libVersion\">\n</luzmo-embed-dashboard>\n", styles: [":host{display:block;position:relative;width:100%;height:100%}\n"] }]
}], ctorParameters: () => [] });
class NgxLuzmoIQAnswerComponent {
constructor() {
this.elementRef = inject(ElementRef);
this.ngZone = inject(NgZone);
this.appServer = input('https://app.luzmo.com');
this.apiHost = input('https://api.luzmo.com');
this.options = input({});
this.messages = input([]);
this.authKey = input(null);
this.authToken = input(null);
// TODO: olegpetriienko | 07/11/2025 | This input doesn't seem to be used anywhere. Should be checked if it's ok to clean this up
this.aiEndPoint = input(null);
this.libVersion = VERSION;
this.luzmoIQAnswerItem = viewChild('luzmoIQAnswerItem');
if (!globalThis.aydNgZone) {
globalThis.aydNgZone = this.ngZone;
}
}
ngAfterViewInit() {
if (this.luzmoIQAnswerItem()) {
this.luzmoIQAnswerItem()?.nativeElement.setAttribute('style', this.elementRef.nativeElement.style.cssText);
}
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: NgxLuzmoIQAnswerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.0.6", type: NgxLuzmoIQAnswerComponent, isStandalone: true, selector: "luzmo-iq-answer", inputs: { appServer: { classPropertyName: "appServer", publicName: "appServer", isSignal: true, isRequired: false, transformFunction: null }, apiHost: { classPropertyName: "apiHost", publicName: "apiHost", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, messages: { classPropertyName: "messages", publicName: "messages", isSignal: true, isRequired: false, transformFunction: null }, authKey: { classPropertyName: "authKey", publicName: "authKey", isSignal: true, isRequired: false, transformFunction: null }, authToken: { classPropertyName: "authToken", publicName: "authToken", isSignal: true, isRequired: false, transformFunction: null }, aiEndPoint: { classPropertyName: "aiEndPoint", publicName: "aiEndPoint", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "luzmoIQAnswerItem", first: true, predicate: ["luzmoIQAnswerItem"], descendants: true, isSignal: true }], ngImport: i0, template: "<luzmo-iq-embed-answer\n #luzmoIQAnswerItem\n [attr.appServer]=\"appServer()\"\n [attr.apiHost]=\"apiHost()\"\n [attr.authToken]=\"authToken()\"\n [attr.authKey]=\"authKey()\"\n [attr.options]=\"options() | json\"\n [attr.libVersion]=\"libVersion\"\n [attr.messages]=\"messages() | json\"\n [attr.aiEndPoint]=\"aiEndPoint()\">\n</luzmo-iq-embed-answer>\n", styles: [":host{display:block;width:100%;height:100%}\n"], dependencies: [{ kind: "pipe", type: JsonPipe, name: "json" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: NgxLuzmoIQAnswerComponent, decorators: [{
type: Component,
args: [{ selector: 'luzmo-iq-answer', schemas: [CUSTOM_ELEMENTS_SCHEMA], imports: [
JsonPipe
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<luzmo-iq-embed-answer\n #luzmoIQAnswerItem\n [attr.appServer]=\"appServer()\"\n [attr.apiHost]=\"apiHost()\"\n [attr.authToken]=\"authToken()\"\n [attr.authKey]=\"authKey()\"\n [attr.options]=\"options() | json\"\n [attr.libVersion]=\"libVersion\"\n [attr.messages]=\"messages() | json\"\n [attr.aiEndPoint]=\"aiEndPoint()\">\n</luzmo-iq-embed-answer>\n", styles: [":host{display:block;width:100%;height:100%}\n"] }]
}], ctorParameters: () => [] });
class NgxLuzmoIQChatComponent {
constructor() {
this.elementRef = inject(ElementRef);
this.ngZone = inject(NgZone);
this.appServer = input('https://app.luzmo.com');
this.apiHost = input('https://api.luzmo.com');
this.options = input({});
this.authKey = input(null);
this.authToken = input(null);
this.initialSuggestionsDatasetId = input(null);
this.availableDatasets = input([]);
// TODO: olegpetriienko | 07/11/2025 | This input doesn't seem to be used anywhere. Should be checked if it's ok to clean this up
this.aiEndPoint = input(null);
this.libVersion = VERSION;
this.luzmoIQChatItem = viewChild.required('luzmoIQChatItem');
if (!globalThis.aydNgZone) {
globalThis.aydNgZone = this.ngZone;
}
}
ngAfterViewInit() {
if (this.luzmoIQChatItem()) {
this.luzmoIQChatItem().nativeElement.setAttribute('style', this.elementRef.nativeElement.style.cssText);
}
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: NgxLuzmoIQChatComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.0.6", type: NgxLuzmoIQChatComponent, isStandalone: true, selector: "luzmo-iq-chat", inputs: { appServer: { classPropertyName: "appServer", publicName: "appServer", isSignal: true, isRequired: false, transformFunction: null }, apiHost: { classPropertyName: "apiHost", publicName: "apiHost", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, authKey: { classPropertyName: "authKey", publicName: "authKey", isSignal: true, isRequired: false, transformFunction: null }, authToken: { classPropertyName: "authToken", publicName: "authToken", isSignal: true, isRequired: false, transformFunction: null }, initialSuggestionsDatasetId: { classPropertyName: "initialSuggestionsDatasetId", publicName: "initialSuggestionsDatasetId", isSignal: true, isRequired: false, transformFunction: null }, availableDatasets: { classPropertyName: "availableDatasets", publicName: "availableDatasets", isSignal: true, isRequired: false, transformFunction: null }, aiEndPoint: { classPropertyName: "aiEndPoint", publicName: "aiEndPoint", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "luzmoIQChatItem", first: true, predicate: ["luzmoIQChatItem"], descendants: true, isSignal: true }], ngImport: i0, template: "<luzmo-iq-embed-chat\n #luzmoIQChatItem\n [attr.appServer]=\"appServer()\"\n [attr.apiHost]=\"apiHost()\"\n [attr.authToken]=\"authToken()\"\n [attr.authKey]=\"authKey()\"\n [attr.options]=\"options() | json\"\n [attr.libVersion]=\"libVersion\"\n [attr.initialSuggestionsDatasetId]=\"initialSuggestionsDatasetId() | json\"\n [attr.aiEndPoint]=\"aiEndPoint()\"\n [attr.availableDatasets]=\"availableDatasets() | json\">\n <ng-content select=\"[slot='custom-chat-widget-content']\"></ng-content>\n</luzmo-iq-embed-chat>\n", styles: [":host{display:block;width:100%;height:100%}\n"], dependencies: [{ kind: "pipe", type: JsonPipe, name: "json" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: NgxLuzmoIQChatComponent, decorators: [{
type: Component,
args: [{ selector: 'luzmo-iq-chat', schemas: [CUSTOM_ELEMENTS_SCHEMA], imports: [
JsonPipe
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<luzmo-iq-embed-chat\n #luzmoIQChatItem\n [attr.appServer]=\"appServer()\"\n [attr.apiHost]=\"apiHost()\"\n [attr.authToken]=\"authToken()\"\n [attr.authKey]=\"authKey()\"\n [attr.options]=\"options() | json\"\n [attr.libVersion]=\"libVersion\"\n [attr.initialSuggestionsDatasetId]=\"initialSuggestionsDatasetId() | json\"\n [attr.aiEndPoint]=\"aiEndPoint()\"\n [attr.availableDatasets]=\"availableDatasets() | json\">\n <ng-content select=\"[slot='custom-chat-widget-content']\"></ng-content>\n</luzmo-iq-embed-chat>\n", styles: [":host{display:block;width:100%;height:100%}\n"] }]
}], ctorParameters: () => [] });
class NgxLuzmoVizItemComponent {
get canFilterValue() {
if (typeof this.canFilter() === 'object') {
return JSON.stringify(this.canFilter());
}
return this.canFilter();
}
constructor() {
this.elementRef = inject(ElementRef);
this.ngZone = inject(NgZone);
this.appServer = input('https://app.luzmo.com');
this.apiHost = input('https://api.luzmo.com');
this.slots = input([]);
this.options = input({});
this.type = input();
this.authKey = input(null);
this.authToken = input(null);
this.contextId = input(null);
this.canFilter = input('all');
this.filters = input([]);
this.dashboardId = input(null);
this.itemId = input(null);
this.selectedData = input({});
this.dashboardContentsVersion = input();
this.load = output();
this.rendered = output();
this.exported = output();
this.changedFilters = output();
this.customEvent = output();
this.libVersion = VERSION;
this.luzmoEmbedVizItem = viewChild.required('luzmoEmbedVizItem');
if (!globalThis.luzmoNgZone) {
globalThis.luzmoNgZone = this.ngZone;
}
}
ngAfterViewInit() {
this.luzmoVizElement.setAttribute('style', this.elementRef.nativeElement.style.cssText);
this.luzmoVizElement.addEventListener('load', (payload) => this.load.emit(payload.detail));
this.luzmoVizElement.addEventListener('rendered', (payload) => this.rendered.emit(payload.detail));
this.luzmoVizElement.addEventListener('exported', (payload) => this.exported.emit(payload.detail));
this.luzmoVizElement.addEventListener('changedFilters', (payload) => this.changedFilters.emit(payload.detail));
this.luzmoVizElement.addEventListener('customEvent', (payload) => this.customEvent.emit(payload.detail));
}
// region Publich API
getFilters() {
return this.luzmoVizElement.getFilters();
}
export(type = 'png') {
return this.luzmoVizElement.export(type);
}
refreshData() {
return this.luzmoVizElement.refreshData();
}
getData() {
return this.luzmoVizElement.getData();
}
setAuthorization(key, token) {
return this.luzmoVizElement.setAuthorization(key, token);
}
// endregion Publich API
get luzmoVizElement() {
return this.luzmoEmbedVizItem().nativeElement;
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: NgxLuzmoVizItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.0.6", type: NgxLuzmoVizItemComponent, isStandalone: true, selector: "luzmo-viz-item", inputs: { appServer: { classPropertyName: "appServer", publicName: "appServer", isSignal: true, isRequired: false, transformFunction: null }, apiHost: { classPropertyName: "apiHost", publicName: "apiHost", isSignal: true, isRequired: false, transformFunction: null }, slots: { classPropertyName: "slots", publicName: "slots", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, authKey: { classPropertyName: "authKey", publicName: "authKey", isSignal: true, isRequired: false, transformFunction: null }, authToken: { classPropertyName: "authToken", publicName: "authToken", isSignal: true, isRequired: false, transformFunction: null }, contextId: { classPropertyName: "contextId", publicName: "contextId", isSignal: true, isRequired: false, transformFunction: null }, canFilter: { classPropertyName: "canFilter", publicName: "canFilter", isSignal: true, isRequired: false, transformFunction: null }, filters: { classPropertyName: "filters", publicName: "filters", isSignal: true, isRequired: false, transformFunction: null }, dashboardId: { classPropertyName: "dashboardId", publicName: "dashboardId", isSignal: true, isRequired: false, transformFunction: null }, itemId: { classPropertyName: "itemId", publicName: "itemId", isSignal: true, isRequired: false, transformFunction: null }, selectedData: { classPropertyName: "selectedData", publicName: "selectedData", isSignal: true, isRequired: false, transformFunction: null }, dashboardContentsVersion: { classPropertyName: "dashboardContentsVersion", publicName: "dashboardContentsVersion", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { load: "load", rendered: "rendered", exported: "exported", changedFilters: "changedFilters", customEvent: "customEvent" }, viewQueries: [{ propertyName: "luzmoEmbedVizItem", first: true, predicate: ["luzmoEmbedVizItem"], descendants: true, isSignal: true }], ngImport: i0, template: "<luzmo-embed-viz-item\n #luzmoEmbedVizItem\n [attr.appServer]=\"appServer()\"\n [attr.apiHost]=\"apiHost()\"\n [attr.authToken]=\"authToken()\"\n [attr.authKey]=\"authKey()\"\n [attr.slots]=\"slots() | json\"\n [attr.options]=\"options() | json\"\n [attr.type]=\"type()\"\n [attr.canFilter]=\"canFilterValue\"\n [attr.contextId]=\"contextId()\"\n [attr.filters]=\"filters() | json\"\n [attr.itemId]=\"itemId()\"\n [attr.dashboardId]=\"dashboardId()\"\n [attr.libVersion]=\"libVersion\"\n [attr.selectedData]=\"selectedData() | json\"\n [attr.dashboardContentsVersion]=\"dashboardContentsVersion()\">\n</luzmo-embed-viz-item>\n", styles: [":host{display:block;width:100%;height:100%}\n"], dependencies: [{ kind: "pipe", type: JsonPipe, name: "json" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: NgxLuzmoVizItemComponent, decorators: [{
type: Component,
args: [{ selector: 'luzmo-viz-item', schemas: [CUSTOM_ELEMENTS_SCHEMA], imports: [
JsonPipe
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<luzmo-embed-viz-item\n #luzmoEmbedVizItem\n [attr.appServer]=\"appServer()\"\n [attr.apiHost]=\"apiHost()\"\n [attr.authToken]=\"authToken()\"\n [attr.authKey]=\"authKey()\"\n [attr.slots]=\"slots() | json\"\n [attr.options]=\"options() | json\"\n [attr.type]=\"type()\"\n [attr.canFilter]=\"canFilterValue\"\n [attr.contextId]=\"contextId()\"\n [attr.filters]=\"filters() | json\"\n [attr.itemId]=\"itemId()\"\n [attr.dashboardId]=\"dashboardId()\"\n [attr.libVersion]=\"libVersion\"\n [attr.selectedData]=\"selectedData() | json\"\n [attr.dashboardContentsVersion]=\"dashboardContentsVersion()\">\n</luzmo-embed-viz-item>\n", styles: [":host{display:block;width:100%;height:100%}\n"] }]
}], ctorParameters: () => [] });
class NgxLuzmoDashboardModule {
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: NgxLuzmoDashboardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.6", ngImport: i0, type: NgxLuzmoDashboardModule, imports: [NgxLuzmoDashboardComponent,
NgxLuzmoVizItemComponent,
NgxLuzmoIQChatComponent,
NgxLuzmoIQAnswerComponent], exports: [NgxLuzmoDashboardComponent,
NgxLuzmoVizItemComponent,
NgxLuzmoIQChatComponent,
NgxLuzmoIQAnswerComponent] }); }
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: NgxLuzmoDashboardModule }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: NgxLuzmoDashboardModule, decorators: [{
type: NgModule,
args: [{
schemas: [CUSTOM_ELEMENTS_SCHEMA],
imports: [
NgxLuzmoDashboardComponent,
NgxLuzmoVizItemComponent,
NgxLuzmoIQChatComponent,
NgxLuzmoIQAnswerComponent
],
exports: [
NgxLuzmoDashboardComponent,
NgxLuzmoVizItemComponent,
NgxLuzmoIQChatComponent,
NgxLuzmoIQAnswerComponent
]
}]
}] });
/*
* Public API Surface of ngx-luzmo
*/
/**
* Generated bundle index. Do not edit.
*/
export { NgxLuzmoDashboardComponent, NgxLuzmoDashboardModule, NgxLuzmoDashboardService, NgxLuzmoIQAnswerComponent, NgxLuzmoIQChatComponent, NgxLuzmoVizItemComponent };
//# sourceMappingURL=luzmo-ngx-embed.mjs.map