@sisense/sdk-ui-angular 0.14.0 → 0.15.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/lib/component-wrapper-helpers/template.mjs +12 -2
- package/dist/esm2020/lib/components/area-chart.component.mjs +3 -1
- package/dist/esm2020/lib/components/bar-chart.component.mjs +3 -1
- package/dist/esm2020/lib/components/basic-member-filter-tile.component.mjs +1 -1
- package/dist/esm2020/lib/components/chart-widget.component.mjs +1 -1
- package/dist/esm2020/lib/components/chart.component.mjs +1 -1
- package/dist/esm2020/lib/components/column-chart.component.mjs +3 -1
- package/dist/esm2020/lib/components/context-menu.component.mjs +92 -0
- package/dist/esm2020/lib/components/dashboard-widget.component.mjs +8 -2
- package/dist/esm2020/lib/components/date-range-filter-tile.component.mjs +101 -0
- package/dist/esm2020/lib/components/drilldown-breadcrumbs.component.mjs +100 -0
- package/dist/esm2020/lib/components/drilldown-widget.component.mjs +171 -0
- package/dist/esm2020/lib/components/funnel-chart.component.mjs +3 -1
- package/dist/esm2020/lib/components/index.mjs +7 -1
- package/dist/esm2020/lib/components/indicator-chart.component.mjs +3 -1
- package/dist/esm2020/lib/components/line-chart.component.mjs +3 -1
- package/dist/esm2020/lib/components/member-filter-tile.component.mjs +95 -0
- package/dist/esm2020/lib/components/pie-chart.component.mjs +3 -1
- package/dist/esm2020/lib/components/polar-chart.component.mjs +3 -1
- package/dist/esm2020/lib/components/scatter-chart.component.mjs +3 -1
- package/dist/esm2020/lib/components/sunburst-chart.component.mjs +86 -0
- package/dist/esm2020/lib/components/table-widget.component.mjs +1 -1
- package/dist/esm2020/lib/components/table.component.mjs +1 -1
- package/dist/esm2020/lib/components/treemap-chart.component.mjs +3 -1
- package/dist/esm2020/lib/decorators/decorators.module.mjs +19 -0
- package/dist/esm2020/lib/decorators/trackable.decorator.mjs +42 -0
- package/dist/esm2020/lib/sdk-ui.module.mjs +31 -6
- package/dist/esm2020/lib/services/dashboard.service.mjs +45 -0
- package/dist/esm2020/lib/services/index.mjs +2 -1
- package/dist/esm2020/lib/services/query.service.mjs +9 -3
- package/dist/esm2020/lib/services/theme.service.mjs +10 -4
- package/dist/esm2020/version.mjs +2 -0
- package/dist/fesm2015/sisense-sdk-ui-angular.mjs +845 -76
- package/dist/fesm2015/sisense-sdk-ui-angular.mjs.map +1 -1
- package/dist/fesm2020/sisense-sdk-ui-angular.mjs +846 -76
- package/dist/fesm2020/sisense-sdk-ui-angular.mjs.map +1 -1
- package/dist/lib/component-wrapper-helpers/template.d.ts +2 -0
- package/dist/lib/components/context-menu.component.d.ts +78 -0
- package/dist/lib/components/dashboard-widget.component.d.ts +4 -1
- package/dist/lib/components/date-range-filter-tile.component.d.ts +90 -0
- package/dist/lib/components/drilldown-breadcrumbs.component.d.ts +86 -0
- package/dist/lib/components/drilldown-widget.component.d.ts +146 -0
- package/dist/lib/components/index.d.ts +6 -0
- package/dist/lib/components/member-filter-tile.component.d.ts +82 -0
- package/dist/lib/components/sunburst-chart.component.d.ts +69 -0
- package/dist/lib/decorators/decorators.module.d.ts +9 -0
- package/dist/lib/decorators/trackable.decorator.d.ts +11 -0
- package/dist/lib/sdk-ui.module.d.ts +11 -4
- package/dist/lib/services/dashboard.service.d.ts +24 -0
- package/dist/lib/services/index.d.ts +1 -0
- package/dist/package.json +12 -13
- package/dist/version.d.ts +2 -0
- package/package.json +18 -13
|
@@ -1,13 +1,24 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter, Component, ViewChild, Input, Output, InjectionToken, Injectable, Inject,
|
|
3
|
-
import { ComponentAdapter, createElement, BasicMemberFilterTile, createContextProviderRenderer, CustomThemeProvider, CustomSisenseContextProvider, createClientApplication, getDefaultThemeSettings, getThemeSettingsByOid, Chart, Table, ChartWidget, TableWidget, DashboardWidget,
|
|
2
|
+
import { EventEmitter, Component, ViewChild, Input, Output, InjectionToken, Injectable, Inject, NgModule, Optional } from '@angular/core';
|
|
3
|
+
import { ComponentAdapter, createElement, BasicMemberFilterTile, createContextProviderRenderer, CustomThemeProvider, CustomSisenseContextProvider, createClientApplication, executeQuery, executeQueryByWidgetId, getDashboardModel, getDashboardModels, getDefaultThemeSettings, getThemeSettingsByOid, Chart, Table, ChartWidget, TableWidget, DashboardWidget, MemberFilterTile, createWrapperElementHandler, createWrapperElement, DrilldownWidget, createComponentRenderer, DateRangeFilterTile, DrilldownBreadcrumbs, ContextMenu } from '@sisense/sdk-ui-preact';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
|
-
import { __awaiter } from 'tslib';
|
|
5
|
+
import { __awaiter, __decorate } from 'tslib';
|
|
6
6
|
import { map, BehaviorSubject } from 'rxjs';
|
|
7
7
|
import merge from 'ts-deepmerge';
|
|
8
|
+
import { trackProductEvent } from '@sisense/sdk-tracking';
|
|
8
9
|
|
|
9
10
|
const rootId = 'preact';
|
|
10
|
-
const
|
|
11
|
+
const rootContentId = 'preactContent';
|
|
12
|
+
const template = `
|
|
13
|
+
<div #${rootId} style="width: 100%; height: 100%"></div>
|
|
14
|
+
`;
|
|
15
|
+
const templateWithContent = `
|
|
16
|
+
<div #${rootId} style="width: 100%; height: 100%">
|
|
17
|
+
<div #${rootContentId} style="width: 100%; height: 100%">
|
|
18
|
+
<ng-content></ng-content>
|
|
19
|
+
</div>
|
|
20
|
+
</div>
|
|
21
|
+
`;
|
|
11
22
|
|
|
12
23
|
/**
|
|
13
24
|
* Basic Member Filter Tile Component
|
|
@@ -45,7 +56,7 @@ class BasicMemberFilterTileComponent {
|
|
|
45
56
|
}
|
|
46
57
|
}
|
|
47
58
|
BasicMemberFilterTileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BasicMemberFilterTileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
48
|
-
BasicMemberFilterTileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BasicMemberFilterTileComponent, selector: "csdk-basic-member-filter-tile", inputs: { title: "title", allMembers: "allMembers", initialSelectedMembers: "initialSelectedMembers", maxAllowedMembers: "maxAllowedMembers" }, outputs: { selectedMembersUpdated: "selectedMembersUpdated" }, viewQueries: [{ propertyName: "preactRef", first: true, predicate: ["preact"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #preact style=\"width: 100%; height: 100%\"></div
|
|
59
|
+
BasicMemberFilterTileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BasicMemberFilterTileComponent, selector: "csdk-basic-member-filter-tile", inputs: { title: "title", allMembers: "allMembers", initialSelectedMembers: "initialSelectedMembers", maxAllowedMembers: "maxAllowedMembers" }, outputs: { selectedMembersUpdated: "selectedMembersUpdated" }, viewQueries: [{ propertyName: "preactRef", first: true, predicate: ["preact"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "\n <div #preact style=\"width: 100%; height: 100%\"></div>\n", isInline: true });
|
|
49
60
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BasicMemberFilterTileComponent, decorators: [{
|
|
50
61
|
type: Component,
|
|
51
62
|
args: [{
|
|
@@ -150,6 +161,150 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
150
161
|
}] }];
|
|
151
162
|
} });
|
|
152
163
|
|
|
164
|
+
let QueryService = class QueryService {
|
|
165
|
+
constructor(sisenseContextService) {
|
|
166
|
+
this.sisenseContextService = sisenseContextService;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Executes a data query.
|
|
170
|
+
*
|
|
171
|
+
* @param params - Query parameters
|
|
172
|
+
* return Query result
|
|
173
|
+
*/
|
|
174
|
+
executeQuery(params) {
|
|
175
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
176
|
+
const { dataSource, dimensions, measures, filters, highlights, count, offset, onBeforeQuery } = params;
|
|
177
|
+
const app = yield this.sisenseContextService.getApp();
|
|
178
|
+
const data = yield executeQuery({ dataSource, dimensions, measures, filters, highlights, count, offset }, app, { onBeforeQuery });
|
|
179
|
+
return { data };
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Executes a data query extracted from an existing widget in the Sisense instance.
|
|
184
|
+
*
|
|
185
|
+
* @param params - Parameters to identify the target widget
|
|
186
|
+
* @returns Query result
|
|
187
|
+
*/
|
|
188
|
+
executeQueryByWidgetId(params) {
|
|
189
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
190
|
+
const app = yield this.sisenseContextService.getApp();
|
|
191
|
+
return executeQueryByWidgetId(Object.assign(Object.assign({}, params), { app }));
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
};
|
|
195
|
+
QueryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: QueryService, deps: [{ token: SisenseContextService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
196
|
+
QueryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: QueryService, providedIn: 'root' });
|
|
197
|
+
QueryService = __decorate([
|
|
198
|
+
TrackableService(['executeQuery', 'executeQueryByWidgetId'])
|
|
199
|
+
], QueryService);
|
|
200
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: QueryService, decorators: [{
|
|
201
|
+
type: Injectable,
|
|
202
|
+
args: [{
|
|
203
|
+
providedIn: 'root',
|
|
204
|
+
}]
|
|
205
|
+
}], ctorParameters: function () { return [{ type: SisenseContextService }]; } });
|
|
206
|
+
|
|
207
|
+
let DashboardService = class DashboardService {
|
|
208
|
+
constructor(sisenseContextService) {
|
|
209
|
+
this.sisenseContextService = sisenseContextService;
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Retrieves an existing dashboard model from the Sisense instance.
|
|
213
|
+
*
|
|
214
|
+
* @param dashboardOid - Identifier of the dashboard
|
|
215
|
+
* @param options - Advanced configuration options
|
|
216
|
+
* @returns Dashboard model
|
|
217
|
+
*/
|
|
218
|
+
getDashboardModel(dashboardOid, options) {
|
|
219
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
220
|
+
const app = yield this.sisenseContextService.getApp();
|
|
221
|
+
return getDashboardModel(app.httpClient, dashboardOid, options);
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Retrieves existing dashboard models from the Sisense instance.
|
|
226
|
+
*
|
|
227
|
+
* @param options - Advanced configuration options
|
|
228
|
+
* @returns Dashboard models array
|
|
229
|
+
*/
|
|
230
|
+
getDashboardModels(options) {
|
|
231
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
232
|
+
const app = yield this.sisenseContextService.getApp();
|
|
233
|
+
return getDashboardModels(app.httpClient, options);
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
};
|
|
237
|
+
DashboardService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DashboardService, deps: [{ token: SisenseContextService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
238
|
+
DashboardService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DashboardService, providedIn: 'root' });
|
|
239
|
+
DashboardService = __decorate([
|
|
240
|
+
TrackableService(['getDashboardModel', 'getDashboardModels'])
|
|
241
|
+
], DashboardService);
|
|
242
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DashboardService, decorators: [{
|
|
243
|
+
type: Injectable,
|
|
244
|
+
args: [{
|
|
245
|
+
providedIn: 'root',
|
|
246
|
+
}]
|
|
247
|
+
}], ctorParameters: function () { return [{ type: SisenseContextService }]; } });
|
|
248
|
+
|
|
249
|
+
class DecoratorsModule {
|
|
250
|
+
constructor(sisenseContextService) {
|
|
251
|
+
DecoratorsModule.sisenseContextService = sisenseContextService;
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
DecoratorsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DecoratorsModule, deps: [{ token: SisenseContextService }], target: i0.ɵɵFactoryTarget.NgModule });
|
|
255
|
+
DecoratorsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: DecoratorsModule });
|
|
256
|
+
DecoratorsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DecoratorsModule });
|
|
257
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DecoratorsModule, decorators: [{
|
|
258
|
+
type: NgModule,
|
|
259
|
+
args: [{
|
|
260
|
+
declarations: [],
|
|
261
|
+
exports: [],
|
|
262
|
+
}]
|
|
263
|
+
}], ctorParameters: function () { return [{ type: SisenseContextService }]; } });
|
|
264
|
+
|
|
265
|
+
var packageVersion = '0.15.0';
|
|
266
|
+
|
|
267
|
+
function Trackable(target, propertyKey, descriptor) {
|
|
268
|
+
const originalMethod = descriptor.value;
|
|
269
|
+
descriptor.value = function (...args) {
|
|
270
|
+
track('sdkAngularServiceMethodExecuted', propertyKey);
|
|
271
|
+
return originalMethod.apply(this, args);
|
|
272
|
+
};
|
|
273
|
+
return descriptor;
|
|
274
|
+
}
|
|
275
|
+
function TrackableService(trackableMethods) {
|
|
276
|
+
return function (ServiceClass) {
|
|
277
|
+
trackableMethods.forEach((methodName) => {
|
|
278
|
+
// eslint-disable-next-line security/detect-object-injection
|
|
279
|
+
const original = ServiceClass.prototype[methodName];
|
|
280
|
+
// eslint-disable-next-line security/detect-object-injection
|
|
281
|
+
ServiceClass.prototype[methodName] = function (...params) {
|
|
282
|
+
track('sdkAngularServiceMethodExecuted', `${ServiceClass.name}.${methodName}`);
|
|
283
|
+
return original.apply(this, params);
|
|
284
|
+
};
|
|
285
|
+
});
|
|
286
|
+
};
|
|
287
|
+
}
|
|
288
|
+
function track(action, methodName) {
|
|
289
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
290
|
+
try {
|
|
291
|
+
const { enableTracking } = DecoratorsModule.sisenseContextService.getConfig();
|
|
292
|
+
const app = yield DecoratorsModule.sisenseContextService.getApp();
|
|
293
|
+
if (app === null || app === void 0 ? void 0 : app.httpClient) {
|
|
294
|
+
const payload = {
|
|
295
|
+
packageName: 'sdk-ui-angular',
|
|
296
|
+
packageVersion,
|
|
297
|
+
methodName,
|
|
298
|
+
};
|
|
299
|
+
void trackProductEvent(action, payload, app.httpClient, !enableTracking).catch((e) => console.warn(`An error occurred when sending the ${action} event`, e));
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
catch (e) {
|
|
303
|
+
console.warn('tracking error', e);
|
|
304
|
+
}
|
|
305
|
+
});
|
|
306
|
+
}
|
|
307
|
+
|
|
153
308
|
/**
|
|
154
309
|
* Token used to inject {@link ThemeConfig} into your application
|
|
155
310
|
*
|
|
@@ -184,7 +339,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
184
339
|
* ```
|
|
185
340
|
*/
|
|
186
341
|
const THEME_CONFIG_TOKEN = new InjectionToken('theme configuration');
|
|
187
|
-
class ThemeService {
|
|
342
|
+
let ThemeService = class ThemeService {
|
|
188
343
|
constructor(sisenseContextService, themeConfig) {
|
|
189
344
|
this.sisenseContextService = sisenseContextService;
|
|
190
345
|
this.themeSettings$ = new BehaviorSubject(getDefaultThemeSettings());
|
|
@@ -196,7 +351,7 @@ class ThemeService {
|
|
|
196
351
|
// apply system theme settings first
|
|
197
352
|
yield this.applyThemeSettings(app.settings.serverThemeSettings);
|
|
198
353
|
if (theme) {
|
|
199
|
-
yield this.
|
|
354
|
+
yield this.updateThemeSettings(theme);
|
|
200
355
|
}
|
|
201
356
|
});
|
|
202
357
|
}
|
|
@@ -225,9 +380,12 @@ class ThemeService {
|
|
|
225
380
|
yield this.applyThemeSettings(theme);
|
|
226
381
|
});
|
|
227
382
|
}
|
|
228
|
-
}
|
|
383
|
+
};
|
|
229
384
|
ThemeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ThemeService, deps: [{ token: SisenseContextService }, { token: THEME_CONFIG_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
230
385
|
ThemeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ThemeService, providedIn: 'root' });
|
|
386
|
+
ThemeService = __decorate([
|
|
387
|
+
TrackableService(['updateThemeSettings'])
|
|
388
|
+
], ThemeService);
|
|
231
389
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ThemeService, decorators: [{
|
|
232
390
|
type: Injectable,
|
|
233
391
|
args: [{
|
|
@@ -373,7 +531,7 @@ class ChartComponent {
|
|
|
373
531
|
}
|
|
374
532
|
}
|
|
375
533
|
ChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartComponent, deps: [{ token: SisenseContextService }, { token: ThemeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
376
|
-
ChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ChartComponent, selector: "csdk-chart", inputs: { chartType: "chartType", dataSet: "dataSet", dataOptions: "dataOptions", filters: "filters", highlights: "highlights", styleOptions: "styleOptions", beforeRender: "beforeRender" }, outputs: { dataPointClick: "dataPointClick", dataPointContextMenu: "dataPointContextMenu", dataPointsSelect: "dataPointsSelect" }, viewQueries: [{ propertyName: "preactRef", first: true, predicate: ["preact"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #preact style=\"width: 100%; height: 100%\"></div
|
|
534
|
+
ChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ChartComponent, selector: "csdk-chart", inputs: { chartType: "chartType", dataSet: "dataSet", dataOptions: "dataOptions", filters: "filters", highlights: "highlights", styleOptions: "styleOptions", beforeRender: "beforeRender" }, outputs: { dataPointClick: "dataPointClick", dataPointContextMenu: "dataPointContextMenu", dataPointsSelect: "dataPointsSelect" }, viewQueries: [{ propertyName: "preactRef", first: true, predicate: ["preact"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "\n <div #preact style=\"width: 100%; height: 100%\"></div>\n", isInline: true });
|
|
377
535
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartComponent, decorators: [{
|
|
378
536
|
type: Component,
|
|
379
537
|
args: [{
|
|
@@ -442,7 +600,7 @@ class TableComponent {
|
|
|
442
600
|
}
|
|
443
601
|
}
|
|
444
602
|
TableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TableComponent, deps: [{ token: SisenseContextService }, { token: ThemeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
445
|
-
TableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TableComponent, selector: "csdk-table", inputs: { dataSet: "dataSet", dataOptions: "dataOptions", filters: "filters", styleOptions: "styleOptions" }, viewQueries: [{ propertyName: "preactRef", first: true, predicate: ["preact"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #preact style=\"width: 100%; height: 100%\"></div
|
|
603
|
+
TableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TableComponent, selector: "csdk-table", inputs: { dataSet: "dataSet", dataOptions: "dataOptions", filters: "filters", styleOptions: "styleOptions" }, viewQueries: [{ propertyName: "preactRef", first: true, predicate: ["preact"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "\n <div #preact style=\"width: 100%; height: 100%\"></div>\n", isInline: true });
|
|
446
604
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TableComponent, decorators: [{
|
|
447
605
|
type: Component,
|
|
448
606
|
args: [{
|
|
@@ -529,7 +687,7 @@ class ChartWidgetComponent {
|
|
|
529
687
|
}
|
|
530
688
|
}
|
|
531
689
|
ChartWidgetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWidgetComponent, deps: [{ token: SisenseContextService }, { token: ThemeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
532
|
-
ChartWidgetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ChartWidgetComponent, selector: "csdk-chart-widget", inputs: { chartType: "chartType", dataSource: "dataSource", dataOptions: "dataOptions", filters: "filters", highlights: "highlights", styleOptions: "styleOptions", widgetStyleOptions: "widgetStyleOptions", drilldownOptions: "drilldownOptions", title: "title", description: "description", highlightSelectionDisabled: "highlightSelectionDisabled", beforeRender: "beforeRender" }, outputs: { dataPointClick: "dataPointClick", dataPointContextMenu: "dataPointContextMenu", dataPointsSelect: "dataPointsSelect" }, viewQueries: [{ propertyName: "preactRef", first: true, predicate: ["preact"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #preact style=\"width: 100%; height: 100%\"></div
|
|
690
|
+
ChartWidgetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ChartWidgetComponent, selector: "csdk-chart-widget", inputs: { chartType: "chartType", dataSource: "dataSource", dataOptions: "dataOptions", filters: "filters", highlights: "highlights", styleOptions: "styleOptions", widgetStyleOptions: "widgetStyleOptions", drilldownOptions: "drilldownOptions", title: "title", description: "description", highlightSelectionDisabled: "highlightSelectionDisabled", beforeRender: "beforeRender" }, outputs: { dataPointClick: "dataPointClick", dataPointContextMenu: "dataPointContextMenu", dataPointsSelect: "dataPointsSelect" }, viewQueries: [{ propertyName: "preactRef", first: true, predicate: ["preact"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "\n <div #preact style=\"width: 100%; height: 100%\"></div>\n", isInline: true });
|
|
533
691
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ChartWidgetComponent, decorators: [{
|
|
534
692
|
type: Component,
|
|
535
693
|
args: [{
|
|
@@ -608,6 +766,7 @@ ColumnChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", v
|
|
|
608
766
|
[dataOptions]="dataOptions"
|
|
609
767
|
[filters]="filters"
|
|
610
768
|
[highlights]="highlights"
|
|
769
|
+
[styleOptions]="styleOptions"
|
|
611
770
|
[beforeRender]="beforeRender"
|
|
612
771
|
(dataPointClick)="dataPointClick.emit($event)"
|
|
613
772
|
(dataPointContextMenu)="dataPointContextMenu.emit($event)"
|
|
@@ -625,6 +784,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
625
784
|
[dataOptions]="dataOptions"
|
|
626
785
|
[filters]="filters"
|
|
627
786
|
[highlights]="highlights"
|
|
787
|
+
[styleOptions]="styleOptions"
|
|
628
788
|
[beforeRender]="beforeRender"
|
|
629
789
|
(dataPointClick)="dataPointClick.emit($event)"
|
|
630
790
|
(dataPointContextMenu)="dataPointContextMenu.emit($event)"
|
|
@@ -689,6 +849,7 @@ BarChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
|
|
|
689
849
|
[dataOptions]="dataOptions"
|
|
690
850
|
[filters]="filters"
|
|
691
851
|
[highlights]="highlights"
|
|
852
|
+
[styleOptions]="styleOptions"
|
|
692
853
|
[beforeRender]="beforeRender"
|
|
693
854
|
(dataPointClick)="dataPointClick.emit($event)"
|
|
694
855
|
(dataPointContextMenu)="dataPointContextMenu.emit($event)"
|
|
@@ -706,6 +867,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
706
867
|
[dataOptions]="dataOptions"
|
|
707
868
|
[filters]="filters"
|
|
708
869
|
[highlights]="highlights"
|
|
870
|
+
[styleOptions]="styleOptions"
|
|
709
871
|
[beforeRender]="beforeRender"
|
|
710
872
|
(dataPointClick)="dataPointClick.emit($event)"
|
|
711
873
|
(dataPointContextMenu)="dataPointContextMenu.emit($event)"
|
|
@@ -770,6 +932,7 @@ AreaChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ver
|
|
|
770
932
|
[dataOptions]="dataOptions"
|
|
771
933
|
[filters]="filters"
|
|
772
934
|
[highlights]="highlights"
|
|
935
|
+
[styleOptions]="styleOptions"
|
|
773
936
|
[beforeRender]="beforeRender"
|
|
774
937
|
(dataPointClick)="dataPointClick.emit($event)"
|
|
775
938
|
(dataPointContextMenu)="dataPointContextMenu.emit($event)"
|
|
@@ -787,6 +950,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
787
950
|
[dataOptions]="dataOptions"
|
|
788
951
|
[filters]="filters"
|
|
789
952
|
[highlights]="highlights"
|
|
953
|
+
[styleOptions]="styleOptions"
|
|
790
954
|
[beforeRender]="beforeRender"
|
|
791
955
|
(dataPointClick)="dataPointClick.emit($event)"
|
|
792
956
|
(dataPointContextMenu)="dataPointContextMenu.emit($event)"
|
|
@@ -850,6 +1014,7 @@ LineChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ver
|
|
|
850
1014
|
[dataOptions]="dataOptions"
|
|
851
1015
|
[filters]="filters"
|
|
852
1016
|
[highlights]="highlights"
|
|
1017
|
+
[styleOptions]="styleOptions"
|
|
853
1018
|
[beforeRender]="beforeRender"
|
|
854
1019
|
(dataPointClick)="dataPointClick.emit($event)"
|
|
855
1020
|
(dataPointContextMenu)="dataPointContextMenu.emit($event)"
|
|
@@ -867,6 +1032,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
867
1032
|
[dataOptions]="dataOptions"
|
|
868
1033
|
[filters]="filters"
|
|
869
1034
|
[highlights]="highlights"
|
|
1035
|
+
[styleOptions]="styleOptions"
|
|
870
1036
|
[beforeRender]="beforeRender"
|
|
871
1037
|
(dataPointClick)="dataPointClick.emit($event)"
|
|
872
1038
|
(dataPointContextMenu)="dataPointContextMenu.emit($event)"
|
|
@@ -912,6 +1078,7 @@ IndicatorChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
|
|
|
912
1078
|
[dataOptions]="dataOptions"
|
|
913
1079
|
[filters]="filters"
|
|
914
1080
|
[highlights]="highlights"
|
|
1081
|
+
[styleOptions]="styleOptions"
|
|
915
1082
|
/>
|
|
916
1083
|
`, isInline: true, dependencies: [{ kind: "component", type: ChartComponent, selector: "csdk-chart", inputs: ["chartType", "dataSet", "dataOptions", "filters", "highlights", "styleOptions", "beforeRender"], outputs: ["dataPointClick", "dataPointContextMenu", "dataPointsSelect"] }] });
|
|
917
1084
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: IndicatorChartComponent, decorators: [{
|
|
@@ -925,6 +1092,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
925
1092
|
[dataOptions]="dataOptions"
|
|
926
1093
|
[filters]="filters"
|
|
927
1094
|
[highlights]="highlights"
|
|
1095
|
+
[styleOptions]="styleOptions"
|
|
928
1096
|
/>
|
|
929
1097
|
`,
|
|
930
1098
|
}]
|
|
@@ -983,6 +1151,7 @@ ScatterChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
|
|
|
983
1151
|
[dataOptions]="dataOptions"
|
|
984
1152
|
[filters]="filters"
|
|
985
1153
|
[highlights]="highlights"
|
|
1154
|
+
[styleOptions]="styleOptions"
|
|
986
1155
|
[beforeRender]="beforeRender"
|
|
987
1156
|
(dataPointClick)="dataPointClick.emit($event)"
|
|
988
1157
|
(dataPointContextMenu)="dataPointContextMenu.emit($event)"
|
|
@@ -1000,6 +1169,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
1000
1169
|
[dataOptions]="dataOptions"
|
|
1001
1170
|
[filters]="filters"
|
|
1002
1171
|
[highlights]="highlights"
|
|
1172
|
+
[styleOptions]="styleOptions"
|
|
1003
1173
|
[beforeRender]="beforeRender"
|
|
1004
1174
|
(dataPointClick)="dataPointClick.emit($event)"
|
|
1005
1175
|
(dataPointContextMenu)="dataPointContextMenu.emit($event)"
|
|
@@ -1064,6 +1234,7 @@ PieChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
|
|
|
1064
1234
|
[dataOptions]="dataOptions"
|
|
1065
1235
|
[filters]="filters"
|
|
1066
1236
|
[highlights]="highlights"
|
|
1237
|
+
[styleOptions]="styleOptions"
|
|
1067
1238
|
[beforeRender]="beforeRender"
|
|
1068
1239
|
(dataPointClick)="dataPointClick.emit($event)"
|
|
1069
1240
|
(dataPointContextMenu)="dataPointContextMenu.emit($event)"
|
|
@@ -1081,6 +1252,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
1081
1252
|
[dataOptions]="dataOptions"
|
|
1082
1253
|
[filters]="filters"
|
|
1083
1254
|
[highlights]="highlights"
|
|
1255
|
+
[styleOptions]="styleOptions"
|
|
1084
1256
|
[beforeRender]="beforeRender"
|
|
1085
1257
|
(dataPointClick)="dataPointClick.emit($event)"
|
|
1086
1258
|
(dataPointContextMenu)="dataPointContextMenu.emit($event)"
|
|
@@ -1144,6 +1316,7 @@ FunnelChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", v
|
|
|
1144
1316
|
[dataOptions]="dataOptions"
|
|
1145
1317
|
[filters]="filters"
|
|
1146
1318
|
[highlights]="highlights"
|
|
1319
|
+
[styleOptions]="styleOptions"
|
|
1147
1320
|
[beforeRender]="beforeRender"
|
|
1148
1321
|
(dataPointClick)="dataPointClick.emit($event)"
|
|
1149
1322
|
(dataPointContextMenu)="dataPointContextMenu.emit($event)"
|
|
@@ -1161,6 +1334,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
1161
1334
|
[dataOptions]="dataOptions"
|
|
1162
1335
|
[filters]="filters"
|
|
1163
1336
|
[highlights]="highlights"
|
|
1337
|
+
[styleOptions]="styleOptions"
|
|
1164
1338
|
[beforeRender]="beforeRender"
|
|
1165
1339
|
(dataPointClick)="dataPointClick.emit($event)"
|
|
1166
1340
|
(dataPointContextMenu)="dataPointContextMenu.emit($event)"
|
|
@@ -1224,6 +1398,7 @@ PolarChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ve
|
|
|
1224
1398
|
[dataOptions]="dataOptions"
|
|
1225
1399
|
[filters]="filters"
|
|
1226
1400
|
[highlights]="highlights"
|
|
1401
|
+
[styleOptions]="styleOptions"
|
|
1227
1402
|
[beforeRender]="beforeRender"
|
|
1228
1403
|
(dataPointClick)="dataPointClick.emit($event)"
|
|
1229
1404
|
(dataPointContextMenu)="dataPointContextMenu.emit($event)"
|
|
@@ -1241,6 +1416,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
1241
1416
|
[dataOptions]="dataOptions"
|
|
1242
1417
|
[filters]="filters"
|
|
1243
1418
|
[highlights]="highlights"
|
|
1419
|
+
[styleOptions]="styleOptions"
|
|
1244
1420
|
[beforeRender]="beforeRender"
|
|
1245
1421
|
(dataPointClick)="dataPointClick.emit($event)"
|
|
1246
1422
|
(dataPointContextMenu)="dataPointContextMenu.emit($event)"
|
|
@@ -1305,6 +1481,7 @@ TreemapChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0",
|
|
|
1305
1481
|
[dataOptions]="dataOptions"
|
|
1306
1482
|
[filters]="filters"
|
|
1307
1483
|
[highlights]="highlights"
|
|
1484
|
+
[styleOptions]="styleOptions"
|
|
1308
1485
|
[beforeRender]="beforeRender"
|
|
1309
1486
|
(dataPointClick)="dataPointClick.emit($event)"
|
|
1310
1487
|
(dataPointContextMenu)="dataPointContextMenu.emit($event)"
|
|
@@ -1322,6 +1499,90 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
1322
1499
|
[dataOptions]="dataOptions"
|
|
1323
1500
|
[filters]="filters"
|
|
1324
1501
|
[highlights]="highlights"
|
|
1502
|
+
[styleOptions]="styleOptions"
|
|
1503
|
+
[beforeRender]="beforeRender"
|
|
1504
|
+
(dataPointClick)="dataPointClick.emit($event)"
|
|
1505
|
+
(dataPointContextMenu)="dataPointContextMenu.emit($event)"
|
|
1506
|
+
(dataPointsSelect)="dataPointsSelect.emit($event)"
|
|
1507
|
+
/>
|
|
1508
|
+
`,
|
|
1509
|
+
}]
|
|
1510
|
+
}], propDecorators: { dataSet: [{
|
|
1511
|
+
type: Input
|
|
1512
|
+
}], dataOptions: [{
|
|
1513
|
+
type: Input
|
|
1514
|
+
}], filters: [{
|
|
1515
|
+
type: Input
|
|
1516
|
+
}], highlights: [{
|
|
1517
|
+
type: Input
|
|
1518
|
+
}], styleOptions: [{
|
|
1519
|
+
type: Input
|
|
1520
|
+
}], beforeRender: [{
|
|
1521
|
+
type: Input
|
|
1522
|
+
}], dataPointClick: [{
|
|
1523
|
+
type: Output
|
|
1524
|
+
}], dataPointContextMenu: [{
|
|
1525
|
+
type: Output
|
|
1526
|
+
}], dataPointsSelect: [{
|
|
1527
|
+
type: Output
|
|
1528
|
+
}] } });
|
|
1529
|
+
|
|
1530
|
+
/**
|
|
1531
|
+
* A component displaying hierarchical data in the form of nested slices.
|
|
1532
|
+
* This type of chart can be used instead of a pie chart for comparing a large number of categories and sub-categories.
|
|
1533
|
+
* See [Sunburst Chart](https://docs.sisense.com/main/SisenseLinux/sunburst-widget.htm) for more information.
|
|
1534
|
+
*/
|
|
1535
|
+
class SunburstChartComponent {
|
|
1536
|
+
constructor() {
|
|
1537
|
+
/**
|
|
1538
|
+
* {@inheritDoc @sisense/sdk-ui!SunburstChartProps.onDataPointClick}
|
|
1539
|
+
*
|
|
1540
|
+
* @category Callbacks
|
|
1541
|
+
*/
|
|
1542
|
+
this.dataPointClick = new EventEmitter();
|
|
1543
|
+
/**
|
|
1544
|
+
* {@inheritDoc @sisense/sdk-ui!SunburstChartProps.onDataPointContextMenu}
|
|
1545
|
+
*
|
|
1546
|
+
* @category Callbacks
|
|
1547
|
+
*/
|
|
1548
|
+
this.dataPointContextMenu = new EventEmitter();
|
|
1549
|
+
/**
|
|
1550
|
+
* {@inheritDoc @sisense/sdk-ui!SunburstChartProps.onDataPointsSelected}
|
|
1551
|
+
*
|
|
1552
|
+
* @category Callbacks
|
|
1553
|
+
*/
|
|
1554
|
+
this.dataPointsSelect = new EventEmitter();
|
|
1555
|
+
/** @internal */
|
|
1556
|
+
this.chartType = 'sunburst';
|
|
1557
|
+
}
|
|
1558
|
+
}
|
|
1559
|
+
SunburstChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SunburstChartComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1560
|
+
SunburstChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: SunburstChartComponent, selector: "csdk-sunburst-chart", inputs: { dataSet: "dataSet", dataOptions: "dataOptions", filters: "filters", highlights: "highlights", styleOptions: "styleOptions", beforeRender: "beforeRender" }, outputs: { dataPointClick: "dataPointClick", dataPointContextMenu: "dataPointContextMenu", dataPointsSelect: "dataPointsSelect" }, ngImport: i0, template: `
|
|
1561
|
+
<csdk-chart
|
|
1562
|
+
[chartType]="chartType"
|
|
1563
|
+
[dataSet]="dataSet"
|
|
1564
|
+
[dataOptions]="dataOptions"
|
|
1565
|
+
[filters]="filters"
|
|
1566
|
+
[highlights]="highlights"
|
|
1567
|
+
[styleOptions]="styleOptions"
|
|
1568
|
+
[beforeRender]="beforeRender"
|
|
1569
|
+
(dataPointClick)="dataPointClick.emit($event)"
|
|
1570
|
+
(dataPointContextMenu)="dataPointContextMenu.emit($event)"
|
|
1571
|
+
(dataPointsSelect)="dataPointsSelect.emit($event)"
|
|
1572
|
+
/>
|
|
1573
|
+
`, isInline: true, dependencies: [{ kind: "component", type: ChartComponent, selector: "csdk-chart", inputs: ["chartType", "dataSet", "dataOptions", "filters", "highlights", "styleOptions", "beforeRender"], outputs: ["dataPointClick", "dataPointContextMenu", "dataPointsSelect"] }] });
|
|
1574
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SunburstChartComponent, decorators: [{
|
|
1575
|
+
type: Component,
|
|
1576
|
+
args: [{
|
|
1577
|
+
selector: 'csdk-sunburst-chart',
|
|
1578
|
+
template: `
|
|
1579
|
+
<csdk-chart
|
|
1580
|
+
[chartType]="chartType"
|
|
1581
|
+
[dataSet]="dataSet"
|
|
1582
|
+
[dataOptions]="dataOptions"
|
|
1583
|
+
[filters]="filters"
|
|
1584
|
+
[highlights]="highlights"
|
|
1585
|
+
[styleOptions]="styleOptions"
|
|
1325
1586
|
[beforeRender]="beforeRender"
|
|
1326
1587
|
(dataPointClick)="dataPointClick.emit($event)"
|
|
1327
1588
|
(dataPointContextMenu)="dataPointContextMenu.emit($event)"
|
|
@@ -1388,7 +1649,7 @@ class TableWidgetComponent {
|
|
|
1388
1649
|
}
|
|
1389
1650
|
}
|
|
1390
1651
|
TableWidgetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TableWidgetComponent, deps: [{ token: SisenseContextService }, { token: ThemeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1391
|
-
TableWidgetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TableWidgetComponent, selector: "csdk-table-widget", inputs: { dataSource: "dataSource", dataOptions: "dataOptions", filters: "filters", styleOptions: "styleOptions", widgetStyleOptions: "widgetStyleOptions", title: "title", description: "description" }, viewQueries: [{ propertyName: "preactRef", first: true, predicate: ["preact"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #preact style=\"width: 100%; height: 100%\"></div
|
|
1652
|
+
TableWidgetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TableWidgetComponent, selector: "csdk-table-widget", inputs: { dataSource: "dataSource", dataOptions: "dataOptions", filters: "filters", styleOptions: "styleOptions", widgetStyleOptions: "widgetStyleOptions", title: "title", description: "description" }, viewQueries: [{ propertyName: "preactRef", first: true, predicate: ["preact"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "\n <div #preact style=\"width: 100%; height: 100%\"></div>\n", isInline: true });
|
|
1392
1653
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TableWidgetComponent, decorators: [{
|
|
1393
1654
|
type: Component,
|
|
1394
1655
|
args: [{
|
|
@@ -1445,10 +1706,12 @@ class DashboardWidgetComponent {
|
|
|
1445
1706
|
filters: this.filters,
|
|
1446
1707
|
highlights: this.highlights,
|
|
1447
1708
|
filtersMergeStrategy: this.filtersMergeStrategy,
|
|
1709
|
+
includeDashboardFilters: this.includeDashboardFilters,
|
|
1448
1710
|
title: this.title,
|
|
1449
1711
|
description: this.description,
|
|
1450
1712
|
styleOptions: this.styleOptions,
|
|
1451
1713
|
widgetStyleOptions: this.widgetStyleOptions,
|
|
1714
|
+
highlightSelectionDisabled: this.highlightSelectionDisabled,
|
|
1452
1715
|
drilldownOptions: this.drilldownOptions,
|
|
1453
1716
|
};
|
|
1454
1717
|
return createElement(DashboardWidget, props);
|
|
@@ -1459,7 +1722,7 @@ class DashboardWidgetComponent {
|
|
|
1459
1722
|
}
|
|
1460
1723
|
}
|
|
1461
1724
|
DashboardWidgetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DashboardWidgetComponent, deps: [{ token: SisenseContextService }, { token: ThemeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1462
|
-
DashboardWidgetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DashboardWidgetComponent, selector: "csdk-dashboard-widget", inputs: { widgetOid: "widgetOid", dashboardOid: "dashboardOid", filters: "filters", highlights: "highlights", filtersMergeStrategy: "filtersMergeStrategy", title: "title", description: "description", styleOptions: "styleOptions", widgetStyleOptions: "widgetStyleOptions", drilldownOptions: "drilldownOptions" }, viewQueries: [{ propertyName: "preactRef", first: true, predicate: ["preact"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div #preact style=\"width: 100%; height: 100%\"></div
|
|
1725
|
+
DashboardWidgetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DashboardWidgetComponent, selector: "csdk-dashboard-widget", inputs: { widgetOid: "widgetOid", dashboardOid: "dashboardOid", filters: "filters", highlights: "highlights", filtersMergeStrategy: "filtersMergeStrategy", includeDashboardFilters: "includeDashboardFilters", title: "title", description: "description", styleOptions: "styleOptions", widgetStyleOptions: "widgetStyleOptions", highlightSelectionDisabled: "highlightSelectionDisabled", drilldownOptions: "drilldownOptions" }, viewQueries: [{ propertyName: "preactRef", first: true, predicate: ["preact"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "\n <div #preact style=\"width: 100%; height: 100%\"></div>\n", isInline: true });
|
|
1463
1726
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DashboardWidgetComponent, decorators: [{
|
|
1464
1727
|
type: Component,
|
|
1465
1728
|
args: [{
|
|
@@ -1479,6 +1742,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
1479
1742
|
type: Input
|
|
1480
1743
|
}], filtersMergeStrategy: [{
|
|
1481
1744
|
type: Input
|
|
1745
|
+
}], includeDashboardFilters: [{
|
|
1746
|
+
type: Input
|
|
1482
1747
|
}], title: [{
|
|
1483
1748
|
type: Input
|
|
1484
1749
|
}], description: [{
|
|
@@ -1487,33 +1752,553 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
1487
1752
|
type: Input
|
|
1488
1753
|
}], widgetStyleOptions: [{
|
|
1489
1754
|
type: Input
|
|
1755
|
+
}], highlightSelectionDisabled: [{
|
|
1756
|
+
type: Input
|
|
1490
1757
|
}], drilldownOptions: [{
|
|
1491
1758
|
type: Input
|
|
1492
1759
|
}] } });
|
|
1493
1760
|
|
|
1494
1761
|
/**
|
|
1495
|
-
*
|
|
1762
|
+
* Member Filter Tile Component
|
|
1763
|
+
*/
|
|
1764
|
+
class MemberFilterTileComponent {
|
|
1765
|
+
/**
|
|
1766
|
+
* Constructor for the `MemberFilterTileComponent`.
|
|
1767
|
+
*
|
|
1768
|
+
* @param sisenseContextService - Sisense context service
|
|
1769
|
+
* @param themeService - Theme service
|
|
1770
|
+
*/
|
|
1771
|
+
constructor(
|
|
1772
|
+
/**
|
|
1773
|
+
* Sisense context service
|
|
1774
|
+
*
|
|
1775
|
+
* @category Constructor
|
|
1776
|
+
*/
|
|
1777
|
+
sisenseContextService,
|
|
1778
|
+
/**
|
|
1779
|
+
* Theme service
|
|
1780
|
+
*
|
|
1781
|
+
* @category Constructor
|
|
1782
|
+
*/
|
|
1783
|
+
themeService) {
|
|
1784
|
+
this.sisenseContextService = sisenseContextService;
|
|
1785
|
+
this.themeService = themeService;
|
|
1786
|
+
/**
|
|
1787
|
+
* {@inheritDoc @sisense/sdk-ui!MemberFilterTileProps.onChange}
|
|
1788
|
+
*/
|
|
1789
|
+
this.filterChange = new EventEmitter();
|
|
1790
|
+
this.componentAdapter = new ComponentAdapter(() => this.createPreactComponent(), [
|
|
1791
|
+
createSisenseContextConnector(this.sisenseContextService),
|
|
1792
|
+
createThemeContextConnector(this.themeService),
|
|
1793
|
+
]);
|
|
1794
|
+
}
|
|
1795
|
+
/**
|
|
1796
|
+
* @internal
|
|
1797
|
+
*/
|
|
1798
|
+
ngAfterViewInit() {
|
|
1799
|
+
this.componentAdapter.render(this.preactRef.nativeElement);
|
|
1800
|
+
}
|
|
1801
|
+
/**
|
|
1802
|
+
* @internal
|
|
1803
|
+
*/
|
|
1804
|
+
ngOnChanges() {
|
|
1805
|
+
if (this.preactRef) {
|
|
1806
|
+
this.componentAdapter.render(this.preactRef.nativeElement);
|
|
1807
|
+
}
|
|
1808
|
+
}
|
|
1809
|
+
createPreactComponent() {
|
|
1810
|
+
const props = {
|
|
1811
|
+
title: this.title,
|
|
1812
|
+
dataSource: this.dataSource,
|
|
1813
|
+
attribute: this.attribute,
|
|
1814
|
+
filter: this.filter,
|
|
1815
|
+
onChange: (...[filter]) => this.filterChange.emit({ filter }),
|
|
1816
|
+
};
|
|
1817
|
+
return createElement(MemberFilterTile, props);
|
|
1818
|
+
}
|
|
1819
|
+
/**
|
|
1820
|
+
* @internal
|
|
1821
|
+
*/
|
|
1822
|
+
ngOnDestroy() {
|
|
1823
|
+
this.componentAdapter.destroy();
|
|
1824
|
+
}
|
|
1825
|
+
}
|
|
1826
|
+
MemberFilterTileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MemberFilterTileComponent, deps: [{ token: SisenseContextService }, { token: ThemeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1827
|
+
MemberFilterTileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: MemberFilterTileComponent, selector: "csdk-member-filter-tile", inputs: { title: "title", dataSource: "dataSource", attribute: "attribute", filter: "filter" }, outputs: { filterChange: "filterChange" }, viewQueries: [{ propertyName: "preactRef", first: true, predicate: ["preact"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "\n <div #preact style=\"width: 100%; height: 100%\"></div>\n", isInline: true });
|
|
1828
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MemberFilterTileComponent, decorators: [{
|
|
1829
|
+
type: Component,
|
|
1830
|
+
args: [{
|
|
1831
|
+
selector: 'csdk-member-filter-tile',
|
|
1832
|
+
template,
|
|
1833
|
+
}]
|
|
1834
|
+
}], ctorParameters: function () { return [{ type: SisenseContextService }, { type: ThemeService }]; }, propDecorators: { preactRef: [{
|
|
1835
|
+
type: ViewChild,
|
|
1836
|
+
args: [rootId]
|
|
1837
|
+
}], title: [{
|
|
1838
|
+
type: Input
|
|
1839
|
+
}], dataSource: [{
|
|
1840
|
+
type: Input
|
|
1841
|
+
}], attribute: [{
|
|
1842
|
+
type: Input
|
|
1843
|
+
}], filter: [{
|
|
1844
|
+
type: Input
|
|
1845
|
+
}], filterChange: [{
|
|
1846
|
+
type: Output
|
|
1847
|
+
}] } });
|
|
1848
|
+
|
|
1849
|
+
/**
|
|
1850
|
+
* An Angular component designed to add drilldown functionality to any type of chart.
|
|
1496
1851
|
*
|
|
1497
|
-
*
|
|
1498
|
-
*
|
|
1852
|
+
* It acts as a wrapper around a given chart component, enhancing it with drilldown capabilities
|
|
1853
|
+
*
|
|
1854
|
+
* The widget offers several features including:
|
|
1855
|
+
* - A context menu for initiating drilldown actions (can be provided as a custom component)
|
|
1856
|
+
* - Breadcrumbs that not only allow for drilldown selection slicing but also
|
|
1857
|
+
* provide an option to clear the selection (can be provided as a custom component)
|
|
1858
|
+
* - Filters specifically created for drilldown operation
|
|
1859
|
+
* - An option to navigate to the next drilldown dimension
|
|
1499
1860
|
*
|
|
1861
|
+
* When an `initialDimension` is specified, the `drilldownDimension` will automatically inherit its value,
|
|
1862
|
+
* even before any points on the chart are selected.
|
|
1863
|
+
* This allows for complete control over the chart's dimensions to be handed over to the DrilldownWidget
|
|
1864
|
+
*
|
|
1865
|
+
* @example
|
|
1866
|
+
* An example of using the `csdk-drilldown-widget` component to plot a `csdk-column-chart`
|
|
1867
|
+
* over the Sample Healthcare data source hosted in a Sisense instance:
|
|
1500
1868
|
* ```ts
|
|
1501
|
-
*
|
|
1502
|
-
*
|
|
1503
|
-
*
|
|
1504
|
-
*
|
|
1505
|
-
*
|
|
1869
|
+
* // Component behavior in .component.ts
|
|
1870
|
+
* chart = {
|
|
1871
|
+
* dataOptions: {
|
|
1872
|
+
* category: [DM.Divisions.Divison_name],
|
|
1873
|
+
* value: [measures.sum(DM.Admissions.Cost_of_admission)],
|
|
1874
|
+
* breakBy: [],
|
|
1875
|
+
* },
|
|
1876
|
+
* dataPointContextMenu: ({ point, nativeEvent }: { point: any; nativeEvent: MouseEvent }) => {
|
|
1877
|
+
* this.drilldownResult?.onDataPointsSelected?.([point], nativeEvent);
|
|
1878
|
+
* this.drilldownResult?.onContextMenu({
|
|
1879
|
+
* left: nativeEvent.clientX,
|
|
1880
|
+
* top: nativeEvent.clientY,
|
|
1881
|
+
* });
|
|
1882
|
+
* }
|
|
1883
|
+
* }
|
|
1506
1884
|
*
|
|
1507
|
-
*
|
|
1508
|
-
*
|
|
1509
|
-
*
|
|
1510
|
-
*
|
|
1511
|
-
*
|
|
1512
|
-
*
|
|
1513
|
-
*
|
|
1514
|
-
*
|
|
1515
|
-
*
|
|
1516
|
-
*
|
|
1885
|
+
* drilldownResult?: CustomDrilldownResult;
|
|
1886
|
+
*
|
|
1887
|
+
* drilldown = {
|
|
1888
|
+
* drilldownDimensions: [DM.Patients.Gender, DM.Admissions.Surgical_Procedure],
|
|
1889
|
+
* initialDimension: DM.Divisions.Divison_name,
|
|
1890
|
+
* drilldownChange: (drilldownResult: CustomDrilldownResult) => {
|
|
1891
|
+
* this.drilldownResult = drilldownResult;
|
|
1892
|
+
* this.chart.dataOptions = {
|
|
1893
|
+
* ...this.chart.dataOptions,
|
|
1894
|
+
* category: [drilldownResult.drilldownDimension]
|
|
1895
|
+
* }
|
|
1896
|
+
* }
|
|
1897
|
+
* };
|
|
1898
|
+
* ```
|
|
1899
|
+
* ```html
|
|
1900
|
+
* <!--Component HTML template in .component.html-->
|
|
1901
|
+
* <csdk-drilldown-widget
|
|
1902
|
+
* [drilldownDimensions]="drilldown.drilldownDimensions"
|
|
1903
|
+
* [initialDimension]="drilldown.initialDimension"
|
|
1904
|
+
* (drilldownResultChange)="drilldown.drilldownChange($event)"
|
|
1905
|
+
* >
|
|
1906
|
+
* <csdk-column-chart
|
|
1907
|
+
* [dataSet]="DM.DataSource"
|
|
1908
|
+
* [dataOptions]="chart.dataOptions"
|
|
1909
|
+
* [filters]="drilldownResult?.drilldownFilters || []"
|
|
1910
|
+
* (dataPointContextMenu)="chart.dataPointContextMenu($event)"
|
|
1911
|
+
* />
|
|
1912
|
+
* </csdk-drilldown-widget>
|
|
1913
|
+
* ```
|
|
1914
|
+
*/
|
|
1915
|
+
class DrilldownWidgetComponent {
|
|
1916
|
+
/**
|
|
1917
|
+
* Constructor for the `DrilldownWidgetComponent`.
|
|
1918
|
+
*
|
|
1919
|
+
* @param sisenseContextService - Sisense context service
|
|
1920
|
+
* @param themeService - Theme service
|
|
1921
|
+
*/
|
|
1922
|
+
constructor(
|
|
1923
|
+
/**
|
|
1924
|
+
* Sisense context service
|
|
1925
|
+
*
|
|
1926
|
+
* @category Constructor
|
|
1927
|
+
*/
|
|
1928
|
+
sisenseContextService,
|
|
1929
|
+
/**
|
|
1930
|
+
* Theme service
|
|
1931
|
+
*
|
|
1932
|
+
* @category Constructor
|
|
1933
|
+
*/
|
|
1934
|
+
themeService) {
|
|
1935
|
+
this.sisenseContextService = sisenseContextService;
|
|
1936
|
+
this.themeService = themeService;
|
|
1937
|
+
this.drilldownResultChange = new EventEmitter();
|
|
1938
|
+
this.componentAdapter = new ComponentAdapter(() => this.createPreactComponent(), [
|
|
1939
|
+
createSisenseContextConnector(this.sisenseContextService),
|
|
1940
|
+
createThemeContextConnector(this.themeService),
|
|
1941
|
+
]);
|
|
1942
|
+
}
|
|
1943
|
+
/**
|
|
1944
|
+
* @internal
|
|
1945
|
+
*/
|
|
1946
|
+
ngAfterViewInit() {
|
|
1947
|
+
this.componentAdapter.render(this.preactRef.nativeElement);
|
|
1948
|
+
}
|
|
1949
|
+
/**
|
|
1950
|
+
* @internal
|
|
1951
|
+
*/
|
|
1952
|
+
ngOnChanges() {
|
|
1953
|
+
if (this.preactRef) {
|
|
1954
|
+
this.componentAdapter.render(this.preactRef.nativeElement);
|
|
1955
|
+
}
|
|
1956
|
+
}
|
|
1957
|
+
createPreactComponent() {
|
|
1958
|
+
var _a, _b;
|
|
1959
|
+
const props = {
|
|
1960
|
+
drilldownDimensions: this.drilldownDimensions,
|
|
1961
|
+
initialDimension: this.initialDimension,
|
|
1962
|
+
config: Object.assign(Object.assign(Object.assign({}, this.config), (((_a = this.config) === null || _a === void 0 ? void 0 : _a.breadcrumbsComponent) && {
|
|
1963
|
+
breadcrumbsComponent: createWrapperElementHandler(this.config.breadcrumbsComponent),
|
|
1964
|
+
})), (((_b = this.config) === null || _b === void 0 ? void 0 : _b.contextMenuComponent) && {
|
|
1965
|
+
contextMenuComponent: (contextMenuProps) => createWrapperElement(this.config.contextMenuComponent(contextMenuProps)),
|
|
1966
|
+
})),
|
|
1967
|
+
};
|
|
1968
|
+
return createElement(DrilldownWidget, props, (customDrilldownResult) => {
|
|
1969
|
+
const { breadcrumbsComponent } = customDrilldownResult;
|
|
1970
|
+
this.drilldownResultChange.emit(Object.assign(Object.assign({}, customDrilldownResult), (breadcrumbsComponent && {
|
|
1971
|
+
breadcrumbsComponent: { render: createComponentRenderer(breadcrumbsComponent) },
|
|
1972
|
+
})));
|
|
1973
|
+
return createWrapperElement(this.preactContentRef.nativeElement);
|
|
1974
|
+
});
|
|
1975
|
+
}
|
|
1976
|
+
/**
|
|
1977
|
+
* @internal
|
|
1978
|
+
*/
|
|
1979
|
+
ngOnDestroy() {
|
|
1980
|
+
this.componentAdapter.destroy();
|
|
1981
|
+
}
|
|
1982
|
+
}
|
|
1983
|
+
DrilldownWidgetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DrilldownWidgetComponent, deps: [{ token: SisenseContextService }, { token: ThemeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1984
|
+
DrilldownWidgetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DrilldownWidgetComponent, selector: "csdk-drilldown-widget", inputs: { drilldownDimensions: "drilldownDimensions", initialDimension: "initialDimension", config: "config" }, outputs: { drilldownResultChange: "drilldownResultChange" }, viewQueries: [{ propertyName: "preactRef", first: true, predicate: ["preact"], descendants: true }, { propertyName: "preactContentRef", first: true, predicate: ["preactContent"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "\n <div #preact style=\"width: 100%; height: 100%\">\n <div #preactContent style=\"width: 100%; height: 100%\">\n <ng-content></ng-content>\n </div>\n </div>\n", isInline: true });
|
|
1985
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DrilldownWidgetComponent, decorators: [{
|
|
1986
|
+
type: Component,
|
|
1987
|
+
args: [{
|
|
1988
|
+
selector: 'csdk-drilldown-widget',
|
|
1989
|
+
template: templateWithContent,
|
|
1990
|
+
}]
|
|
1991
|
+
}], ctorParameters: function () { return [{ type: SisenseContextService }, { type: ThemeService }]; }, propDecorators: { preactRef: [{
|
|
1992
|
+
type: ViewChild,
|
|
1993
|
+
args: [rootId]
|
|
1994
|
+
}], preactContentRef: [{
|
|
1995
|
+
type: ViewChild,
|
|
1996
|
+
args: [rootContentId]
|
|
1997
|
+
}], drilldownDimensions: [{
|
|
1998
|
+
type: Input
|
|
1999
|
+
}], initialDimension: [{
|
|
2000
|
+
type: Input
|
|
2001
|
+
}], config: [{
|
|
2002
|
+
type: Input
|
|
2003
|
+
}], drilldownResultChange: [{
|
|
2004
|
+
type: Output
|
|
2005
|
+
}] } });
|
|
2006
|
+
|
|
2007
|
+
/**
|
|
2008
|
+
* Date Range Filter Tile Component
|
|
2009
|
+
*/
|
|
2010
|
+
class DateRangeFilterTileComponent {
|
|
2011
|
+
/**
|
|
2012
|
+
* Constructor for the `DateRangeFilterTileComponent`.
|
|
2013
|
+
*
|
|
2014
|
+
* @param sisenseContextService - Sisense context service
|
|
2015
|
+
* @param themeService - Theme service
|
|
2016
|
+
*/
|
|
2017
|
+
constructor(
|
|
2018
|
+
/**
|
|
2019
|
+
* Sisense context service
|
|
2020
|
+
*
|
|
2021
|
+
* @category Constructor
|
|
2022
|
+
*/
|
|
2023
|
+
sisenseContextService,
|
|
2024
|
+
/**
|
|
2025
|
+
* Theme service
|
|
2026
|
+
*
|
|
2027
|
+
* @category Constructor
|
|
2028
|
+
*/
|
|
2029
|
+
themeService) {
|
|
2030
|
+
this.sisenseContextService = sisenseContextService;
|
|
2031
|
+
this.themeService = themeService;
|
|
2032
|
+
/**
|
|
2033
|
+
* {@inheritDoc @sisense/sdk-ui!DateRangeFilterTileProps.onChange}
|
|
2034
|
+
*/
|
|
2035
|
+
this.filterChange = new EventEmitter();
|
|
2036
|
+
this.componentAdapter = new ComponentAdapter(() => this.createPreactComponent(), [
|
|
2037
|
+
createSisenseContextConnector(this.sisenseContextService),
|
|
2038
|
+
createThemeContextConnector(this.themeService),
|
|
2039
|
+
]);
|
|
2040
|
+
}
|
|
2041
|
+
/**
|
|
2042
|
+
* @internal
|
|
2043
|
+
*/
|
|
2044
|
+
ngAfterViewInit() {
|
|
2045
|
+
this.componentAdapter.render(this.preactRef.nativeElement);
|
|
2046
|
+
}
|
|
2047
|
+
/**
|
|
2048
|
+
* @internal
|
|
2049
|
+
*/
|
|
2050
|
+
ngOnChanges() {
|
|
2051
|
+
if (this.preactRef) {
|
|
2052
|
+
this.componentAdapter.render(this.preactRef.nativeElement);
|
|
2053
|
+
}
|
|
2054
|
+
}
|
|
2055
|
+
createPreactComponent() {
|
|
2056
|
+
const props = {
|
|
2057
|
+
title: this.title,
|
|
2058
|
+
attribute: this.attribute,
|
|
2059
|
+
dataSource: this.dataSource,
|
|
2060
|
+
filter: this.filter,
|
|
2061
|
+
earliestDate: this.earliestDate,
|
|
2062
|
+
lastDate: this.lastDate,
|
|
2063
|
+
onChange: (...[filter]) => this.filterChange.emit({ filter }),
|
|
2064
|
+
};
|
|
2065
|
+
return createElement(DateRangeFilterTile, props);
|
|
2066
|
+
}
|
|
2067
|
+
/**
|
|
2068
|
+
* @internal
|
|
2069
|
+
*/
|
|
2070
|
+
ngOnDestroy() {
|
|
2071
|
+
this.componentAdapter.destroy();
|
|
2072
|
+
}
|
|
2073
|
+
}
|
|
2074
|
+
DateRangeFilterTileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangeFilterTileComponent, deps: [{ token: SisenseContextService }, { token: ThemeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2075
|
+
DateRangeFilterTileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DateRangeFilterTileComponent, selector: "csdk-date-range-filter-tile", inputs: { title: "title", attribute: "attribute", dataSource: "dataSource", filter: "filter", earliestDate: "earliestDate", lastDate: "lastDate" }, outputs: { filterChange: "filterChange" }, viewQueries: [{ propertyName: "preactRef", first: true, predicate: ["preact"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "\n <div #preact style=\"width: 100%; height: 100%\"></div>\n", isInline: true });
|
|
2076
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateRangeFilterTileComponent, decorators: [{
|
|
2077
|
+
type: Component,
|
|
2078
|
+
args: [{
|
|
2079
|
+
selector: 'csdk-date-range-filter-tile',
|
|
2080
|
+
template,
|
|
2081
|
+
}]
|
|
2082
|
+
}], ctorParameters: function () { return [{ type: SisenseContextService }, { type: ThemeService }]; }, propDecorators: { preactRef: [{
|
|
2083
|
+
type: ViewChild,
|
|
2084
|
+
args: [rootId]
|
|
2085
|
+
}], title: [{
|
|
2086
|
+
type: Input
|
|
2087
|
+
}], attribute: [{
|
|
2088
|
+
type: Input
|
|
2089
|
+
}], dataSource: [{
|
|
2090
|
+
type: Input
|
|
2091
|
+
}], filter: [{
|
|
2092
|
+
type: Input
|
|
2093
|
+
}], earliestDate: [{
|
|
2094
|
+
type: Input
|
|
2095
|
+
}], lastDate: [{
|
|
2096
|
+
type: Input
|
|
2097
|
+
}], filterChange: [{
|
|
2098
|
+
type: Output
|
|
2099
|
+
}] } });
|
|
2100
|
+
|
|
2101
|
+
/**
|
|
2102
|
+
* Drilldown Breadcrumbs Component
|
|
2103
|
+
*/
|
|
2104
|
+
class DrilldownBreadcrumbsComponent {
|
|
2105
|
+
/**
|
|
2106
|
+
* Constructor for the `DrilldownBreadcrumbsComponent`.
|
|
2107
|
+
*
|
|
2108
|
+
* @param sisenseContextService - Sisense context service
|
|
2109
|
+
* @param themeService - Theme service
|
|
2110
|
+
*/
|
|
2111
|
+
constructor(
|
|
2112
|
+
/**
|
|
2113
|
+
* Sisense context service
|
|
2114
|
+
*
|
|
2115
|
+
* @category Constructor
|
|
2116
|
+
*/
|
|
2117
|
+
sisenseContextService,
|
|
2118
|
+
/**
|
|
2119
|
+
* Theme service
|
|
2120
|
+
*
|
|
2121
|
+
* @category Constructor
|
|
2122
|
+
*/
|
|
2123
|
+
themeService) {
|
|
2124
|
+
this.sisenseContextService = sisenseContextService;
|
|
2125
|
+
this.themeService = themeService;
|
|
2126
|
+
/**
|
|
2127
|
+
* {@inheritDoc @sisense/sdk-ui!DrilldownBreadcrumbsProps.clearDrilldownSelections}
|
|
2128
|
+
*
|
|
2129
|
+
* @category Widget
|
|
2130
|
+
*/
|
|
2131
|
+
this.drilldownSelectionsClear = new EventEmitter();
|
|
2132
|
+
/**
|
|
2133
|
+
* {@inheritDoc @sisense/sdk-ui!DrilldownBreadcrumbsProps.sliceDrilldownSelections}
|
|
2134
|
+
*
|
|
2135
|
+
* @category Widget
|
|
2136
|
+
*/
|
|
2137
|
+
this.drilldownSelectionsSlice = new EventEmitter();
|
|
2138
|
+
this.componentAdapter = new ComponentAdapter(() => this.createPreactComponent(), [
|
|
2139
|
+
createSisenseContextConnector(this.sisenseContextService),
|
|
2140
|
+
createThemeContextConnector(this.themeService),
|
|
2141
|
+
]);
|
|
2142
|
+
}
|
|
2143
|
+
/**
|
|
2144
|
+
* @internal
|
|
2145
|
+
*/
|
|
2146
|
+
ngAfterViewInit() {
|
|
2147
|
+
this.componentAdapter.render(this.preactRef.nativeElement);
|
|
2148
|
+
}
|
|
2149
|
+
/**
|
|
2150
|
+
* @internal
|
|
2151
|
+
*/
|
|
2152
|
+
ngOnChanges() {
|
|
2153
|
+
if (this.preactRef) {
|
|
2154
|
+
this.componentAdapter.render(this.preactRef.nativeElement);
|
|
2155
|
+
}
|
|
2156
|
+
}
|
|
2157
|
+
createPreactComponent() {
|
|
2158
|
+
const props = {
|
|
2159
|
+
filtersDisplayValues: this.filtersDisplayValues,
|
|
2160
|
+
currentDimension: this.currentDimension,
|
|
2161
|
+
clearDrilldownSelections: () => this.drilldownSelectionsClear.emit(),
|
|
2162
|
+
sliceDrilldownSelections: (i) => this.drilldownSelectionsSlice.emit(i),
|
|
2163
|
+
};
|
|
2164
|
+
return createElement(DrilldownBreadcrumbs, props);
|
|
2165
|
+
}
|
|
2166
|
+
/**
|
|
2167
|
+
* @internal
|
|
2168
|
+
*/
|
|
2169
|
+
ngOnDestroy() {
|
|
2170
|
+
this.componentAdapter.destroy();
|
|
2171
|
+
}
|
|
2172
|
+
}
|
|
2173
|
+
DrilldownBreadcrumbsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DrilldownBreadcrumbsComponent, deps: [{ token: SisenseContextService }, { token: ThemeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2174
|
+
DrilldownBreadcrumbsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DrilldownBreadcrumbsComponent, selector: "csdk-drilldown-breadcrumbs", inputs: { filtersDisplayValues: "filtersDisplayValues", currentDimension: "currentDimension" }, outputs: { drilldownSelectionsClear: "drilldownSelectionsClear", drilldownSelectionsSlice: "drilldownSelectionsSlice" }, viewQueries: [{ propertyName: "preactRef", first: true, predicate: ["preact"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "\n <div #preact style=\"width: 100%; height: 100%\"></div>\n", isInline: true });
|
|
2175
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DrilldownBreadcrumbsComponent, decorators: [{
|
|
2176
|
+
type: Component,
|
|
2177
|
+
args: [{
|
|
2178
|
+
selector: 'csdk-drilldown-breadcrumbs',
|
|
2179
|
+
template,
|
|
2180
|
+
}]
|
|
2181
|
+
}], ctorParameters: function () { return [{ type: SisenseContextService }, { type: ThemeService }]; }, propDecorators: { preactRef: [{
|
|
2182
|
+
type: ViewChild,
|
|
2183
|
+
args: [rootId]
|
|
2184
|
+
}], filtersDisplayValues: [{
|
|
2185
|
+
type: Input
|
|
2186
|
+
}], currentDimension: [{
|
|
2187
|
+
type: Input
|
|
2188
|
+
}], drilldownSelectionsClear: [{
|
|
2189
|
+
type: Output
|
|
2190
|
+
}], drilldownSelectionsSlice: [{
|
|
2191
|
+
type: Output
|
|
2192
|
+
}] } });
|
|
2193
|
+
|
|
2194
|
+
/**
|
|
2195
|
+
* Context Menu Component
|
|
2196
|
+
*/
|
|
2197
|
+
class ContextMenuComponent {
|
|
2198
|
+
/**
|
|
2199
|
+
* Constructor for the `ContextMenuComponent`.
|
|
2200
|
+
*
|
|
2201
|
+
* @param sisenseContextService - Sisense context service
|
|
2202
|
+
* @param themeService - Theme service
|
|
2203
|
+
*/
|
|
2204
|
+
constructor(
|
|
2205
|
+
/**
|
|
2206
|
+
* Sisense context service
|
|
2207
|
+
*
|
|
2208
|
+
* @category Constructor
|
|
2209
|
+
*/
|
|
2210
|
+
sisenseContextService,
|
|
2211
|
+
/**
|
|
2212
|
+
* Theme service
|
|
2213
|
+
*
|
|
2214
|
+
* @category Constructor
|
|
2215
|
+
*/
|
|
2216
|
+
themeService) {
|
|
2217
|
+
this.sisenseContextService = sisenseContextService;
|
|
2218
|
+
this.themeService = themeService;
|
|
2219
|
+
/**
|
|
2220
|
+
* {@inheritDoc @sisense/sdk-ui!ContextMenuProps.closeContextMenu}
|
|
2221
|
+
*/
|
|
2222
|
+
this.contextMenuClose = new EventEmitter();
|
|
2223
|
+
this.componentAdapter = new ComponentAdapter(() => this.createPreactComponent(), [
|
|
2224
|
+
createSisenseContextConnector(this.sisenseContextService),
|
|
2225
|
+
createThemeContextConnector(this.themeService),
|
|
2226
|
+
]);
|
|
2227
|
+
}
|
|
2228
|
+
/**
|
|
2229
|
+
* @internal
|
|
2230
|
+
*/
|
|
2231
|
+
ngAfterViewInit() {
|
|
2232
|
+
this.componentAdapter.render(this.preactRef.nativeElement);
|
|
2233
|
+
}
|
|
2234
|
+
/**
|
|
2235
|
+
* @internal
|
|
2236
|
+
*/
|
|
2237
|
+
ngOnChanges() {
|
|
2238
|
+
if (this.preactRef) {
|
|
2239
|
+
this.componentAdapter.render(this.preactRef.nativeElement);
|
|
2240
|
+
}
|
|
2241
|
+
}
|
|
2242
|
+
createPreactComponent() {
|
|
2243
|
+
const props = {
|
|
2244
|
+
position: this.position,
|
|
2245
|
+
itemSections: this.itemSections,
|
|
2246
|
+
closeContextMenu: () => this.contextMenuClose.emit(),
|
|
2247
|
+
};
|
|
2248
|
+
return createElement(ContextMenu, props, createWrapperElement(this.preactContentRef.nativeElement));
|
|
2249
|
+
}
|
|
2250
|
+
/**
|
|
2251
|
+
* @internal
|
|
2252
|
+
*/
|
|
2253
|
+
ngOnDestroy() {
|
|
2254
|
+
this.componentAdapter.destroy();
|
|
2255
|
+
}
|
|
2256
|
+
}
|
|
2257
|
+
ContextMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ContextMenuComponent, deps: [{ token: SisenseContextService }, { token: ThemeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2258
|
+
ContextMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ContextMenuComponent, selector: "csdk-context-menu", inputs: { position: "position", itemSections: "itemSections" }, outputs: { contextMenuClose: "contextMenuClose" }, viewQueries: [{ propertyName: "preactRef", first: true, predicate: ["preact"], descendants: true }, { propertyName: "preactContentRef", first: true, predicate: ["preactContent"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "\n <div #preact style=\"width: 100%; height: 100%\">\n <div #preactContent style=\"width: 100%; height: 100%\">\n <ng-content></ng-content>\n </div>\n </div>\n", isInline: true });
|
|
2259
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ContextMenuComponent, decorators: [{
|
|
2260
|
+
type: Component,
|
|
2261
|
+
args: [{
|
|
2262
|
+
selector: 'csdk-context-menu',
|
|
2263
|
+
template: templateWithContent,
|
|
2264
|
+
}]
|
|
2265
|
+
}], ctorParameters: function () { return [{ type: SisenseContextService }, { type: ThemeService }]; }, propDecorators: { preactRef: [{
|
|
2266
|
+
type: ViewChild,
|
|
2267
|
+
args: [rootId]
|
|
2268
|
+
}], preactContentRef: [{
|
|
2269
|
+
type: ViewChild,
|
|
2270
|
+
args: [rootContentId]
|
|
2271
|
+
}], position: [{
|
|
2272
|
+
type: Input
|
|
2273
|
+
}], itemSections: [{
|
|
2274
|
+
type: Input
|
|
2275
|
+
}], contextMenuClose: [{
|
|
2276
|
+
type: Output
|
|
2277
|
+
}] } });
|
|
2278
|
+
|
|
2279
|
+
/**
|
|
2280
|
+
* SDK UI Module, which is a container for components.
|
|
2281
|
+
*
|
|
2282
|
+
* @example
|
|
2283
|
+
* Example of importing `SdkUiModule` and injecting {@link SisenseContextConfig} into your application:
|
|
2284
|
+
*
|
|
2285
|
+
* ```ts
|
|
2286
|
+
* export const SISENSE_CONTEXT_CONFIG: SisenseContextConfig = {
|
|
2287
|
+
* url="<instance url>" // replace with the URL of your Sisense instance
|
|
2288
|
+
* token="<api token>" // replace with the API token of your user account
|
|
2289
|
+
* defaultDataSource: DM.DataSource,
|
|
2290
|
+
* };
|
|
2291
|
+
*
|
|
2292
|
+
* @NgModule({
|
|
2293
|
+
* imports: [
|
|
2294
|
+
* BrowserModule,
|
|
2295
|
+
* SdkUiModule,
|
|
2296
|
+
* ],
|
|
2297
|
+
* declarations: [AppComponent],
|
|
2298
|
+
* providers: [
|
|
2299
|
+
* { provide: SISENSE_CONTEXT_CONFIG_TOKEN, useValue: SISENSE_CONTEXT_CONFIG },
|
|
2300
|
+
* ],
|
|
2301
|
+
* bootstrap: [AppComponent],
|
|
1517
2302
|
* })
|
|
1518
2303
|
* ```
|
|
1519
2304
|
*/
|
|
@@ -1534,8 +2319,14 @@ SdkUiModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "1
|
|
|
1534
2319
|
FunnelChartComponent,
|
|
1535
2320
|
PolarChartComponent,
|
|
1536
2321
|
TreemapChartComponent,
|
|
2322
|
+
SunburstChartComponent,
|
|
1537
2323
|
TableWidgetComponent,
|
|
1538
|
-
DashboardWidgetComponent
|
|
2324
|
+
DashboardWidgetComponent,
|
|
2325
|
+
MemberFilterTileComponent,
|
|
2326
|
+
DrilldownWidgetComponent,
|
|
2327
|
+
DateRangeFilterTileComponent,
|
|
2328
|
+
DrilldownBreadcrumbsComponent,
|
|
2329
|
+
ContextMenuComponent], imports: [CommonModule, DecoratorsModule], exports: [BasicMemberFilterTileComponent,
|
|
1539
2330
|
ChartComponent,
|
|
1540
2331
|
TableComponent,
|
|
1541
2332
|
ChartWidgetComponent,
|
|
@@ -1549,9 +2340,15 @@ SdkUiModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "1
|
|
|
1549
2340
|
FunnelChartComponent,
|
|
1550
2341
|
PolarChartComponent,
|
|
1551
2342
|
TreemapChartComponent,
|
|
2343
|
+
SunburstChartComponent,
|
|
1552
2344
|
TableWidgetComponent,
|
|
1553
|
-
DashboardWidgetComponent
|
|
1554
|
-
|
|
2345
|
+
DashboardWidgetComponent,
|
|
2346
|
+
MemberFilterTileComponent,
|
|
2347
|
+
DrilldownWidgetComponent,
|
|
2348
|
+
DateRangeFilterTileComponent,
|
|
2349
|
+
DrilldownBreadcrumbsComponent,
|
|
2350
|
+
ContextMenuComponent] });
|
|
2351
|
+
SdkUiModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SdkUiModule, imports: [CommonModule, DecoratorsModule] });
|
|
1555
2352
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SdkUiModule, decorators: [{
|
|
1556
2353
|
type: NgModule,
|
|
1557
2354
|
args: [{
|
|
@@ -1570,10 +2367,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
1570
2367
|
FunnelChartComponent,
|
|
1571
2368
|
PolarChartComponent,
|
|
1572
2369
|
TreemapChartComponent,
|
|
2370
|
+
SunburstChartComponent,
|
|
1573
2371
|
TableWidgetComponent,
|
|
1574
2372
|
DashboardWidgetComponent,
|
|
2373
|
+
MemberFilterTileComponent,
|
|
2374
|
+
DrilldownWidgetComponent,
|
|
2375
|
+
DateRangeFilterTileComponent,
|
|
2376
|
+
DrilldownBreadcrumbsComponent,
|
|
2377
|
+
ContextMenuComponent,
|
|
1575
2378
|
],
|
|
1576
|
-
imports: [CommonModule],
|
|
2379
|
+
imports: [CommonModule, DecoratorsModule],
|
|
1577
2380
|
exports: [
|
|
1578
2381
|
BasicMemberFilterTileComponent,
|
|
1579
2382
|
ChartComponent,
|
|
@@ -1589,53 +2392,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
1589
2392
|
FunnelChartComponent,
|
|
1590
2393
|
PolarChartComponent,
|
|
1591
2394
|
TreemapChartComponent,
|
|
2395
|
+
SunburstChartComponent,
|
|
1592
2396
|
TableWidgetComponent,
|
|
1593
2397
|
DashboardWidgetComponent,
|
|
2398
|
+
MemberFilterTileComponent,
|
|
2399
|
+
DrilldownWidgetComponent,
|
|
2400
|
+
DateRangeFilterTileComponent,
|
|
2401
|
+
DrilldownBreadcrumbsComponent,
|
|
2402
|
+
ContextMenuComponent,
|
|
1594
2403
|
],
|
|
1595
2404
|
providers: [],
|
|
1596
2405
|
}]
|
|
1597
2406
|
}] });
|
|
1598
2407
|
|
|
1599
|
-
class QueryService {
|
|
1600
|
-
constructor(sisenseContextService) {
|
|
1601
|
-
this.sisenseContextService = sisenseContextService;
|
|
1602
|
-
}
|
|
1603
|
-
/**
|
|
1604
|
-
* Executes a data query.
|
|
1605
|
-
*
|
|
1606
|
-
* @param params - Query parameters
|
|
1607
|
-
* return Query result
|
|
1608
|
-
*/
|
|
1609
|
-
executeQuery(params) {
|
|
1610
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1611
|
-
const { dataSource, dimensions, measures, filters, highlights, count, offset, onBeforeQuery } = params;
|
|
1612
|
-
const app = yield this.sisenseContextService.getApp();
|
|
1613
|
-
const data = yield executeQuery({ dataSource, dimensions, measures, filters, highlights, count, offset }, app, { onBeforeQuery });
|
|
1614
|
-
return { data };
|
|
1615
|
-
});
|
|
1616
|
-
}
|
|
1617
|
-
/**
|
|
1618
|
-
* Executes a data query extracted from an existing widget in the Sisense instance.
|
|
1619
|
-
*
|
|
1620
|
-
* @param params - Parameters to identify the target widget
|
|
1621
|
-
* @returns Query result
|
|
1622
|
-
*/
|
|
1623
|
-
executeQueryByWidgetId(params) {
|
|
1624
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
1625
|
-
const app = yield this.sisenseContextService.getApp();
|
|
1626
|
-
return executeQueryByWidgetId(Object.assign(Object.assign({}, params), { app }));
|
|
1627
|
-
});
|
|
1628
|
-
}
|
|
1629
|
-
}
|
|
1630
|
-
QueryService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: QueryService, deps: [{ token: SisenseContextService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1631
|
-
QueryService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: QueryService, providedIn: 'root' });
|
|
1632
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: QueryService, decorators: [{
|
|
1633
|
-
type: Injectable,
|
|
1634
|
-
args: [{
|
|
1635
|
-
providedIn: 'root',
|
|
1636
|
-
}]
|
|
1637
|
-
}], ctorParameters: function () { return [{ type: SisenseContextService }]; } });
|
|
1638
|
-
|
|
1639
2408
|
/*
|
|
1640
2409
|
* Public API Surface of @sisense/sdk-ui-angular
|
|
1641
2410
|
*/
|
|
@@ -1644,5 +2413,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
1644
2413
|
* Generated bundle index. Do not edit.
|
|
1645
2414
|
*/
|
|
1646
2415
|
|
|
1647
|
-
export { AreaChartComponent, BarChartComponent, BasicMemberFilterTileComponent, ChartComponent, ChartWidgetComponent, ColumnChartComponent, DashboardWidgetComponent, FunnelChartComponent, IndicatorChartComponent, LineChartComponent, PieChartComponent, PolarChartComponent, QueryService, SISENSE_CONTEXT_CONFIG_TOKEN, ScatterChartComponent, SdkUiModule, SisenseContextService, THEME_CONFIG_TOKEN, TableComponent, TableWidgetComponent, ThemeService, TreemapChartComponent };
|
|
2416
|
+
export { AreaChartComponent, BarChartComponent, BasicMemberFilterTileComponent, ChartComponent, ChartWidgetComponent, ColumnChartComponent, ContextMenuComponent, DashboardService, DashboardWidgetComponent, DateRangeFilterTileComponent, DrilldownBreadcrumbsComponent, DrilldownWidgetComponent, FunnelChartComponent, IndicatorChartComponent, LineChartComponent, MemberFilterTileComponent, PieChartComponent, PolarChartComponent, QueryService, SISENSE_CONTEXT_CONFIG_TOKEN, ScatterChartComponent, SdkUiModule, SisenseContextService, SunburstChartComponent, THEME_CONFIG_TOKEN, TableComponent, TableWidgetComponent, ThemeService, TreemapChartComponent };
|
|
1648
2417
|
//# sourceMappingURL=sisense-sdk-ui-angular.mjs.map
|