@bizdoc/core 1.13.24 → 1.13.27
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/assets/bizdoc-schema.json +15 -10
- package/assets/i18n/cldr-data/main/ar/ca-buddhist.json +530 -530
- package/assets/i18n/cldr-data/main/ar/ca-chinese.json +1254 -1254
- package/assets/i18n/cldr-data/main/ar/ca-coptic.json +539 -539
- package/assets/i18n/cldr-data/main/ar/ca-dangi.json +1254 -1254
- package/assets/i18n/cldr-data/main/ar/ca-ethiopic-amete-alem.json +536 -536
- package/assets/i18n/cldr-data/main/ar/ca-ethiopic.json +539 -539
- package/assets/i18n/cldr-data/main/ar/ca-generic.json +533 -533
- package/assets/i18n/cldr-data/main/ar/ca-gregorian.json +557 -557
- package/assets/i18n/cldr-data/main/ar/ca-hebrew.json +542 -542
- package/assets/i18n/cldr-data/main/ar/ca-indian.json +530 -530
- package/assets/i18n/cldr-data/main/ar/ca-islamic-civil.json +530 -530
- package/assets/i18n/cldr-data/main/ar/ca-islamic-rgsa.json +530 -530
- package/assets/i18n/cldr-data/main/ar/ca-islamic-tbla.json +530 -530
- package/assets/i18n/cldr-data/main/ar/ca-islamic-umalqura.json +530 -530
- package/assets/i18n/cldr-data/main/ar/ca-islamic.json +530 -530
- package/assets/i18n/cldr-data/main/ar/ca-japanese.json +1238 -1238
- package/assets/i18n/cldr-data/main/ar/ca-persian.json +530 -530
- package/assets/i18n/cldr-data/main/ar/ca-roc.json +533 -533
- package/assets/i18n/cldr-data/main/ar/characters.json +52 -52
- package/assets/i18n/cldr-data/main/ar/currencies.json +2306 -2306
- package/assets/i18n/cldr-data/main/ar/dateFields.json +1039 -1039
- package/assets/i18n/cldr-data/main/ar/delimiters.json +18 -18
- package/assets/i18n/cldr-data/main/ar/languages.json +556 -556
- package/assets/i18n/cldr-data/main/ar/layout.json +18 -18
- package/assets/i18n/cldr-data/main/ar/listPatterns.json +68 -68
- package/assets/i18n/cldr-data/main/ar/localeDisplayNames.json +230 -230
- package/assets/i18n/cldr-data/main/ar/measurementSystemNames.json +19 -19
- package/assets/i18n/cldr-data/main/ar/numbers.json +511 -511
- package/assets/i18n/cldr-data/main/ar/posix.json +18 -18
- package/assets/i18n/cldr-data/main/ar/scripts.json +202 -202
- package/assets/i18n/cldr-data/main/ar/territories.json +324 -324
- package/assets/i18n/cldr-data/main/ar/timeZoneNames.json +2268 -2268
- package/assets/i18n/cldr-data/main/ar/units.json +4587 -4587
- package/assets/i18n/cldr-data/main/ar/variants.json +119 -119
- package/assets/i18n/cldr-data/main/de/ca-buddhist.json +530 -530
- package/assets/i18n/cldr-data/main/de/ca-chinese.json +1254 -1254
- package/assets/i18n/cldr-data/main/de/ca-coptic.json +539 -539
- package/assets/i18n/cldr-data/main/de/ca-dangi.json +1254 -1254
- package/assets/i18n/cldr-data/main/de/ca-ethiopic-amete-alem.json +536 -536
- package/assets/i18n/cldr-data/main/de/ca-ethiopic.json +539 -539
- package/assets/i18n/cldr-data/main/de/ca-generic.json +533 -533
- package/assets/i18n/cldr-data/main/de/ca-gregorian.json +551 -551
- package/assets/i18n/cldr-data/main/de/ca-hebrew.json +542 -542
- package/assets/i18n/cldr-data/main/de/ca-indian.json +530 -530
- package/assets/i18n/cldr-data/main/de/ca-islamic-civil.json +530 -530
- package/assets/i18n/cldr-data/main/de/ca-islamic-rgsa.json +530 -530
- package/assets/i18n/cldr-data/main/de/ca-islamic-tbla.json +530 -530
- package/assets/i18n/cldr-data/main/de/ca-islamic-umalqura.json +530 -530
- package/assets/i18n/cldr-data/main/de/ca-islamic.json +530 -530
- package/assets/i18n/cldr-data/main/de/ca-japanese.json +1238 -1238
- package/assets/i18n/cldr-data/main/de/ca-persian.json +530 -530
- package/assets/i18n/cldr-data/main/de/ca-roc.json +533 -533
- package/assets/i18n/cldr-data/main/de/characters.json +52 -52
- package/assets/i18n/cldr-data/main/de/contextTransforms.json +18 -18
- package/assets/i18n/cldr-data/main/de/currencies.json +1932 -1932
- package/assets/i18n/cldr-data/main/de/dateFields.json +679 -679
- package/assets/i18n/cldr-data/main/de/delimiters.json +18 -18
- package/assets/i18n/cldr-data/main/de/languages.json +640 -640
- package/assets/i18n/cldr-data/main/de/layout.json +18 -18
- package/assets/i18n/cldr-data/main/de/listPatterns.json +68 -68
- package/assets/i18n/cldr-data/main/de/localeDisplayNames.json +230 -230
- package/assets/i18n/cldr-data/main/de/measurementSystemNames.json +19 -19
- package/assets/i18n/cldr-data/main/de/numbers.json +155 -155
- package/assets/i18n/cldr-data/main/de/posix.json +18 -18
- package/assets/i18n/cldr-data/main/de/scripts.json +209 -209
- package/assets/i18n/cldr-data/main/de/territories.json +324 -324
- package/assets/i18n/cldr-data/main/de/timeZoneNames.json +2332 -2332
- package/assets/i18n/cldr-data/main/de/units.json +2546 -2546
- package/assets/i18n/cldr-data/main/de/variants.json +119 -119
- package/assets/i18n/cldr-data/main/ru/ca-buddhist.json +524 -524
- package/assets/i18n/cldr-data/main/ru/ca-chinese.json +1248 -1248
- package/assets/i18n/cldr-data/main/ru/ca-coptic.json +533 -533
- package/assets/i18n/cldr-data/main/ru/ca-dangi.json +1248 -1248
- package/assets/i18n/cldr-data/main/ru/ca-ethiopic-amete-alem.json +530 -530
- package/assets/i18n/cldr-data/main/ru/ca-ethiopic.json +533 -533
- package/assets/i18n/cldr-data/main/ru/ca-generic.json +527 -527
- package/assets/i18n/cldr-data/main/ru/ca-gregorian.json +546 -546
- package/assets/i18n/cldr-data/main/ru/ca-hebrew.json +536 -536
- package/assets/i18n/cldr-data/main/ru/ca-indian.json +524 -524
- package/assets/i18n/cldr-data/main/ru/ca-islamic-civil.json +524 -524
- package/assets/i18n/cldr-data/main/ru/ca-islamic-rgsa.json +524 -524
- package/assets/i18n/cldr-data/main/ru/ca-islamic-tbla.json +524 -524
- package/assets/i18n/cldr-data/main/ru/ca-islamic-umalqura.json +524 -524
- package/assets/i18n/cldr-data/main/ru/ca-islamic.json +524 -524
- package/assets/i18n/cldr-data/main/ru/ca-japanese.json +1232 -1232
- package/assets/i18n/cldr-data/main/ru/ca-persian.json +524 -524
- package/assets/i18n/cldr-data/main/ru/ca-roc.json +527 -527
- package/assets/i18n/cldr-data/main/ru/characters.json +52 -52
- package/assets/i18n/cldr-data/main/ru/contextTransforms.json +62 -62
- package/assets/i18n/cldr-data/main/ru/currencies.json +2001 -2001
- package/assets/i18n/cldr-data/main/ru/dateFields.json +859 -859
- package/assets/i18n/cldr-data/main/ru/delimiters.json +18 -18
- package/assets/i18n/cldr-data/main/ru/languages.json +557 -557
- package/assets/i18n/cldr-data/main/ru/layout.json +18 -18
- package/assets/i18n/cldr-data/main/ru/listPatterns.json +68 -68
- package/assets/i18n/cldr-data/main/ru/localeDisplayNames.json +230 -230
- package/assets/i18n/cldr-data/main/ru/measurementSystemNames.json +19 -19
- package/assets/i18n/cldr-data/main/ru/numbers.json +231 -231
- package/assets/i18n/cldr-data/main/ru/posix.json +18 -18
- package/assets/i18n/cldr-data/main/ru/scripts.json +209 -209
- package/assets/i18n/cldr-data/main/ru/territories.json +324 -324
- package/assets/i18n/cldr-data/main/ru/timeZoneNames.json +2317 -2317
- package/assets/i18n/cldr-data/main/ru/units.json +3647 -3647
- package/assets/i18n/cldr-data/main/ru/variants.json +119 -119
- package/esm2020/lib/compose/attachments/preview/attachment-preview.component.mjs +6 -6
- package/esm2020/lib/compose/trace/flow.component.mjs +10 -13
- package/esm2020/lib/compose/version-compare/version.pane.component.mjs +2 -2
- package/esm2020/lib/core/controls/file.input.mjs +3 -3
- package/esm2020/lib/core/http.interceptor.mjs +3 -3
- package/esm2020/lib/core/info/attachment-info.service.mjs +1 -1
- package/esm2020/lib/core/mailbox.service.mjs +3 -3
- package/esm2020/lib/core/translate.service.mjs +24 -7
- package/esm2020/lib/core/translations.mjs +8 -4
- package/esm2020/lib/cube/accum/accum.component.mjs +3 -3
- package/esm2020/lib/cube/chart/chart.component.mjs +3 -3
- package/esm2020/lib/cube/cube.service.mjs +12 -1
- package/esm2020/lib/cube/grid/grid.component.mjs +3 -2
- package/esm2020/lib/cube/grid/spreadsheet.component.mjs +10 -7
- package/esm2020/lib/cube/matrix/table.component.mjs +3 -2
- package/esm2020/lib/cube/parallel/parallel.component.mjs +3 -3
- package/esm2020/lib/cube/pivot/pivot.component.mjs +3 -3
- package/esm2020/lib/cube/sum/sum.component.mjs +21 -21
- package/esm2020/lib/shared.module.mjs +3 -1
- package/esm2020/lib/views/cube/matrix.component.mjs +1 -1
- package/fesm2015/bizdoc-core.mjs +89 -58
- package/fesm2015/bizdoc-core.mjs.map +1 -1
- package/fesm2020/bizdoc-core.mjs +89 -58
- package/fesm2020/bizdoc-core.mjs.map +1 -1
- package/lib/core/controls/address.input.d.ts +1 -1
- package/lib/core/mailbox.service.d.ts +1 -1
- package/lib/core/translations.d.ts +4 -0
- package/lib/cube/cube.service.d.ts +2 -1
- package/lib/cube/grid/spreadsheet.component.d.ts +0 -1
- package/lib/cube/sum/sum.component.d.ts +4 -1
- package/package.json +13 -13
package/fesm2015/bizdoc-core.mjs
CHANGED
@@ -146,6 +146,7 @@ import player from 'lottie-web/build/player/lottie';
|
|
146
146
|
import relativeTime from 'dayjs/plugin/relativeTime';
|
147
147
|
import duration from 'dayjs/plugin/duration';
|
148
148
|
import calendar from 'dayjs/plugin/calendar';
|
149
|
+
import updateLocale from 'dayjs/plugin/updateLocale';
|
149
150
|
|
150
151
|
const expandListItemAnimation = trigger('detailExpand', [
|
151
152
|
state('collapsed', style({ height: '0px', minHeight: '0', display: '' })),
|
@@ -1261,9 +1262,9 @@ class MailboxService {
|
|
1261
1262
|
folder.count++;
|
1262
1263
|
});
|
1263
1264
|
}
|
1264
|
-
formatDownloadUrl(documentId, fileId) {
|
1265
|
+
formatDownloadUrl(documentId, fileId, inline) {
|
1265
1266
|
const token = this._auth.getAccessToken();
|
1266
|
-
return `/api/attachments/${documentId}/${fileId}?access_token=${token}`;
|
1267
|
+
return `/api/attachments/${documentId}/${fileId}?access_token=${token}&inline=${inline ? true : false}`;
|
1267
1268
|
}
|
1268
1269
|
download(documentId, fileId) {
|
1269
1270
|
//new Observable<any>(observe => {
|
@@ -1940,6 +1941,8 @@ const STRINGS = {
|
|
1940
1941
|
'ar': {},
|
1941
1942
|
'ru': {},
|
1942
1943
|
'en': {
|
1944
|
+
TodayAt: 'Today at',
|
1945
|
+
Tomorrow: 'Tomorrow',
|
1943
1946
|
Editing: '{0} editing...',
|
1944
1947
|
CheckOut: 'Check out',
|
1945
1948
|
CheckIn: 'Check in',
|
@@ -2123,8 +2126,8 @@ const STRINGS = {
|
|
2123
2126
|
ChangeLanguage: 'Language',
|
2124
2127
|
NewMail: 'New {0} #{1} {2}',
|
2125
2128
|
OpenNew: 'Open',
|
2126
|
-
SendErr: '
|
2127
|
-
SubmitErr: '
|
2129
|
+
SendErr: 'Something went wrong -:(',
|
2130
|
+
SubmitErr: 'Something went wrong -:(',
|
2128
2131
|
SaveErr: 'Unable to save. Please make sure you filled the form correctly.',
|
2129
2132
|
VersionBy: 'By:',
|
2130
2133
|
VersionDate: 'Date:',
|
@@ -2263,7 +2266,7 @@ const STRINGS = {
|
|
2263
2266
|
Mute: 'Mute',
|
2264
2267
|
Unmute: 'Unmute',
|
2265
2268
|
NoNotifications: 'No notifications',
|
2266
|
-
Err: '
|
2269
|
+
Err: 'Something went wrong -:(',
|
2267
2270
|
SendSelected: 'Send {0} item(s)',
|
2268
2271
|
SaveChanges: 'Save changes',
|
2269
2272
|
SaveChangesAsk: 'Are you sure you want to exit without saving?',
|
@@ -2400,6 +2403,8 @@ const STRINGS = {
|
|
2400
2403
|
Working: 'Working on it...'
|
2401
2404
|
},
|
2402
2405
|
'he': {
|
2406
|
+
TodayAt: 'היום ב-',
|
2407
|
+
Tomorrow: 'מחר',
|
2403
2408
|
Editing: '{0} עורך/ת...',
|
2404
2409
|
EditingMale: '{0} עורך...',
|
2405
2410
|
EditingFemale: '{0} עורכת...',
|
@@ -2976,19 +2981,36 @@ class TranslateService {
|
|
2976
2981
|
this._session = _session;
|
2977
2982
|
this._http = _http;
|
2978
2983
|
TranslateService.resource = STRINGS['en'];
|
2984
|
+
const culture = _session.language.split('-')[0];
|
2979
2985
|
if ('en' !== _session.language) {
|
2980
2986
|
Object.assign(TranslateService.resource, STRINGS[_session.language]);
|
2981
|
-
const culture = _session.language.split('-')[0];
|
2982
2987
|
dayjs.locale(culture);
|
2983
2988
|
// syncfusion
|
2984
2989
|
L10n.load(L18N_STRINGS);
|
2985
2990
|
setCulture(culture);
|
2986
|
-
|
2987
|
-
|
2988
|
-
|
2989
|
-
|
2991
|
+
switch (culture) {
|
2992
|
+
case 'he':
|
2993
|
+
registerLocaleData(localeHe, 'he');
|
2994
|
+
break;
|
2995
|
+
case 'ru':
|
2996
|
+
registerLocaleData(localeRu, 'ru');
|
2997
|
+
break;
|
2998
|
+
case 'ar':
|
2999
|
+
registerLocaleData(localeAr, 'ar');
|
3000
|
+
break;
|
3001
|
+
case 'de':
|
3002
|
+
registerLocaleData(localeDe, 'de');
|
3003
|
+
break;
|
3004
|
+
}
|
2990
3005
|
}
|
2991
|
-
|
3006
|
+
dayjs.updateLocale(culture, {
|
3007
|
+
//sameDay: `[${this.get('TodayAt')}] h:mm A`,
|
3008
|
+
//nextDay: `[${this.get('Tomorrow')}] h:mm A`,
|
3009
|
+
//nextWeek: 'dddd',
|
3010
|
+
//lastDay: `[${this.get('Yesterday')}] h:mm A`,
|
3011
|
+
//lastWeek: '[Last] dddd LT',
|
3012
|
+
sameElse: 'LLL'
|
3013
|
+
});
|
2992
3014
|
_session.loaded.subscribe(() => this._gender = this._session.gender);
|
2993
3015
|
}
|
2994
3016
|
static set(resources) {
|
@@ -4706,7 +4728,7 @@ class AttachmentPreview {
|
|
4706
4728
|
this._afterClosed = new Subject();
|
4707
4729
|
this.dir = _directionality.value;
|
4708
4730
|
this.isImage = isImage(this.data.file.contentType);
|
4709
|
-
this.objectData = sanitizer.bypassSecurityTrustResourceUrl(this._url());
|
4731
|
+
this.objectData = sanitizer.bypassSecurityTrustResourceUrl(this._url(true));
|
4710
4732
|
this.beforeClose().subscribe(() => this.slideDown = 'leave');
|
4711
4733
|
}
|
4712
4734
|
resize() {
|
@@ -4724,8 +4746,8 @@ class AttachmentPreview {
|
|
4724
4746
|
download() {
|
4725
4747
|
location.assign(this._url());
|
4726
4748
|
}
|
4727
|
-
_url() {
|
4728
|
-
return this._service.formatDownloadUrl(this.data.documentId, this.data.file.id);
|
4749
|
+
_url(inline) {
|
4750
|
+
return this._service.formatDownloadUrl(this.data.documentId, this.data.file.id, inline);
|
4729
4751
|
}
|
4730
4752
|
rotate() {
|
4731
4753
|
const elem = (this.isImage ? this.img : this.obj).nativeElement;
|
@@ -4768,7 +4790,7 @@ class AttachmentPreview {
|
|
4768
4790
|
}
|
4769
4791
|
}
|
4770
4792
|
AttachmentPreview.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: AttachmentPreview, deps: [{ token: i7$2.Directionality }, { token: i0.Renderer2 }, { token: FILE_PREVIEW_DIALOG_DATA }, { token: i1$5.DomSanitizer }, { token: MailboxService }, { token: i1$4.OverlayRef }], target: i0.ɵɵFactoryTarget.Component });
|
4771
|
-
AttachmentPreview.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", 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
|
4793
|
+
AttachmentPreview.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", 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 width=\"250\"\r\n height=\"200\">\r\n </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: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i8$1.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ type: i7$2.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6$1.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: [
|
4772
4794
|
trigger('fade', [
|
4773
4795
|
state('fadeOut', style({ opacity: 0 })),
|
4774
4796
|
state('fadeIn', style({ opacity: 1 })),
|
@@ -4807,7 +4829,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
|
|
4807
4829
|
state('leave', style({ transform: 'translate3d(0, 25%, 0)', opacity: 0 })),
|
4808
4830
|
transition('* => *', animate(ANIMATION_TIMINGS)),
|
4809
4831
|
])
|
4810
|
-
], template: "<div class=\"overlay-content\" [@slideContent]=\"animationState\" (@slideContent.start)=\"onAnimationStart($event)\"\r\n
|
4832
|
+
], 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 width=\"250\"\r\n height=\"200\">\r\n </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"] }]
|
4811
4833
|
}], ctorParameters: function () {
|
4812
4834
|
return [{ type: i7$2.Directionality }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
|
4813
4835
|
type: Inject,
|
@@ -5387,10 +5409,10 @@ class FileInput {
|
|
5387
5409
|
}
|
5388
5410
|
FileInput.nextId = 0;
|
5389
5411
|
FileInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: FileInput, deps: [{ token: i0.ElementRef }, { token: MailboxService }, { token: i1$5.DomSanitizer }, { token: AttachmentInfo }, { token: TranslateService }, { token: SessionService }, { token: PromptService }, { token: i1$2.NgControl, optional: true, self: true }, { token: DOCUMENT_MODEL }], target: i0.ɵɵFactoryTarget.Component });
|
5390
|
-
FileInput.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: FileInput, selector: "bizdoc-file-upload", inputs: { multiple: "multiple", accept: "accept", icon: "icon", value: "value", placeholder: "placeholder", required: "required", disabled: "disabled" }, host: { listeners: { "document:drop": "handleDocumentDrop($event)", "drop": "handleDrop($event)", "dragenter": "handleEnter($event)", "dragleave": "handleLeave($event)", "dragover": "handleOver($event)" }, properties: { "id": "this.id", "attr.aria-describedby": "this.describedBy" }, classAttribute: "file-dropable" }, viewQueries: [{ propertyName: "_input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<button mat-button *ngIf=\"!items; else preview\" (click)=\"prompt()\">\r\n <mat-icon class=\"filled\">{{icon}}</mat-icon>\r\n <span class=\"mat-h3\">{{placeholder}}</span>\r\n</button>\r\n<input type=\"file\" #input\r\n [accept]=accept [multiple]=multiple (change)='_change($event)' style=\"display: none\" />\r\n<ng-template #preview>\r\n <div *ngFor='let a of items' class=\"attachment-item\"\r\n [class.deleted]=\"a.deleted\" [class.failed]=\"a.failed\"\r\n [progressIndicator]=\"a.progress\">\r\n <img *ngIf=\"a.isImage\" [src]=\"a.url\" (click)=\"openPreview(a)\" height=\"80\" class=\"file-preview\">\r\n <div *ngIf=\"a.hasPreview && !a.isImage\" fxLayout=\"column\" class=\"file-preview\">\r\n <button mat-icon-button (click)=\"openPreview(a)\" [bizdocTooltip]=\"'Preview'|translate\"><mat-icon class=\"mat-icon-rtl-mirror\">find_in_page</mat-icon></button>\r\n <span>.{{a.fileExt}}</span>\r\n </div>\r\n <mat-icon *ngIf=\"a.icon\" [svgIcon]=\"a.icon\" [inline]=\"true\"></mat-icon>\r\n <div class=\"file-overlay row\">\r\n <span class=\"filename\">{{a.fileName}}</span>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button class=\"options\" [matMenuTriggerFor]=\"menu\" [bizdocTooltip]=\"'Options' | translate\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n </div>\r\n <mat-menu #menu>\r\n <ng-container *ngIf=\"!a.failed\">\r\n <ng-container *ngIf=\"canEdit(a) && !a.failed\">\r\n <ng-container *ngIf=\"!a.checkedOut\">\r\n <button mat-menu-item (click)=\"checkOut(a)\">{{\"CheckOut\" | translate}}</button>\r\n <button mat-menu-item (click)=\"prompt()\">{{\"Add\" | translate}}</button>\r\n </ng-container>\r\n <button mat-menu-item (click)=\"checkIn(a)\" *ngIf=\"a.checkedOut\">{{\"CheckIn\" | translate}}</button>\r\n </ng-container>\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"download(a)\">{{\"Download\" | translate}}</button>\r\n <button mat-menu-item *ngIf=\"canPreview(a)\" (click)=\"openPreview(a)\"><mat-icon>landscape</mat-icon> {{\"Preview\" | translate}}</button>\r\n <ng-container *ngIf=\"hasVersion(a)\">\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item *ngFor=\"let v of getVersions(a)\" (click)=\"previewOrDownload(v)\">{{v.time | amCalendar}}</button>\r\n </ng-container>\r\n <ng-container *ngIf=\"canEdit(a)\">\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"discard(a)\">{{\"Discard\" | translate}}</button>\r\n </ng-container>\r\n </ng-container>\r\n <button mat-menu-item (click)=\"cancel(a)\" *ngIf=\"a.failed\">{{\"Cancel\" | translate}}</button>\r\n </mat-menu>\r\n </div>\r\n</ng-template>\r\n", styles: [":host{display:flex}.attachment-item{height:80px;position:relative}.attachment-item img{cursor:zoom-in}.attachment-item .file-preview{position:absolute}.attachment-item .file-overlay{position:relative;height:inherit}.attachment-item .file-overlay .filename{font-size:x-small;cursor:pointer;background:rgba(255,255,255,.4);align-self:flex-end}.attachment-item .file-overlay:hover .filename{background:white;opacity:.5}\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: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i9.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i9.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i12$2.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }], directives: [{ type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: ProgressDirective, selector: "[progressIndicator]", inputs: ["progressIndicator"] }, { type: i6$1.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"] }, { type: i9.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }], pipes: { "translate": TranslatePipe, "amCalendar": CalendarPipe } });
|
5412
|
+
FileInput.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: FileInput, selector: "bizdoc-file-upload", inputs: { multiple: "multiple", accept: "accept", icon: "icon", value: "value", placeholder: "placeholder", required: "required", disabled: "disabled" }, host: { listeners: { "document:drop": "handleDocumentDrop($event)", "drop": "handleDrop($event)", "dragenter": "handleEnter($event)", "dragleave": "handleLeave($event)", "dragover": "handleOver($event)" }, properties: { "id": "this.id", "attr.aria-describedby": "this.describedBy" }, classAttribute: "file-dropable" }, viewQueries: [{ propertyName: "_input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<button mat-button *ngIf=\"!items; else preview\" (click)=\"prompt()\">\r\n <mat-icon class=\"filled\">{{icon}}</mat-icon>\r\n <span class=\"mat-h3\">{{placeholder}}</span>\r\n</button>\r\n<input type=\"file\" #input\r\n [accept]=accept [multiple]=multiple (change)='_change($event)' style=\"display: none\" />\r\n<ng-template #preview>\r\n <div *ngFor='let a of items' class=\"attachment-item\"\r\n [class.deleted]=\"a.deleted\" [class.failed]=\"a.failed\"\r\n [progressIndicator]=\"a.progress\">\r\n <img *ngIf=\"a.isImage\" [src]=\"a.url\" (click)=\"openPreview(a)\" height=\"80\" class=\"file-preview\">\r\n <div *ngIf=\"a.hasPreview && !a.isImage\" fxLayout=\"column\" class=\"file-preview\">\r\n <button mat-icon-button (click)=\"openPreview(a)\" [bizdocTooltip]=\"'Preview'|translate\"><mat-icon class=\"mat-icon-rtl-mirror\">find_in_page</mat-icon></button>\r\n <span>.{{a.fileExt}}</span>\r\n </div>\r\n <mat-icon *ngIf=\"a.icon\" [svgIcon]=\"a.icon\" [inline]=\"true\"></mat-icon>\r\n <div class=\"file-overlay row\">\r\n <span class=\"filename\">{{a.fileName}}</span>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button class=\"options\" [matMenuTriggerFor]=\"menu\" [bizdocTooltip]=\"'Options' | translate\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n </div>\r\n <mat-menu #menu>\r\n <ng-container *ngIf=\"!a.failed\">\r\n <ng-container *ngIf=\"canEdit(a) && !a.failed\">\r\n <ng-container *ngIf=\"!a.checkedOut\">\r\n <button mat-menu-item (click)=\"checkOut(a)\">{{\"CheckOut\" | translate}}</button>\r\n <button mat-menu-item (click)=\"prompt()\" *ngIf=\"multiple\">{{\"Add\" | translate}}</button>\r\n </ng-container>\r\n <button mat-menu-item (click)=\"checkIn(a)\" *ngIf=\"a.checkedOut\">{{\"CheckIn\" | translate}}</button>\r\n </ng-container>\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"download(a)\">{{\"Download\" | translate}}</button>\r\n <button mat-menu-item *ngIf=\"canPreview(a)\" (click)=\"openPreview(a)\"><mat-icon>landscape</mat-icon> {{\"Preview\" | translate}}</button>\r\n <ng-container *ngIf=\"hasVersion(a)\">\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item *ngFor=\"let v of getVersions(a)\" (click)=\"previewOrDownload(v)\">{{v.time | amCalendar}}</button>\r\n </ng-container>\r\n <ng-container *ngIf=\"canEdit(a)\">\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"discard(a)\">{{\"Discard\" | translate}}</button>\r\n </ng-container>\r\n </ng-container>\r\n <button mat-menu-item (click)=\"cancel(a)\" *ngIf=\"a.failed\">{{\"Cancel\" | translate}}</button>\r\n </mat-menu>\r\n </div>\r\n</ng-template>\r\n", styles: [":host{display:flex}.attachment-item{height:80px;position:relative}.attachment-item img{cursor:zoom-in}.attachment-item .file-preview{position:absolute}.attachment-item .file-overlay{position:relative;height:inherit}.attachment-item .file-overlay .filename{font-size:x-small;cursor:pointer;background:rgba(255,255,255,.4);align-self:flex-end}.attachment-item .file-overlay:hover .filename{background:white;opacity:.5}\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: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i9.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i9.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i12$2.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }], directives: [{ type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: ProgressDirective, selector: "[progressIndicator]", inputs: ["progressIndicator"] }, { type: i6$1.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"] }, { type: i9.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }], pipes: { "translate": TranslatePipe, "amCalendar": CalendarPipe } });
|
5391
5413
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: FileInput, decorators: [{
|
5392
5414
|
type: Component,
|
5393
|
-
args: [{ host: { class: 'file-dropable' }, selector: 'bizdoc-file-upload', template: "<button mat-button *ngIf=\"!items; else preview\" (click)=\"prompt()\">\r\n <mat-icon class=\"filled\">{{icon}}</mat-icon>\r\n <span class=\"mat-h3\">{{placeholder}}</span>\r\n</button>\r\n<input type=\"file\" #input\r\n [accept]=accept [multiple]=multiple (change)='_change($event)' style=\"display: none\" />\r\n<ng-template #preview>\r\n <div *ngFor='let a of items' class=\"attachment-item\"\r\n [class.deleted]=\"a.deleted\" [class.failed]=\"a.failed\"\r\n [progressIndicator]=\"a.progress\">\r\n <img *ngIf=\"a.isImage\" [src]=\"a.url\" (click)=\"openPreview(a)\" height=\"80\" class=\"file-preview\">\r\n <div *ngIf=\"a.hasPreview && !a.isImage\" fxLayout=\"column\" class=\"file-preview\">\r\n <button mat-icon-button (click)=\"openPreview(a)\" [bizdocTooltip]=\"'Preview'|translate\"><mat-icon class=\"mat-icon-rtl-mirror\">find_in_page</mat-icon></button>\r\n <span>.{{a.fileExt}}</span>\r\n </div>\r\n <mat-icon *ngIf=\"a.icon\" [svgIcon]=\"a.icon\" [inline]=\"true\"></mat-icon>\r\n <div class=\"file-overlay row\">\r\n <span class=\"filename\">{{a.fileName}}</span>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button class=\"options\" [matMenuTriggerFor]=\"menu\" [bizdocTooltip]=\"'Options' | translate\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n </div>\r\n <mat-menu #menu>\r\n <ng-container *ngIf=\"!a.failed\">\r\n <ng-container *ngIf=\"canEdit(a) && !a.failed\">\r\n <ng-container *ngIf=\"!a.checkedOut\">\r\n <button mat-menu-item (click)=\"checkOut(a)\">{{\"CheckOut\" | translate}}</button>\r\n <button mat-menu-item (click)=\"prompt()\">{{\"Add\" | translate}}</button>\r\n </ng-container>\r\n <button mat-menu-item (click)=\"checkIn(a)\" *ngIf=\"a.checkedOut\">{{\"CheckIn\" | translate}}</button>\r\n </ng-container>\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"download(a)\">{{\"Download\" | translate}}</button>\r\n <button mat-menu-item *ngIf=\"canPreview(a)\" (click)=\"openPreview(a)\"><mat-icon>landscape</mat-icon> {{\"Preview\" | translate}}</button>\r\n <ng-container *ngIf=\"hasVersion(a)\">\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item *ngFor=\"let v of getVersions(a)\" (click)=\"previewOrDownload(v)\">{{v.time | amCalendar}}</button>\r\n </ng-container>\r\n <ng-container *ngIf=\"canEdit(a)\">\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"discard(a)\">{{\"Discard\" | translate}}</button>\r\n </ng-container>\r\n </ng-container>\r\n <button mat-menu-item (click)=\"cancel(a)\" *ngIf=\"a.failed\">{{\"Cancel\" | translate}}</button>\r\n </mat-menu>\r\n </div>\r\n</ng-template>\r\n", styles: [":host{display:flex}.attachment-item{height:80px;position:relative}.attachment-item img{cursor:zoom-in}.attachment-item .file-preview{position:absolute}.attachment-item .file-overlay{position:relative;height:inherit}.attachment-item .file-overlay .filename{font-size:x-small;cursor:pointer;background:rgba(255,255,255,.4);align-self:flex-end}.attachment-item .file-overlay:hover .filename{background:white;opacity:.5}\n"] }]
|
5415
|
+
args: [{ host: { class: 'file-dropable' }, selector: 'bizdoc-file-upload', template: "<button mat-button *ngIf=\"!items; else preview\" (click)=\"prompt()\">\r\n <mat-icon class=\"filled\">{{icon}}</mat-icon>\r\n <span class=\"mat-h3\">{{placeholder}}</span>\r\n</button>\r\n<input type=\"file\" #input\r\n [accept]=accept [multiple]=multiple (change)='_change($event)' style=\"display: none\" />\r\n<ng-template #preview>\r\n <div *ngFor='let a of items' class=\"attachment-item\"\r\n [class.deleted]=\"a.deleted\" [class.failed]=\"a.failed\"\r\n [progressIndicator]=\"a.progress\">\r\n <img *ngIf=\"a.isImage\" [src]=\"a.url\" (click)=\"openPreview(a)\" height=\"80\" class=\"file-preview\">\r\n <div *ngIf=\"a.hasPreview && !a.isImage\" fxLayout=\"column\" class=\"file-preview\">\r\n <button mat-icon-button (click)=\"openPreview(a)\" [bizdocTooltip]=\"'Preview'|translate\"><mat-icon class=\"mat-icon-rtl-mirror\">find_in_page</mat-icon></button>\r\n <span>.{{a.fileExt}}</span>\r\n </div>\r\n <mat-icon *ngIf=\"a.icon\" [svgIcon]=\"a.icon\" [inline]=\"true\"></mat-icon>\r\n <div class=\"file-overlay row\">\r\n <span class=\"filename\">{{a.fileName}}</span>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button class=\"options\" [matMenuTriggerFor]=\"menu\" [bizdocTooltip]=\"'Options' | translate\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n </div>\r\n <mat-menu #menu>\r\n <ng-container *ngIf=\"!a.failed\">\r\n <ng-container *ngIf=\"canEdit(a) && !a.failed\">\r\n <ng-container *ngIf=\"!a.checkedOut\">\r\n <button mat-menu-item (click)=\"checkOut(a)\">{{\"CheckOut\" | translate}}</button>\r\n <button mat-menu-item (click)=\"prompt()\" *ngIf=\"multiple\">{{\"Add\" | translate}}</button>\r\n </ng-container>\r\n <button mat-menu-item (click)=\"checkIn(a)\" *ngIf=\"a.checkedOut\">{{\"CheckIn\" | translate}}</button>\r\n </ng-container>\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"download(a)\">{{\"Download\" | translate}}</button>\r\n <button mat-menu-item *ngIf=\"canPreview(a)\" (click)=\"openPreview(a)\"><mat-icon>landscape</mat-icon> {{\"Preview\" | translate}}</button>\r\n <ng-container *ngIf=\"hasVersion(a)\">\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item *ngFor=\"let v of getVersions(a)\" (click)=\"previewOrDownload(v)\">{{v.time | amCalendar}}</button>\r\n </ng-container>\r\n <ng-container *ngIf=\"canEdit(a)\">\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"discard(a)\">{{\"Discard\" | translate}}</button>\r\n </ng-container>\r\n </ng-container>\r\n <button mat-menu-item (click)=\"cancel(a)\" *ngIf=\"a.failed\">{{\"Cancel\" | translate}}</button>\r\n </mat-menu>\r\n </div>\r\n</ng-template>\r\n", styles: [":host{display:flex}.attachment-item{height:80px;position:relative}.attachment-item img{cursor:zoom-in}.attachment-item .file-preview{position:absolute}.attachment-item .file-overlay{position:relative;height:inherit}.attachment-item .file-overlay .filename{font-size:x-small;cursor:pointer;background:rgba(255,255,255,.4);align-self:flex-end}.attachment-item .file-overlay:hover .filename{background:white;opacity:.5}\n"] }]
|
5394
5416
|
}], ctorParameters: function () {
|
5395
5417
|
return [{ type: i0.ElementRef }, { type: MailboxService }, { type: i1$5.DomSanitizer }, { type: AttachmentInfo }, { type: TranslateService }, { type: SessionService }, { type: PromptService }, { type: i1$2.NgControl, decorators: [{
|
5396
5418
|
type: Optional
|
@@ -6625,6 +6647,17 @@ function modelize() {
|
|
6625
6647
|
});
|
6626
6648
|
return data;
|
6627
6649
|
}));
|
6650
|
+
}
|
6651
|
+
function errResource(error) {
|
6652
|
+
switch (error.status) {
|
6653
|
+
case 401:
|
6654
|
+
return 'Unauthorized';
|
6655
|
+
case 426:
|
6656
|
+
return 'LicenseErr';
|
6657
|
+
case 406:
|
6658
|
+
return 'Unauthorized';
|
6659
|
+
}
|
6660
|
+
return null;
|
6628
6661
|
}
|
6629
6662
|
|
6630
6663
|
class ArraySortPipe {
|
@@ -9528,7 +9561,7 @@ class CubeAccumulationChartComponent {
|
|
9528
9561
|
this._draw();
|
9529
9562
|
this.loadingChange.emit(false);
|
9530
9563
|
}, (e) => {
|
9531
|
-
this._sb.error(e
|
9564
|
+
this._sb.error(errResource(e));
|
9532
9565
|
this.loadingChange.emit(false);
|
9533
9566
|
});
|
9534
9567
|
}
|
@@ -9782,7 +9815,7 @@ class CubeChartComponent {
|
|
9782
9815
|
this._draw();
|
9783
9816
|
this.loadingChange.emit(false);
|
9784
9817
|
}, (e) => {
|
9785
|
-
this._sb.error(e
|
9818
|
+
this._sb.error(errResource(e));
|
9786
9819
|
this.loadingChange.emit(false);
|
9787
9820
|
});
|
9788
9821
|
}
|
@@ -10073,7 +10106,7 @@ class CubeGridComponent {
|
|
10073
10106
|
this.loadingChange.emit(false);
|
10074
10107
|
});
|
10075
10108
|
}, (e) => {
|
10076
|
-
this._sb.error(e
|
10109
|
+
this._sb.error(errResource(e));
|
10077
10110
|
this.loadingChange.emit(false);
|
10078
10111
|
});
|
10079
10112
|
}
|
@@ -10379,7 +10412,7 @@ class CubePivotComponent {
|
|
10379
10412
|
this._draw();
|
10380
10413
|
this.loadingChange.emit(false);
|
10381
10414
|
}, (e) => {
|
10382
|
-
this._sb.error(e
|
10415
|
+
this._sb.error(errResource(e));
|
10383
10416
|
this.loadingChange.emit(false);
|
10384
10417
|
});
|
10385
10418
|
}
|
@@ -10760,18 +10793,20 @@ class CubeSpreadsheetComponent {
|
|
10760
10793
|
this._draw();
|
10761
10794
|
this.loadingChange.emit(false);
|
10762
10795
|
});
|
10763
|
-
}, e =>
|
10796
|
+
}, e => {
|
10797
|
+
this._sb.error(errResource(e));
|
10798
|
+
this.loadingChange.emit(false);
|
10799
|
+
});
|
10764
10800
|
else
|
10765
10801
|
this._service.table(this._cube.name, this._xAxis, { filters: this.filters, indices: this._indices }).
|
10766
10802
|
subscribe(data => {
|
10767
10803
|
this._datatable(data);
|
10768
10804
|
this._draw();
|
10769
10805
|
this.loadingChange.emit(false);
|
10770
|
-
}, e =>
|
10771
|
-
|
10772
|
-
|
10773
|
-
|
10774
|
-
this.loadingChange.emit(false);
|
10806
|
+
}, e => {
|
10807
|
+
this._sb.error(errResource(e));
|
10808
|
+
this.loadingChange.emit(false);
|
10809
|
+
});
|
10775
10810
|
}
|
10776
10811
|
_datatable(data) {
|
10777
10812
|
var _a;
|
@@ -14139,20 +14174,17 @@ class FlowViewComponent extends TraceBase {
|
|
14139
14174
|
}
|
14140
14175
|
for (let connector of dconnectors) {
|
14141
14176
|
let sources = nodes.filter(n => n.addInfo.node.id === connector.sourceId), targets = nodes.filter(n => n.addInfo.node.id === connector.targetId);
|
14142
|
-
for (let source of sources)
|
14177
|
+
for (let source of sources)
|
14143
14178
|
for (let target of targets) {
|
14144
|
-
|
14145
|
-
|
14146
|
-
|
14147
|
-
|
14148
|
-
|
14149
|
-
|
14150
|
-
|
14151
|
-
|
14152
|
-
}
|
14153
|
-
});
|
14179
|
+
connectors.push({
|
14180
|
+
sourceID: source.id,
|
14181
|
+
targetID: target.id,
|
14182
|
+
addInfo: {
|
14183
|
+
estimate: connector.estimate,
|
14184
|
+
time: connector.time
|
14185
|
+
}
|
14186
|
+
});
|
14154
14187
|
}
|
14155
|
-
}
|
14156
14188
|
}
|
14157
14189
|
return { connectors, nodes, indicators };
|
14158
14190
|
});
|
@@ -14901,7 +14933,7 @@ class VersionPaneComponent {
|
|
14901
14933
|
lastDay: `[${this._translate.get('Yesterday')}] HH:mm`,
|
14902
14934
|
lastWeek: 'dddd HH:mm',
|
14903
14935
|
sameDay: `[${this._translate.get('Today')}] HH:mm`,
|
14904
|
-
sameElse: 'MMM
|
14936
|
+
sameElse: 'MMM D HH:mm'
|
14905
14937
|
};
|
14906
14938
|
_pane.title = _translate.get('Version');
|
14907
14939
|
}
|
@@ -15422,7 +15454,7 @@ class CubeMatrixComponent {
|
|
15422
15454
|
clearTimeout(progressTask);
|
15423
15455
|
this.loadingChange.next(this.loading = false);
|
15424
15456
|
}, (e) => {
|
15425
|
-
this._sb.error(e
|
15457
|
+
this._sb.error(errResource(e));
|
15426
15458
|
clearTimeout(progressTask);
|
15427
15459
|
this.loadingChange.next(this.loading = false);
|
15428
15460
|
this.loadingChange.error(e);
|
@@ -17823,10 +17855,10 @@ class AppHttpInterceptor {
|
|
17823
17855
|
if (this._authenticating)
|
17824
17856
|
return this._authenticating;
|
17825
17857
|
else if (e.status === 401) {
|
17826
|
-
this._session.ok && this._router.navigate(['broken']);
|
17858
|
+
//this._session.ok && this._router.navigate(['broken']);
|
17827
17859
|
this._authenticating = this._auth.authorize().pipe(switchMap$1(() => {
|
17828
17860
|
this._authenticating = null;
|
17829
|
-
this._session.ok && history.back();
|
17861
|
+
//this._session.ok && history.back();
|
17830
17862
|
return forward();
|
17831
17863
|
}));
|
17832
17864
|
return this._authenticating;
|
@@ -25899,9 +25931,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
|
|
25899
25931
|
}], ctorParameters: function () { return [{ type: SessionService }, { type: DocumentViewRef }, { type: CubeService }, { type: RouterImpl }]; } });
|
25900
25932
|
|
25901
25933
|
class CubeSumComponent {
|
25902
|
-
constructor(_ds, _service, _session) {
|
25934
|
+
constructor(_ds, _service, _sb, _session) {
|
25903
25935
|
this._ds = _ds;
|
25904
25936
|
this._service = _service;
|
25937
|
+
this._sb = _sb;
|
25905
25938
|
this._session = _session;
|
25906
25939
|
this.onExplore = new EventEmitter();
|
25907
25940
|
this.back = true;
|
@@ -25942,13 +25975,7 @@ class CubeSumComponent {
|
|
25942
25975
|
indices: this.indices,
|
25943
25976
|
scope: this.scope,
|
25944
25977
|
filters
|
25945
|
-
}).toPromise();
|
25946
|
-
function fill(serie, point) {
|
25947
|
-
if (serie.index)
|
25948
|
-
this.current.indices.push({ name: serie.index, title: serie.title, value: point.y });
|
25949
|
-
else
|
25950
|
-
this.current = { axis: point.x, name: axis, value: point.y, indices: [] };
|
25951
|
-
}
|
25978
|
+
}).toPromise().catch(this._handleErr.bind(this));
|
25952
25979
|
for (var i = 0; i < results.length; i++) {
|
25953
25980
|
const { index, title, points } = results[i];
|
25954
25981
|
for (var j = 0; j < points.length; j++) {
|
@@ -25990,7 +26017,7 @@ class CubeSumComponent {
|
|
25990
26017
|
indices: this.indices,
|
25991
26018
|
scope: this.scope,
|
25992
26019
|
filters
|
25993
|
-
}).toPromise();
|
26020
|
+
}).toPromise().catch(this._handleErr.bind(this));
|
25994
26021
|
const level = { axis, indices: [], scope };
|
25995
26022
|
for (var i = 0; i < results.length; i++) {
|
25996
26023
|
const { index, title, points } = results[i];
|
@@ -26010,6 +26037,9 @@ class CubeSumComponent {
|
|
26010
26037
|
this.next = yield parallel(1);
|
26011
26038
|
});
|
26012
26039
|
}
|
26040
|
+
_handleErr(response) {
|
26041
|
+
this._sb.error(errResource(response));
|
26042
|
+
}
|
26013
26043
|
_fish(axis) {
|
26014
26044
|
return __awaiter(this, void 0, void 0, function* () {
|
26015
26045
|
this.loading = true;
|
@@ -26020,7 +26050,7 @@ class CubeSumComponent {
|
|
26020
26050
|
indices: this.indices, filters,
|
26021
26051
|
scope: this.scope
|
26022
26052
|
}).
|
26023
|
-
toPromise();
|
26053
|
+
toPromise().catch(this._handleErr.bind(this));
|
26024
26054
|
this.current = {
|
26025
26055
|
axis,
|
26026
26056
|
value: 0,
|
@@ -26217,7 +26247,7 @@ class CubeSumComponent {
|
|
26217
26247
|
const results = this._scoperesults = yield this._service.series(this._cube.name, this.xAxis, {
|
26218
26248
|
indices: this.indices, filters,
|
26219
26249
|
scope: this.scope
|
26220
|
-
}).toPromise();
|
26250
|
+
}).toPromise().catch(this._handleErr.bind(this));
|
26221
26251
|
this._scope = scope;
|
26222
26252
|
if (!results.some(s => s.points.length))
|
26223
26253
|
return;
|
@@ -26271,7 +26301,7 @@ class CubeSumComponent {
|
|
26271
26301
|
this.onExplore.emit({ axes, index });
|
26272
26302
|
}
|
26273
26303
|
}
|
26274
|
-
CubeSumComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: CubeSumComponent, deps: [{ token: DatasourceService }, { token: CubeService }, { token: SessionService }], target: i0.ɵɵFactoryTarget.Component });
|
26304
|
+
CubeSumComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: CubeSumComponent, deps: [{ token: DatasourceService }, { token: CubeService }, { token: PromptService }, { token: SessionService }], target: i0.ɵɵFactoryTarget.Component });
|
26275
26305
|
CubeSumComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: CubeSumComponent, selector: "bizdoc-cube-sum", inputs: { xAxis: "xAxis", periodPolicy: "periodPolicy", parentAxis: "parentAxis", filters: "filters", cube: "cube", indices: "indices", scope: "scope" }, outputs: { onExplore: "explore" }, usesOnChanges: true, ngImport: i0, template: " <!-- levels -->\r\n<div class=\"row\">\r\n <div *ngIf=\"prev\" class=\"level prev-level\">\r\n <div class=\"level-header row\">\r\n <mat-icon class=\"cliclable mat-icon-rtl-mirror\" [inline]=true (click)=\"goprev()\" *ngIf=\"back\">keyboard_arrow_left</mat-icon>\r\n <div div class=\"mat-h1 title\">\r\n {{'PrevLevel'| translate}}\r\n </div>\r\n <span class=\"divider\"></span>\r\n <mat-icon *ngIf=\"forward\" class=\"cliclable mat-icon-rtl-mirror\" [inline]=true (click)=\"gonext()\">keyboard_arrow_right</mat-icon>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"level; context: {use: prev}\"></ng-container>\r\n </div>\r\n <div *ngIf=\"current\" class=\"level current-level\">\r\n <div class=\"level-header row\">\r\n <div div class=\"mat-h1 title\">\r\n {{'CurrentLevel'| translate : primaryAxis.title}}\r\n </div>\r\n <span class=\"divider\"></span>\r\n <mat-icon [bizdocTooltip]=\"help\" *ngIf=\"help\" [inline]=\"true\">help_outline</mat-icon>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"level; context: {use: current}\"></ng-container>\r\n </div>\r\n <div *ngIf=\"next\" class=\"level next-level\">\r\n <div class=\"level-header\">\r\n <div div class=\"mat-h1 title\">\r\n {{'NextLevel'| translate}}\r\n </div>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"level; context: {use: next}\"></ng-container>\r\n </div>\r\n</div>\r\n<!-- level -->\r\n<ng-template #level let-use=\"use\" let-help=\"help\">\r\n <div>\r\n <h2 class=\"mat-h1\" [class.cliclable]=\"use.value !== 0\" (click)=\"explore(use)\">{{use.title}}</h2>\r\n <div class=\"row\">\r\n <h3 class=\"mat-h1\" [class.cliclable]=\"use.value !== 0\" (click)=\"explore(use)\">{{use.value | currency : currencyCode : 'symbol' : digitsInfo}}</h3>\r\n <span class=\"divider\"></span>\r\n <div *ngIf=\"use.chain && use.value !== use.chain.value\">\r\n <span *ngIf=\"use.value !== 0 && use.chain.value !== 0\">{{Math.round(use.value / use.chain.value * 100) }}%</span>\r\n <mat-icon>{{use.value > use.chain.value ? 'trending_up':'trending_down' }}</mat-icon>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- -->\r\n <div class=\"row\">\r\n <div *ngFor=\"let i of use.indices\" class=\"index\">\r\n <h4 class=\"mat-h3 title\">{{i.title}}</h4>\r\n <h5 class=\"mat-h3\" [class.cliclable]=\"i.value !== 0\" (click)=\"explore(use, i.name)\">{{i.value | currency : currencyCode : 'symbol' : digitsInfo}}</h5>\r\n </div>\r\n </div>\r\n <div class=\"bar\" *ngIf=\"use.indices.length\" [class.available]=\"use.percent < 100\">\r\n <div class=\"value\" [style.flexBasis]=\"Math.round(use.percent < 100 ?\r\n 100 - use.percent :\r\n 100 / use.percent * 100) + '%'\"\r\n [@bar]=\"use.animation\"></div>\r\n <div class=\"overflow\" *ngIf=\"use.percent > 0\"></div>\r\n </div>\r\n</ng-template>\r\n", styles: [":host{padding:0 8px}.level{border-width:thin;border-radius:3px;padding:8px;margin:3px;flex:1 1 0;border-style:solid}.level .cliclable{cursor:pointer}.level.next-level{border-style:dashed}.level .level-header{align-items:center}.level .level-header .title{margin:0;line-height:22px;font-size:inherit;font-feature-settings:\"pcap\",\"c2pc\";font-variant-caps:all-petite-caps}.level h3{margin:0;font-size:x-large}.level h2{font-weight:400;font-size:larger;margin:0}.level .percent{display:flex;align-items:center}.level .index{padding:0 4px}.level .index h5,.level .index h4{margin:0}.level .bar{display:flex}.level .bar .value,.level .bar .overflow{height:12px}.level .bar .value{flex:0 0 0%}.level .bar .overflow{flex:1 1 0%;box-sizing:border-box}.level .bar.available .overflow{border-width:1px;border-style:dashed}\n"], components: [{ type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": TranslatePipe, "currency": i10.CurrencyPipe }, animations: [trigger('bar', [
|
26276
26306
|
transition('*<=>*', [style({
|
26277
26307
|
flexBasis: '{{startWidth}}%'
|
@@ -26284,7 +26314,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
|
|
26284
26314
|
flexBasis: '{{startWidth}}%'
|
26285
26315
|
}), animate('500ms ease')], { params: { startWidth: 100 } }),
|
26286
26316
|
])], template: " <!-- levels -->\r\n<div class=\"row\">\r\n <div *ngIf=\"prev\" class=\"level prev-level\">\r\n <div class=\"level-header row\">\r\n <mat-icon class=\"cliclable mat-icon-rtl-mirror\" [inline]=true (click)=\"goprev()\" *ngIf=\"back\">keyboard_arrow_left</mat-icon>\r\n <div div class=\"mat-h1 title\">\r\n {{'PrevLevel'| translate}}\r\n </div>\r\n <span class=\"divider\"></span>\r\n <mat-icon *ngIf=\"forward\" class=\"cliclable mat-icon-rtl-mirror\" [inline]=true (click)=\"gonext()\">keyboard_arrow_right</mat-icon>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"level; context: {use: prev}\"></ng-container>\r\n </div>\r\n <div *ngIf=\"current\" class=\"level current-level\">\r\n <div class=\"level-header row\">\r\n <div div class=\"mat-h1 title\">\r\n {{'CurrentLevel'| translate : primaryAxis.title}}\r\n </div>\r\n <span class=\"divider\"></span>\r\n <mat-icon [bizdocTooltip]=\"help\" *ngIf=\"help\" [inline]=\"true\">help_outline</mat-icon>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"level; context: {use: current}\"></ng-container>\r\n </div>\r\n <div *ngIf=\"next\" class=\"level next-level\">\r\n <div class=\"level-header\">\r\n <div div class=\"mat-h1 title\">\r\n {{'NextLevel'| translate}}\r\n </div>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"level; context: {use: next}\"></ng-container>\r\n </div>\r\n</div>\r\n<!-- level -->\r\n<ng-template #level let-use=\"use\" let-help=\"help\">\r\n <div>\r\n <h2 class=\"mat-h1\" [class.cliclable]=\"use.value !== 0\" (click)=\"explore(use)\">{{use.title}}</h2>\r\n <div class=\"row\">\r\n <h3 class=\"mat-h1\" [class.cliclable]=\"use.value !== 0\" (click)=\"explore(use)\">{{use.value | currency : currencyCode : 'symbol' : digitsInfo}}</h3>\r\n <span class=\"divider\"></span>\r\n <div *ngIf=\"use.chain && use.value !== use.chain.value\">\r\n <span *ngIf=\"use.value !== 0 && use.chain.value !== 0\">{{Math.round(use.value / use.chain.value * 100) }}%</span>\r\n <mat-icon>{{use.value > use.chain.value ? 'trending_up':'trending_down' }}</mat-icon>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- -->\r\n <div class=\"row\">\r\n <div *ngFor=\"let i of use.indices\" class=\"index\">\r\n <h4 class=\"mat-h3 title\">{{i.title}}</h4>\r\n <h5 class=\"mat-h3\" [class.cliclable]=\"i.value !== 0\" (click)=\"explore(use, i.name)\">{{i.value | currency : currencyCode : 'symbol' : digitsInfo}}</h5>\r\n </div>\r\n </div>\r\n <div class=\"bar\" *ngIf=\"use.indices.length\" [class.available]=\"use.percent < 100\">\r\n <div class=\"value\" [style.flexBasis]=\"Math.round(use.percent < 100 ?\r\n 100 - use.percent :\r\n 100 / use.percent * 100) + '%'\"\r\n [@bar]=\"use.animation\"></div>\r\n <div class=\"overflow\" *ngIf=\"use.percent > 0\"></div>\r\n </div>\r\n</ng-template>\r\n", styles: [":host{padding:0 8px}.level{border-width:thin;border-radius:3px;padding:8px;margin:3px;flex:1 1 0;border-style:solid}.level .cliclable{cursor:pointer}.level.next-level{border-style:dashed}.level .level-header{align-items:center}.level .level-header .title{margin:0;line-height:22px;font-size:inherit;font-feature-settings:\"pcap\",\"c2pc\";font-variant-caps:all-petite-caps}.level h3{margin:0;font-size:x-large}.level h2{font-weight:400;font-size:larger;margin:0}.level .percent{display:flex;align-items:center}.level .index{padding:0 4px}.level .index h5,.level .index h4{margin:0}.level .bar{display:flex}.level .bar .value,.level .bar .overflow{height:12px}.level .bar .value{flex:0 0 0%}.level .bar .overflow{flex:1 1 0%;box-sizing:border-box}.level .bar.available .overflow{border-width:1px;border-style:dashed}\n"] }]
|
26287
|
-
}], ctorParameters: function () { return [{ type: DatasourceService }, { type: CubeService }, { type: SessionService }]; }, propDecorators: { xAxis: [{
|
26317
|
+
}], ctorParameters: function () { return [{ type: DatasourceService }, { type: CubeService }, { type: PromptService }, { type: SessionService }]; }, propDecorators: { xAxis: [{
|
26288
26318
|
type: Input
|
26289
26319
|
}], periodPolicy: [{
|
26290
26320
|
type: Input
|
@@ -26577,7 +26607,7 @@ class CubeParallelComponent {
|
|
26577
26607
|
this.width = Math.max(Math.round(this.size / this.items.length), 150) + 'px';
|
26578
26608
|
this._loading.next(false);
|
26579
26609
|
}, (e) => {
|
26580
|
-
this._sb.error(e
|
26610
|
+
this._sb.error(errResource(e));
|
26581
26611
|
this._loading.next(false);
|
26582
26612
|
});
|
26583
26613
|
}
|
@@ -27097,6 +27127,7 @@ dayjs.extend(relativeTime, {
|
|
27097
27127
|
});
|
27098
27128
|
dayjs.extend(duration);
|
27099
27129
|
dayjs.extend(calendar);
|
27130
|
+
dayjs.extend(updateLocale);
|
27100
27131
|
const CORE_COMPONENTS = [CubeCompareWidget, CubeParallelViewComponent, CubeExploreViewComponent, CubeChartViewComponent, CubeDocumentSumComponent, CubeDocumentMatrixComponent, CubeDocumentViewComponent, CubePivotViewComponent, TimelineViewComponent,
|
27101
27132
|
SubstitutionComponent, MoveToActionComponent, AssignActionComponent, ReturnActionComponent, ExploreDocumentComponent,
|
27102
27133
|
ActionsWidget, CubeAnalysisWidget, CubeDocumentsWidget, RecentsWidget, PersonalActivityWidget,
|