turbogui-angular 20.14.1 → 20.15.1
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.
|
@@ -610,11 +610,11 @@ class DialogIFrameComponent extends DialogBaseComponent {
|
|
|
610
610
|
this.safeUrl = this.sanitizer.bypassSecurityTrustResourceUrl(data.data);
|
|
611
611
|
}
|
|
612
612
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DialogIFrameComponent, deps: [{ token: i0.ElementRef }, { token: i1.MatDialogRef }, { token: i2$1.DomSanitizer }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
613
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: DialogIFrameComponent, isStandalone: true, selector: "tg-dialog-iframe", providers: [], usesInheritance: true, ngImport: i0, template: "<h2 *ngIf=\"title !== ''\">{{title}}</h2>\
|
|
613
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: DialogIFrameComponent, isStandalone: true, selector: "tg-dialog-iframe", providers: [], usesInheritance: true, ngImport: i0, template: "<h2 *ngIf=\"title !== ''\">{{title}}</h2>\n\n<iframe [src]=\"safeUrl\" title=\"title\"></iframe>", styles: [":host{display:block;width:100%;height:100%}h2{margin-top:0;margin-bottom:25px;width:82%}iframe{width:100%;height:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
614
614
|
}
|
|
615
615
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DialogIFrameComponent, decorators: [{
|
|
616
616
|
type: Component,
|
|
617
|
-
args: [{ selector: 'tg-dialog-iframe', imports: [CommonModule], providers: [], template: "<h2 *ngIf=\"title !== ''\">{{title}}</h2>\
|
|
617
|
+
args: [{ selector: 'tg-dialog-iframe', imports: [CommonModule], providers: [], template: "<h2 *ngIf=\"title !== ''\">{{title}}</h2>\n\n<iframe [src]=\"safeUrl\" title=\"title\"></iframe>", styles: [":host{display:block;width:100%;height:100%}h2{margin-top:0;margin-bottom:25px;width:82%}iframe{width:100%;height:100%}\n"] }]
|
|
618
618
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.MatDialogRef }, { type: i2$1.DomSanitizer }, { type: undefined, decorators: [{
|
|
619
619
|
type: Inject,
|
|
620
620
|
args: [MAT_DIALOG_DATA]
|
|
@@ -649,11 +649,11 @@ class DialogImageComponent extends DialogBaseComponent {
|
|
|
649
649
|
this.safeUrl = this.sanitizer.bypassSecurityTrustResourceUrl(data.data);
|
|
650
650
|
}
|
|
651
651
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DialogImageComponent, deps: [{ token: i0.ElementRef }, { token: i1.MatDialogRef }, { token: i2$1.DomSanitizer }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
652
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: DialogImageComponent, isStandalone: true, selector: "tg-dialog-image", providers: [], usesInheritance: true, ngImport: i0, template: "<h2 *ngIf=\"title !== ''\">{{title}}</h2>\
|
|
652
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: DialogImageComponent, isStandalone: true, selector: "tg-dialog-image", providers: [], usesInheritance: true, ngImport: i0, template: "<h2 *ngIf=\"title !== ''\">{{title}}</h2>\n\n<img [src]=\"safeUrl\" title=\"title\" alt=\"{{title}}\" />", styles: [":host{display:block;width:100%;height:100%}h2{margin-top:0;margin-bottom:25px;width:82%}iframe{width:100%;height:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
653
653
|
}
|
|
654
654
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DialogImageComponent, decorators: [{
|
|
655
655
|
type: Component,
|
|
656
|
-
args: [{ selector: 'tg-dialog-image', imports: [CommonModule], providers: [], template: "<h2 *ngIf=\"title !== ''\">{{title}}</h2>\
|
|
656
|
+
args: [{ selector: 'tg-dialog-image', imports: [CommonModule], providers: [], template: "<h2 *ngIf=\"title !== ''\">{{title}}</h2>\n\n<img [src]=\"safeUrl\" title=\"title\" alt=\"{{title}}\" />", styles: [":host{display:block;width:100%;height:100%}h2{margin-top:0;margin-bottom:25px;width:82%}iframe{width:100%;height:100%}\n"] }]
|
|
657
657
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.MatDialogRef }, { type: i2$1.DomSanitizer }, { type: undefined, decorators: [{
|
|
658
658
|
type: Inject,
|
|
659
659
|
args: [MAT_DIALOG_DATA]
|
|
@@ -710,11 +710,11 @@ class DialogBlobComponent extends DialogBaseComponent {
|
|
|
710
710
|
}
|
|
711
711
|
}
|
|
712
712
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DialogBlobComponent, deps: [{ token: i0.ElementRef }, { token: i2$1.DomSanitizer }, { token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
713
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: DialogBlobComponent, isStandalone: true, selector: "tg-dialog-blob", providers: [], usesInheritance: true, ngImport: i0, template: "<h2 *ngIf=\"title !== ''\">{{title}}</h2>\
|
|
713
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: DialogBlobComponent, isStandalone: true, selector: "tg-dialog-blob", providers: [], usesInheritance: true, ngImport: i0, template: "<h2 *ngIf=\"title !== ''\">{{title}}</h2>\n\n<!-- For images -->\n<img *ngIf=\"mimeType.startsWith('image/')\" [src]=\"blobUrl\" [alt]=\"title\" />\n\n<!-- For PDFs and other types -->\n<iframe *ngIf=\"!mimeType.startsWith('image/')\" [src]=\"blobUrl\" [title]=\"title\"></iframe>", styles: [":host{display:block;width:100%;height:100%}h2{margin-top:0;margin-bottom:25px;width:82%}iframe,img{width:100%;height:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
714
714
|
}
|
|
715
715
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DialogBlobComponent, decorators: [{
|
|
716
716
|
type: Component,
|
|
717
|
-
args: [{ selector: 'tg-dialog-blob', imports: [CommonModule], providers: [], template: "<h2 *ngIf=\"title !== ''\">{{title}}</h2>\
|
|
717
|
+
args: [{ selector: 'tg-dialog-blob', imports: [CommonModule], providers: [], template: "<h2 *ngIf=\"title !== ''\">{{title}}</h2>\n\n<!-- For images -->\n<img *ngIf=\"mimeType.startsWith('image/')\" [src]=\"blobUrl\" [alt]=\"title\" />\n\n<!-- For PDFs and other types -->\n<iframe *ngIf=\"!mimeType.startsWith('image/')\" [src]=\"blobUrl\" [title]=\"title\"></iframe>", styles: [":host{display:block;width:100%;height:100%}h2{margin-top:0;margin-bottom:25px;width:82%}iframe,img{width:100%;height:100%}\n"] }]
|
|
718
718
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i2$1.DomSanitizer }, { type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
719
719
|
type: Inject,
|
|
720
720
|
args: [MAT_DIALOG_DATA]
|
|
@@ -740,11 +740,11 @@ class DialogDateSelectionComponent extends DialogBaseComponent {
|
|
|
740
740
|
this.data = data;
|
|
741
741
|
}
|
|
742
742
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DialogDateSelectionComponent, deps: [{ token: i0.ElementRef }, { token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
743
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: DialogDateSelectionComponent, isStandalone: true, selector: "tg-dialog-date-selection", providers: [], usesInheritance: true, ngImport: i0, template: "<h2>{{data.texts[0]}}</h2>\
|
|
743
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: DialogDateSelectionComponent, isStandalone: true, selector: "tg-dialog-date-selection", providers: [], usesInheritance: true, ngImport: i0, template: "<h2>{{data.texts[0]}}</h2>\n\n<mat-calendar #calendar\n (selectedChange)=\"closeDialog(0, $event)\">\n</mat-calendar>", styles: [":host{position:relative;min-height:300px}h1{margin-top:0;margin-bottom:25px;width:82%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i2$2.MatCalendar, selector: "mat-calendar", inputs: ["headerComponent", "startAt", "startView", "selected", "minDate", "maxDate", "dateFilter", "dateClass", "comparisonStart", "comparisonEnd", "startDateAccessibleName", "endDateAccessibleName"], outputs: ["selectedChange", "yearSelected", "monthSelected", "viewChanged", "_userSelection", "_userDragDrop"], exportAs: ["matCalendar"] }, { kind: "ngmodule", type: MatNativeDateModule }] }); }
|
|
744
744
|
}
|
|
745
745
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DialogDateSelectionComponent, decorators: [{
|
|
746
746
|
type: Component,
|
|
747
|
-
args: [{ selector: 'tg-dialog-date-selection', imports: [CommonModule, MatDatepickerModule, MatNativeDateModule], providers: [], template: "<h2>{{data.texts[0]}}</h2>\
|
|
747
|
+
args: [{ selector: 'tg-dialog-date-selection', imports: [CommonModule, MatDatepickerModule, MatNativeDateModule], providers: [], template: "<h2>{{data.texts[0]}}</h2>\n\n<mat-calendar #calendar\n (selectedChange)=\"closeDialog(0, $event)\">\n</mat-calendar>", styles: [":host{position:relative;min-height:300px}h1{margin-top:0;margin-bottom:25px;width:82%}\n"] }]
|
|
748
748
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
749
749
|
type: Inject,
|
|
750
750
|
args: [MAT_DIALOG_DATA]
|
|
@@ -892,7 +892,7 @@ class DialogService extends SingletoneStrictClass {
|
|
|
892
892
|
* otherwise it will do nothing.
|
|
893
893
|
*/
|
|
894
894
|
addCloseApplicationWarning() {
|
|
895
|
-
this._windowBeforeUnloadUnListen ??= this._renderer.listen('window', 'beforeunload',
|
|
895
|
+
this._windowBeforeUnloadUnListen ??= this._renderer.listen('window', 'beforeunload', event => (event.returnValue = true));
|
|
896
896
|
}
|
|
897
897
|
/**
|
|
898
898
|
* Remove the close application warning message if previously assigned
|
|
@@ -998,15 +998,21 @@ class DialogService extends SingletoneStrictClass {
|
|
|
998
998
|
throw new Error('Trying to show a snackbar while another one is still visible');
|
|
999
999
|
}
|
|
1000
1000
|
this._isShowingSnackBar = true;
|
|
1001
|
-
return new Promise(
|
|
1001
|
+
return new Promise(resolve => {
|
|
1002
1002
|
const snackBarRef = this.matSnackBar.open(message, action === '' ? undefined : action, config);
|
|
1003
1003
|
// Handle action button click
|
|
1004
|
-
snackBarRef
|
|
1004
|
+
snackBarRef
|
|
1005
|
+
.onAction()
|
|
1006
|
+
.pipe(take(1))
|
|
1007
|
+
.subscribe(() => {
|
|
1005
1008
|
this._isShowingSnackBar = false;
|
|
1006
1009
|
resolve(true);
|
|
1007
1010
|
});
|
|
1008
1011
|
// Handle dismiss
|
|
1009
|
-
snackBarRef
|
|
1012
|
+
snackBarRef
|
|
1013
|
+
.afterDismissed()
|
|
1014
|
+
.pipe(take(1))
|
|
1015
|
+
.subscribe(() => {
|
|
1010
1016
|
this._isShowingSnackBar = false;
|
|
1011
1017
|
resolve(false);
|
|
1012
1018
|
});
|
|
@@ -1070,7 +1076,7 @@ class DialogService extends SingletoneStrictClass {
|
|
|
1070
1076
|
if (!this._isEnabled) {
|
|
1071
1077
|
return Promise.resolve({ index: -1 });
|
|
1072
1078
|
}
|
|
1073
|
-
return new Promise(
|
|
1079
|
+
return new Promise(resolve => {
|
|
1074
1080
|
// Set the default values for non specified properties
|
|
1075
1081
|
properties.modal = properties.modal ?? false;
|
|
1076
1082
|
properties.closeOnNavigation = properties.closeOnNavigation ?? !properties.modal;
|
|
@@ -1090,14 +1096,18 @@ class DialogService extends SingletoneStrictClass {
|
|
|
1090
1096
|
return resolve({ index: -1 });
|
|
1091
1097
|
}
|
|
1092
1098
|
let dialogRefConfig = {
|
|
1093
|
-
width: properties.width ??
|
|
1094
|
-
maxWidth: properties.maxWidth ??
|
|
1095
|
-
maxHeight: properties.maxHeight ??
|
|
1099
|
+
width: properties.width ?? '50%',
|
|
1100
|
+
maxWidth: properties.maxWidth ?? '96vw',
|
|
1101
|
+
maxHeight: properties.maxHeight ?? '96vh',
|
|
1096
1102
|
disableClose: properties.modal,
|
|
1097
1103
|
autoFocus: false,
|
|
1098
1104
|
closeOnNavigation: properties.closeOnNavigation,
|
|
1099
1105
|
viewContainerRef: properties.viewContainerRef,
|
|
1100
|
-
data: {
|
|
1106
|
+
data: {
|
|
1107
|
+
texts: properties.texts,
|
|
1108
|
+
options: properties.options,
|
|
1109
|
+
data: properties.data
|
|
1110
|
+
}
|
|
1101
1111
|
};
|
|
1102
1112
|
// Dialog height will only be set if it is specified on properties
|
|
1103
1113
|
if (properties.height && properties.height !== undefined) {
|
|
@@ -1120,7 +1130,10 @@ class DialogService extends SingletoneStrictClass {
|
|
|
1120
1130
|
if (properties.closeOnNavigation) {
|
|
1121
1131
|
this._activeCloseableDialogs += 1;
|
|
1122
1132
|
}
|
|
1123
|
-
dialogRef
|
|
1133
|
+
dialogRef
|
|
1134
|
+
.beforeClosed()
|
|
1135
|
+
.pipe(take(1))
|
|
1136
|
+
.subscribe((selection) => {
|
|
1124
1137
|
if (properties.scrollLock) {
|
|
1125
1138
|
this.removeScrollLock();
|
|
1126
1139
|
}
|
|
@@ -1213,38 +1226,16 @@ class DialogService extends SingletoneStrictClass {
|
|
|
1213
1226
|
this._renderer.setStyle(hiddenInput, 'display', 'none');
|
|
1214
1227
|
this._renderer.appendChild(document.body, hiddenInput);
|
|
1215
1228
|
try {
|
|
1216
|
-
const filesBrowserPromise = new Promise(
|
|
1217
|
-
let resolved = false;
|
|
1218
|
-
const resolveOnce = (files) => {
|
|
1219
|
-
if (!resolved) {
|
|
1220
|
-
resolved = true;
|
|
1221
|
-
window.removeEventListener('focus', onUserInteraction, true);
|
|
1222
|
-
document.removeEventListener('keydown', onUserInteraction, true);
|
|
1223
|
-
document.removeEventListener('mousedown', onUserInteraction, true);
|
|
1224
|
-
document.removeEventListener('pointerdown', onUserInteraction, true);
|
|
1225
|
-
document.removeEventListener('mousemove', onUserInteraction, true);
|
|
1226
|
-
document.removeEventListener('scroll', onUserInteraction, true);
|
|
1227
|
-
hiddenInput.removeEventListener('change', onChange);
|
|
1228
|
-
resolve(files);
|
|
1229
|
-
}
|
|
1230
|
-
};
|
|
1231
|
-
// Detect any user activity that may indicate the user has cancelled the file selection
|
|
1232
|
-
// Use a short timeout to allow the 'change' event to fire first if files were selected
|
|
1233
|
-
const onUserInteraction = () => {
|
|
1234
|
-
setTimeout(() => resolveOnce(null), 800);
|
|
1235
|
-
};
|
|
1236
|
-
// Detect when files are selected by the user
|
|
1229
|
+
const filesBrowserPromise = new Promise(resolve => {
|
|
1237
1230
|
const onChange = (event) => {
|
|
1238
1231
|
const fileList = event.target.files;
|
|
1239
|
-
|
|
1232
|
+
resolve(fileList && fileList.length > 0 ? Array.from(fileList) : null);
|
|
1233
|
+
};
|
|
1234
|
+
const onCancel = () => {
|
|
1235
|
+
resolve(null);
|
|
1240
1236
|
};
|
|
1241
|
-
window.addEventListener('focus', onUserInteraction, true);
|
|
1242
|
-
document.addEventListener('keydown', onUserInteraction, true);
|
|
1243
|
-
document.addEventListener('mousedown', onUserInteraction, true);
|
|
1244
|
-
document.addEventListener('pointerdown', onUserInteraction, true);
|
|
1245
|
-
document.addEventListener('mousemove', onUserInteraction, true);
|
|
1246
|
-
document.addEventListener('scroll', onUserInteraction, true);
|
|
1247
1237
|
hiddenInput.addEventListener('change', onChange, { once: true });
|
|
1238
|
+
hiddenInput.addEventListener('cancel', onCancel, { once: true });
|
|
1248
1239
|
hiddenInput.click();
|
|
1249
1240
|
});
|
|
1250
1241
|
const files = await filesBrowserPromise;
|
|
@@ -1337,10 +1328,10 @@ class DialogService extends SingletoneStrictClass {
|
|
|
1337
1328
|
id: properties.id ?? undefined,
|
|
1338
1329
|
data: properties.url,
|
|
1339
1330
|
texts: properties.title ? [properties.title] : undefined,
|
|
1340
|
-
width: properties.width ??
|
|
1341
|
-
maxWidth: properties.maxWidth ??
|
|
1342
|
-
height: properties.height ??
|
|
1343
|
-
maxHeight: properties.maxHeight ??
|
|
1331
|
+
width: properties.width ?? '85vw',
|
|
1332
|
+
maxWidth: properties.maxWidth ?? '1200px',
|
|
1333
|
+
height: properties.height ?? '98vh',
|
|
1334
|
+
maxHeight: properties.maxHeight ?? '3000px',
|
|
1344
1335
|
scrollLock: properties.scrollLock ?? false,
|
|
1345
1336
|
modal: properties.modal ?? false
|
|
1346
1337
|
});
|
|
@@ -1371,10 +1362,10 @@ class DialogService extends SingletoneStrictClass {
|
|
|
1371
1362
|
id: properties.id ?? undefined,
|
|
1372
1363
|
data: properties.url,
|
|
1373
1364
|
texts: properties.title ? [properties.title] : undefined,
|
|
1374
|
-
width: properties.width ??
|
|
1375
|
-
maxWidth: properties.maxWidth ??
|
|
1376
|
-
height: properties.height ??
|
|
1377
|
-
maxHeight: properties.maxHeight ??
|
|
1365
|
+
width: properties.width ?? '85vw',
|
|
1366
|
+
maxWidth: properties.maxWidth ?? '1200px',
|
|
1367
|
+
height: properties.height ?? '98vh',
|
|
1368
|
+
maxHeight: properties.maxHeight ?? '3000px',
|
|
1378
1369
|
scrollLock: properties.scrollLock ?? false,
|
|
1379
1370
|
modal: properties.modal ?? false
|
|
1380
1371
|
});
|
|
@@ -1406,10 +1397,10 @@ class DialogService extends SingletoneStrictClass {
|
|
|
1406
1397
|
id: properties.id ?? undefined,
|
|
1407
1398
|
data: { blob: properties.blob, mimeType: 'application/pdf' },
|
|
1408
1399
|
texts: properties.title ? [properties.title] : undefined,
|
|
1409
|
-
width: properties.width ??
|
|
1410
|
-
maxWidth: properties.maxWidth ??
|
|
1411
|
-
height: properties.height ??
|
|
1412
|
-
maxHeight: properties.maxHeight ??
|
|
1400
|
+
width: properties.width ?? '85vw',
|
|
1401
|
+
maxWidth: properties.maxWidth ?? '1200px',
|
|
1402
|
+
height: properties.height ?? '98vh',
|
|
1403
|
+
maxHeight: properties.maxHeight ?? '3000px',
|
|
1413
1404
|
scrollLock: properties.scrollLock ?? false,
|
|
1414
1405
|
modal: properties.modal ?? false
|
|
1415
1406
|
});
|
|
@@ -1438,10 +1429,10 @@ class DialogService extends SingletoneStrictClass {
|
|
|
1438
1429
|
}
|
|
1439
1430
|
const selection = await this.addDialog(DialogDateSelectionComponent, {
|
|
1440
1431
|
id: properties.id ?? undefined,
|
|
1441
|
-
width: properties.width ??
|
|
1442
|
-
maxWidth: properties.maxWidth ??
|
|
1443
|
-
height: properties.height ??
|
|
1444
|
-
maxHeight: properties.maxHeight ??
|
|
1432
|
+
width: properties.width ?? '50%',
|
|
1433
|
+
maxWidth: properties.maxWidth ?? '96vw',
|
|
1434
|
+
height: properties.height ?? 'auto',
|
|
1435
|
+
maxHeight: properties.maxHeight ?? '92vw',
|
|
1445
1436
|
scrollLock: properties.scrollLock ?? false,
|
|
1446
1437
|
modal: properties.modal ?? false,
|
|
1447
1438
|
texts: [properties.title ?? ''],
|
|
@@ -1478,10 +1469,10 @@ class DialogService extends SingletoneStrictClass {
|
|
|
1478
1469
|
}
|
|
1479
1470
|
await this.addDialog(properties.dialogClass ?? DialogErrorComponent, {
|
|
1480
1471
|
id: properties.id ?? undefined,
|
|
1481
|
-
width: properties.width ??
|
|
1482
|
-
maxWidth: properties.maxWidth ??
|
|
1483
|
-
height: properties.height ??
|
|
1484
|
-
maxHeight: properties.maxHeight ??
|
|
1472
|
+
width: properties.width ?? '70%',
|
|
1473
|
+
maxWidth: properties.maxWidth ?? '500px',
|
|
1474
|
+
height: properties.height ?? 'auto',
|
|
1475
|
+
maxHeight: properties.maxHeight ?? '92vw',
|
|
1485
1476
|
scrollLock: properties.scrollLock ?? false,
|
|
1486
1477
|
modal: properties.modal ?? false,
|
|
1487
1478
|
texts: texts,
|
|
@@ -1553,9 +1544,9 @@ class DialogService extends SingletoneStrictClass {
|
|
|
1553
1544
|
* Block all the user interactions with the application (keyboard, touch, mouse, ...)
|
|
1554
1545
|
*/
|
|
1555
1546
|
_disableUserInteraction() {
|
|
1556
|
-
this._documentKeydownUnlisten ??= this._renderer.listen('document', 'keydown',
|
|
1557
|
-
this._documentMousedownUnlisten ??= this._renderer.listen('document', 'mousedown',
|
|
1558
|
-
this._documentPointerdownUnlisten ??= this._renderer.listen('document', 'pointerdown',
|
|
1547
|
+
this._documentKeydownUnlisten ??= this._renderer.listen('document', 'keydown', event => event.preventDefault());
|
|
1548
|
+
this._documentMousedownUnlisten ??= this._renderer.listen('document', 'mousedown', event => event.preventDefault());
|
|
1549
|
+
this._documentPointerdownUnlisten ??= this._renderer.listen('document', 'pointerdown', event => event.preventDefault());
|
|
1559
1550
|
}
|
|
1560
1551
|
/**
|
|
1561
1552
|
* Restore the user interactions that were previously disabled with _disableUserInteraction method
|
|
@@ -1580,7 +1571,7 @@ class DialogService extends SingletoneStrictClass {
|
|
|
1580
1571
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DialogService, decorators: [{
|
|
1581
1572
|
type: Injectable,
|
|
1582
1573
|
args: [{
|
|
1583
|
-
providedIn: 'root'
|
|
1574
|
+
providedIn: 'root'
|
|
1584
1575
|
}]
|
|
1585
1576
|
}], ctorParameters: () => [{ type: i0.RendererFactory2 }, { type: i1$1.MatSnackBar }, { type: i1.MatDialog }, { type: i0.Injector }, { type: i0.ApplicationRef }, { type: i0.EnvironmentInjector }] });
|
|
1586
1577
|
|
|
@@ -3229,12 +3220,12 @@ class DialogSingleInputComponent extends DialogBaseComponent {
|
|
|
3229
3220
|
super.closeDialog(0, this.inputText);
|
|
3230
3221
|
}
|
|
3231
3222
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DialogSingleInputComponent, deps: [{ token: i0.ElementRef }, { token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3232
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: DialogSingleInputComponent, isStandalone: true, selector: "tg-dialog-single-input", providers: [], usesInheritance: true, ngImport: i0, template: "<h3>\
|
|
3223
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.5", type: DialogSingleInputComponent, isStandalone: true, selector: "tg-dialog-single-input", providers: [], usesInheritance: true, ngImport: i0, template: "<h3>\n {{data.texts[0]}}\n</h3>\n\n<p *ngIf=\"data.texts.length > 1 && data.texts[1] !== ''\">\n {{data.texts[1]}}\n</p>\n\n<mat-form-field>\n\n <mat-label>{{data.texts[2]}}</mat-label>\n <input matInput autoFocusOnDisplay autoSelectTextOnFocus\n (keyup.enter)=\"closeDialog()\"\n [(ngModel)]=\"inputText\">\n \n</mat-form-field>\n\n<button mat-raised-button color=\"primary\"\n [disabled]=\"isButtonDisabled()\"\n (click)=\"closeDialog()\">\n \n {{data.options[0]}}\n \n</button>", styles: [":host{min-height:300px}h3{margin-top:1vh;margin-bottom:3vh}p{margin-top:0;margin-bottom:5vh}button{min-height:5vh}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: TurboGuiAngularModule }, { kind: "directive", type: AutoFocusOnDisplayDirective, selector: "[autoFocusOnDisplay]" }, { kind: "directive", type: AutoSelectTextOnFocusDirective, selector: "[autoSelectTextOnFocus]" }] }); }
|
|
3233
3224
|
}
|
|
3234
3225
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DialogSingleInputComponent, decorators: [{
|
|
3235
3226
|
type: Component,
|
|
3236
3227
|
args: [{ selector: 'tg-dialog-single-input', imports: [CommonModule, MatButtonModule, MatInputModule, FormsModule,
|
|
3237
|
-
TurboGuiAngularModule], providers: [], template: "<h3>\
|
|
3228
|
+
TurboGuiAngularModule], providers: [], template: "<h3>\n {{data.texts[0]}}\n</h3>\n\n<p *ngIf=\"data.texts.length > 1 && data.texts[1] !== ''\">\n {{data.texts[1]}}\n</p>\n\n<mat-form-field>\n\n <mat-label>{{data.texts[2]}}</mat-label>\n <input matInput autoFocusOnDisplay autoSelectTextOnFocus\n (keyup.enter)=\"closeDialog()\"\n [(ngModel)]=\"inputText\">\n \n</mat-form-field>\n\n<button mat-raised-button color=\"primary\"\n [disabled]=\"isButtonDisabled()\"\n (click)=\"closeDialog()\">\n \n {{data.options[0]}}\n \n</button>", styles: [":host{min-height:300px}h3{margin-top:1vh;margin-bottom:3vh}p{margin-top:0;margin-bottom:5vh}button{min-height:5vh}\n"] }]
|
|
3238
3229
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
3239
3230
|
type: Inject,
|
|
3240
3231
|
args: [MAT_DIALOG_DATA]
|
|
@@ -3655,6 +3646,17 @@ class DebounceTimeManager {
|
|
|
3655
3646
|
* until that Promise resolves or rejects.
|
|
3656
3647
|
*
|
|
3657
3648
|
* @param method The function to execute.
|
|
3649
|
+
*
|
|
3650
|
+
* @example
|
|
3651
|
+
* // Queue an async function
|
|
3652
|
+
* debouncer.queue(async () => {
|
|
3653
|
+
* await myApiService.getData();
|
|
3654
|
+
* });
|
|
3655
|
+
*
|
|
3656
|
+
* // Queue a sync function
|
|
3657
|
+
* debouncer.queue(() => {
|
|
3658
|
+
* console.log("Hello World");
|
|
3659
|
+
* });
|
|
3658
3660
|
*/
|
|
3659
3661
|
queue(method) {
|
|
3660
3662
|
this._isActive = true;
|