@bizdoc/core 1.9.12 → 1.9.13
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/esm2020/lib/compose/attachments/preview/attachment-preview.component.mjs +18 -16
- package/esm2020/lib/cube/grid/spreadsheet.component.mjs +35 -31
- package/esm2020/lib/views/cube/matrix.component.mjs +6 -6
- package/fesm2015/bizdoc-core.mjs +48 -43
- package/fesm2015/bizdoc-core.mjs.map +1 -1
- package/fesm2020/bizdoc-core.mjs +48 -43
- package/fesm2020/bizdoc-core.mjs.map +1 -1
- package/lib/compose/attachments/preview/attachment-preview.component.d.ts +3 -1
- package/lib/cube/grid/spreadsheet.component.d.ts +2 -0
- package/lib/views/cube/matrix.component.d.ts +2 -2
- package/package.json +1 -1
package/fesm2015/bizdoc-core.mjs
CHANGED
@@ -795,6 +795,9 @@ function getParameterByName(name, url = window.location.href) {
|
|
795
795
|
return decodeURIComponent(results[2].replace(/\+/g, ' '));
|
796
796
|
}
|
797
797
|
|
798
|
+
class AuthenticationImpl {
|
799
|
+
}
|
800
|
+
|
798
801
|
class PopupRef {
|
799
802
|
constructor(_data) {
|
800
803
|
this._data = _data;
|
@@ -915,9 +918,6 @@ class FirebaseService {
|
|
915
918
|
}
|
916
919
|
}
|
917
920
|
|
918
|
-
class AuthenticationImpl {
|
919
|
-
}
|
920
|
-
|
921
921
|
/** Listen to hub contracts */
|
922
922
|
class HubService {
|
923
923
|
constructor(_auth) {
|
@@ -2702,16 +2702,17 @@ const IMAGE_TYPE = ['image/png', 'image/jpeg', 'image/jpg', 'image/gif'];
|
|
2702
2702
|
function isImage(contentType) {
|
2703
2703
|
return IMAGE_TYPE.indexOf(contentType) > -1;
|
2704
2704
|
}
|
2705
|
-
function formatUrl(documentId, fileId) {
|
2706
|
-
return `/api/mailbox/download/${documentId}?fileId=${fileId}`;
|
2705
|
+
function formatUrl(documentId, fileId, token) {
|
2706
|
+
return `/api/mailbox/download/${documentId}?fileId=${fileId}&access_token=${token}`;
|
2707
2707
|
}
|
2708
2708
|
const ANIMATION_TIMINGS = '400ms cubic-bezier(0.25, 0.8, 0.25, 1)';
|
2709
2709
|
/** attachment-preview component*/
|
2710
2710
|
class AttachmentPreview {
|
2711
2711
|
/** attachment-preview ctor */
|
2712
|
-
constructor(_directionality, _renderer, data, sanitizer, _overlayRef) {
|
2712
|
+
constructor(_directionality, _renderer, data, sanitizer, _auth, _overlayRef) {
|
2713
2713
|
this._renderer = _renderer;
|
2714
2714
|
this.data = data;
|
2715
|
+
this._auth = _auth;
|
2715
2716
|
this._overlayRef = _overlayRef;
|
2716
2717
|
this.loading = true;
|
2717
2718
|
this.animationState = 'enter';
|
@@ -2741,7 +2742,7 @@ class AttachmentPreview {
|
|
2741
2742
|
location.assign(this._url());
|
2742
2743
|
}
|
2743
2744
|
_url() {
|
2744
|
-
return formatUrl(this.data.documentId, this.data.file.id);
|
2745
|
+
return formatUrl(this.data.documentId, this.data.file.id, this._auth.getAccessToken());
|
2745
2746
|
}
|
2746
2747
|
rotate() {
|
2747
2748
|
const elem = (this.isImage ? this.img : this.obj).nativeElement;
|
@@ -2783,7 +2784,7 @@ class AttachmentPreview {
|
|
2783
2784
|
this.animationState = 'leave';
|
2784
2785
|
}
|
2785
2786
|
}
|
2786
|
-
AttachmentPreview.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: AttachmentPreview, deps: [{ token: i7.Directionality }, { token: i0.Renderer2 }, { token: FILE_PREVIEW_DIALOG_DATA }, { token: i1$2.DomSanitizer }, { token: i1$1.OverlayRef }], target: i0.ɵɵFactoryTarget.Component });
|
2787
|
+
AttachmentPreview.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: AttachmentPreview, deps: [{ token: i7.Directionality }, { token: i0.Renderer2 }, { token: FILE_PREVIEW_DIALOG_DATA }, { token: i1$2.DomSanitizer }, { token: AuthenticationImpl }, { token: i1$1.OverlayRef }], target: i0.ɵɵFactoryTarget.Component });
|
2787
2788
|
AttachmentPreview.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: AttachmentPreview, selector: "bizdoc-attachment-preview", host: { listeners: { "document:resize": "resize()", "document:keydown.escape": "close()" } }, viewQueries: [{ propertyName: "obj", first: true, predicate: ["obj"], descendants: true }, { propertyName: "img", first: true, predicate: ["img"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"overlay-content\" [@slideContent]=\"animationState\" (@slideContent.start)=\"onAnimationStart($event)\"\r\n [dir]=\"dir\" (@slideContent.done)=\"onAnimationDone($event)\">\r\n <div class=\"toolbar-wrapper\" fxLayout=\"row\" [@slideDown]=\"slideDown\" *ngIf=\"!loading\">\r\n <button mat-icon-button (click)=\"close()\" bizdocTooltip=\"{{'Back' | translate}}\"><mat-icon class=\"mat-icon-rtl-mirror\">keyboard_arrow_left</mat-icon></button>\r\n <span class=\"mat-body-1\">{{data.file.fileName}}</span>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"rotate()\" bizdocTooltip=\"{{'Rotate' | translate }}\"><mat-icon>screen_rotation</mat-icon></button>\r\n <button mat-icon-button (click)=\"download()\" bizdocTooltip=\"{{'Download' | translate}}\"><mat-icon>save_alt</mat-icon></button>\r\n </div>\r\n <div class=\"spinner-wrapper\" *ngIf=\"loading\">\r\n <mat-spinner></mat-spinner>\r\n </div>\r\n <object (load)=\"onLoad($event)\" [data]=\"objectData\" [type]=\"data.file.contentType\" *ngIf=\"!isImage\" #obj></object>\r\n <img *ngIf=\"isImage\" (load)=\"onLoad($event)\" [style.opacity]=\"loading ? 0 : 1\" [@fade]=\"loading ? 'fadeOut' : 'fadeIn'\" [src]=\"objectData\" #img>\r\n</div>\r\n", styles: [":host{display:flex;flex-direction:column;align-items:center}.spinner-wrapper{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:-1}img{width:100%;max-width:500px;height:auto}.overlay-content{padding:1em}.overlay-content .toolbar-wrapper{align-items:center;color:#f5f5f5}.divider{flex:1 1 auto}\n"], components: [{ type: i7$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i7$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i10.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ type: i7.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { type: i10$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }], pipes: { "translate": TranslatePipe }, animations: [
|
2788
2789
|
trigger('fade', [
|
2789
2790
|
state('fadeOut', style({ opacity: 0 })),
|
@@ -2828,7 +2829,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
|
|
2828
2829
|
return [{ type: i7.Directionality }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
|
2829
2830
|
type: Inject,
|
2830
2831
|
args: [FILE_PREVIEW_DIALOG_DATA]
|
2831
|
-
}] }, { type: i1$2.DomSanitizer }, { type: i1$1.OverlayRef }];
|
2832
|
+
}] }, { type: i1$2.DomSanitizer }, { type: AuthenticationImpl }, { type: i1$1.OverlayRef }];
|
2832
2833
|
}, propDecorators: { obj: [{
|
2833
2834
|
type: ViewChild,
|
2834
2835
|
args: ['obj', { static: false }]
|
@@ -10732,18 +10733,14 @@ class CubeSpreadsheetComponent {
|
|
10732
10733
|
}
|
10733
10734
|
else {
|
10734
10735
|
if (y === 0) {
|
10735
|
-
if (y < y1)
|
10736
|
-
|
10737
|
-
axes[xName] = key;
|
10738
|
-
}
|
10736
|
+
if (y < y1)
|
10737
|
+
this._fillx(x, x1, axes);
|
10739
10738
|
else
|
10740
10739
|
return;
|
10741
10740
|
}
|
10742
10741
|
else if (x === 0) {
|
10743
|
-
if (x < x1)
|
10744
|
-
|
10745
|
-
axes[yName] = key;
|
10746
|
-
}
|
10742
|
+
if (x < x1)
|
10743
|
+
this._filly(y, y1, axes);
|
10747
10744
|
else
|
10748
10745
|
return;
|
10749
10746
|
}
|
@@ -10752,32 +10749,40 @@ class CubeSpreadsheetComponent {
|
|
10752
10749
|
else if (y > this.dataSource.length - 1 || x > this.dataSource[y].cells.length - 1)
|
10753
10750
|
return;
|
10754
10751
|
else {
|
10755
|
-
|
10756
|
-
|
10757
|
-
while (j < x1) {
|
10758
|
-
let { key } = this._xcolumns[j];
|
10759
|
-
if (!axes[xName])
|
10760
|
-
axes[xName] = key;
|
10761
|
-
else if (isString(axes[xName]))
|
10762
|
-
axes[xName] = [axes[xName], key];
|
10763
|
-
else if (axes[xName].indexOf(key) < 0)
|
10764
|
-
axes[xName].push(key);
|
10765
|
-
j++;
|
10766
|
-
}
|
10767
|
-
while (i < y1) {
|
10768
|
-
let { key } = this._yrows[i];
|
10769
|
-
if (!axes[yName])
|
10770
|
-
axes[yName] = key;
|
10771
|
-
else if (isString(axes[yName]))
|
10772
|
-
axes[yName] = [axes[yName], key];
|
10773
|
-
else if (axes[yName].indexOf(key) < 0)
|
10774
|
-
axes[yName].push(key);
|
10775
|
-
i++;
|
10776
|
-
}
|
10752
|
+
this._fillx(x, x1, axes);
|
10753
|
+
this._filly(y, y1, axes);
|
10777
10754
|
}
|
10778
10755
|
this.explore.emit({ axes });
|
10779
10756
|
}
|
10780
10757
|
}
|
10758
|
+
_filly(y, y1, axes) {
|
10759
|
+
const yName = this._series[0];
|
10760
|
+
let i = y - 1;
|
10761
|
+
while (i < y1) {
|
10762
|
+
let { key } = this._yrows[i];
|
10763
|
+
if (!axes[yName])
|
10764
|
+
axes[yName] = key;
|
10765
|
+
else if (isString(axes[yName]))
|
10766
|
+
axes[yName] = [axes[yName], key];
|
10767
|
+
else if (axes[yName].indexOf(key) < 0)
|
10768
|
+
axes[yName].push(key);
|
10769
|
+
i++;
|
10770
|
+
}
|
10771
|
+
}
|
10772
|
+
_fillx(x, x1, axes) {
|
10773
|
+
const xName = this._xAxis[0];
|
10774
|
+
let i = x - 1;
|
10775
|
+
while (i < x1) {
|
10776
|
+
let { key } = this._xcolumns[i];
|
10777
|
+
if (!axes[xName])
|
10778
|
+
axes[xName] = key;
|
10779
|
+
else if (isString(axes[xName]))
|
10780
|
+
axes[xName] = [axes[xName], key];
|
10781
|
+
else if (axes[xName].indexOf(key) < 0)
|
10782
|
+
axes[xName].push(key);
|
10783
|
+
i++;
|
10784
|
+
}
|
10785
|
+
}
|
10781
10786
|
exportToExcel(title) {
|
10782
10787
|
const wb = XLSX.utils.book_new();
|
10783
10788
|
const rows = this.spreadsheet.sheets[0].rows.map(r => r.cells.map(c => c.value));
|
@@ -23564,8 +23569,8 @@ let CubeDocumentMatrixComponent = class CubeDocumentMatrixComponent extends Cube
|
|
23564
23569
|
const { xAxis, serie, indices, sum, scope, filters } = this._viewRef.options;
|
23565
23570
|
if (!xAxis || !serie)
|
23566
23571
|
throw 'xAxis and serie required';
|
23567
|
-
this.xAxis = xAxis;
|
23568
|
-
this.serie = serie;
|
23572
|
+
this.xAxis = isArray(xAxis) ? xAxis[0] : xAxis;
|
23573
|
+
this.serie = isArray(serie) ? serie[0] : serie;
|
23569
23574
|
this.indices = indices;
|
23570
23575
|
this.sum = sum;
|
23571
23576
|
this.scope = scope;
|
@@ -23612,7 +23617,7 @@ let CubeDocumentMatrixComponent = class CubeDocumentMatrixComponent extends Cube
|
|
23612
23617
|
}
|
23613
23618
|
};
|
23614
23619
|
CubeDocumentMatrixComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: CubeDocumentMatrixComponent, deps: [{ token: DocumentViewRef }, { token: RouterImpl }, { token: CubeService }, { token: DatasourceService }, { token: SessionService }], target: i0.ɵɵFactoryTarget.Component });
|
23615
|
-
CubeDocumentMatrixComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: CubeDocumentMatrixComponent, selector: "ng-component", host: { classAttribute: "view" }, viewQueries: [{ propertyName: "table", first: true, predicate: CubeMatrixComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"hasdata; else none\">\r\n <div class=\"nav-toolbar\">\r\n <ng-container *ngIf=\"alternate\">\r\n <button mat-button [matMenuTriggerFor]=\"cmenu\">{{cube.title}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #cmenu>\r\n <button mat-menu-item *ngFor=\"let a of alternate\"\r\n (click)=\"switchTo(a)\">\r\n {{a.title}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n <span class=\"divider\"></span>\r\n <!-- title -->\r\n <button mat-icon-button [matMenuTriggerFor]=\"options\" *ngIf=\"patterns && patterns.length\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #options xPosition=\"before\">\r\n <!-- patterns -->\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"patternChange(p)\">{{p.title}}</button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\r\n <mat-icon>clear_all</mat-icon>\r\n </button>\r\n <!-- filters -->\r\n <ng-container *ngFor=\"let f of filters\">\r\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{axes[f.name] | typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #fmenu xPosition=\"before\">\r\n <button mat-menu-item *ngFor=\"let kv of sources[f.name] | async\"\r\n (click)=\"filter(f.name, kv.key, kv.value)\">\r\n {{kv.value}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n </div>\r\n <div class=\"loading-view\" *ngIf=\"loading\">\r\n <mat-spinner color=\"accent\"></mat-spinner>\r\n </div>\r\n <bizdoc-cube-matrix [cube]=\"cube.name\" [xAxis]=\"xAxis\" [serie]=\"serie\" [indices]=\"indices\" [sum]
|
23620
|
+
CubeDocumentMatrixComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: CubeDocumentMatrixComponent, selector: "ng-component", host: { classAttribute: "view" }, viewQueries: [{ propertyName: "table", first: true, predicate: CubeMatrixComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"hasdata; else none\">\r\n <div class=\"nav-toolbar\">\r\n <ng-container *ngIf=\"alternate\">\r\n <button mat-button [matMenuTriggerFor]=\"cmenu\">{{cube.title}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #cmenu>\r\n <button mat-menu-item *ngFor=\"let a of alternate\"\r\n (click)=\"switchTo(a)\">\r\n {{a.title}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n <span class=\"divider\"></span>\r\n <!-- title -->\r\n <button mat-icon-button [matMenuTriggerFor]=\"options\" *ngIf=\"patterns && patterns.length\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #options xPosition=\"before\">\r\n <!-- patterns -->\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"patternChange(p)\">{{p.title}}</button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\r\n <mat-icon>clear_all</mat-icon>\r\n </button>\r\n <!-- filters -->\r\n <ng-container *ngFor=\"let f of filters\">\r\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{axes[f.name] | typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #fmenu xPosition=\"before\">\r\n <button mat-menu-item *ngFor=\"let kv of sources[f.name] | async\"\r\n (click)=\"filter(f.name, kv.key, kv.value)\">\r\n {{kv.value}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n </div>\r\n <div class=\"loading-view\" *ngIf=\"loading\">\r\n <mat-spinner color=\"accent\"></mat-spinner>\r\n </div>\r\n <bizdoc-cube-matrix [cube]=\"cube.name\" [xAxis]=\"xAxis\" [serie]=\"serie\" [indices]=\"indices\" [sum]=\"sum\"\r\n [axes]=\"axes\" [scope]=\"scope\" class=\"table\"\r\n (explore)='explore($event)' [(loading)]=\"loading\"></bizdoc-cube-matrix>\r\n</ng-container>\r\n<ng-template #none>\r\n <bizdoc-none icon=\"insert_chart_outlined\" subtitle=\"NothingHere\"></bizdoc-none>\r\n</ng-template>\r\n", styles: [".table{padding:0 8px}\n"], components: [{ type: i7$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i7$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i8$1.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i8$1.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i10.MatSpinner, selector: "mat-spinner", inputs: ["color"] }, { type: CubeMatrixComponent, selector: "bizdoc-cube-matrix", inputs: ["cube", "xAxis", "serie", "indices", "scope", "sum", "axes", "loading", "interactive"], outputs: ["explore", "loadingChange"] }, { type: NoneComponent, selector: "bizdoc-none", inputs: ["title", "subtitle", "icon"] }], directives: [{ type: i10$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8$1.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i10$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }], pipes: { "translate": TranslatePipe, "async": i10$1.AsyncPipe, "typeValue": TypeValuePipe } });
|
23616
23621
|
CubeDocumentMatrixComponent = __decorate([
|
23617
23622
|
BizDoc({
|
23618
23623
|
selector: 'bizdoc-cube-matrix'
|
@@ -23620,7 +23625,7 @@ CubeDocumentMatrixComponent = __decorate([
|
|
23620
23625
|
], CubeDocumentMatrixComponent);
|
23621
23626
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: CubeDocumentMatrixComponent, decorators: [{
|
23622
23627
|
type: Component,
|
23623
|
-
args: [{ host: { class: 'view' }, template: "<ng-container *ngIf=\"hasdata; else none\">\r\n <div class=\"nav-toolbar\">\r\n <ng-container *ngIf=\"alternate\">\r\n <button mat-button [matMenuTriggerFor]=\"cmenu\">{{cube.title}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #cmenu>\r\n <button mat-menu-item *ngFor=\"let a of alternate\"\r\n (click)=\"switchTo(a)\">\r\n {{a.title}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n <span class=\"divider\"></span>\r\n <!-- title -->\r\n <button mat-icon-button [matMenuTriggerFor]=\"options\" *ngIf=\"patterns && patterns.length\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #options xPosition=\"before\">\r\n <!-- patterns -->\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"patternChange(p)\">{{p.title}}</button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\r\n <mat-icon>clear_all</mat-icon>\r\n </button>\r\n <!-- filters -->\r\n <ng-container *ngFor=\"let f of filters\">\r\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{axes[f.name] | typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #fmenu xPosition=\"before\">\r\n <button mat-menu-item *ngFor=\"let kv of sources[f.name] | async\"\r\n (click)=\"filter(f.name, kv.key, kv.value)\">\r\n {{kv.value}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n </div>\r\n <div class=\"loading-view\" *ngIf=\"loading\">\r\n <mat-spinner color=\"accent\"></mat-spinner>\r\n </div>\r\n <bizdoc-cube-matrix [cube]=\"cube.name\" [xAxis]=\"xAxis\" [serie]=\"serie\" [indices]=\"indices\" [sum]
|
23628
|
+
args: [{ host: { class: 'view' }, template: "<ng-container *ngIf=\"hasdata; else none\">\r\n <div class=\"nav-toolbar\">\r\n <ng-container *ngIf=\"alternate\">\r\n <button mat-button [matMenuTriggerFor]=\"cmenu\">{{cube.title}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #cmenu>\r\n <button mat-menu-item *ngFor=\"let a of alternate\"\r\n (click)=\"switchTo(a)\">\r\n {{a.title}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n <span class=\"divider\"></span>\r\n <!-- title -->\r\n <button mat-icon-button [matMenuTriggerFor]=\"options\" *ngIf=\"patterns && patterns.length\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #options xPosition=\"before\">\r\n <!-- patterns -->\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"patternChange(p)\">{{p.title}}</button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\r\n <mat-icon>clear_all</mat-icon>\r\n </button>\r\n <!-- filters -->\r\n <ng-container *ngFor=\"let f of filters\">\r\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{axes[f.name] | typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #fmenu xPosition=\"before\">\r\n <button mat-menu-item *ngFor=\"let kv of sources[f.name] | async\"\r\n (click)=\"filter(f.name, kv.key, kv.value)\">\r\n {{kv.value}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n </div>\r\n <div class=\"loading-view\" *ngIf=\"loading\">\r\n <mat-spinner color=\"accent\"></mat-spinner>\r\n </div>\r\n <bizdoc-cube-matrix [cube]=\"cube.name\" [xAxis]=\"xAxis\" [serie]=\"serie\" [indices]=\"indices\" [sum]=\"sum\"\r\n [axes]=\"axes\" [scope]=\"scope\" class=\"table\"\r\n (explore)='explore($event)' [(loading)]=\"loading\"></bizdoc-cube-matrix>\r\n</ng-container>\r\n<ng-template #none>\r\n <bizdoc-none icon=\"insert_chart_outlined\" subtitle=\"NothingHere\"></bizdoc-none>\r\n</ng-template>\r\n", styles: [".table{padding:0 8px}\n"] }]
|
23624
23629
|
}], ctorParameters: function () { return [{ type: DocumentViewRef }, { type: RouterImpl }, { type: CubeService }, { type: DatasourceService }, { type: SessionService }]; }, propDecorators: { table: [{
|
23625
23630
|
type: ViewChild,
|
23626
23631
|
args: [CubeMatrixComponent, { static: true }]
|