turbogui-angular 19.1.0 → 20.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/turbogui-angular.mjs +106 -39
- package/fesm2022/turbogui-angular.mjs.map +1 -1
- package/main/controller/dialog.service.d.ts +22 -9
- package/main/controller/dialog.service.d.ts.map +1 -1
- package/main/controller/{turbo-api-caller.service.d.ts → turbo-api.service.d.ts} +4 -5
- package/main/controller/turbo-api.service.d.ts.map +1 -0
- package/main/view/components/button-container/button-container.component.d.ts +0 -1
- package/main/view/components/button-container/button-container.component.d.ts.map +1 -1
- package/main/view/components/dialog-iframe/dialog-iframe.component.d.ts +26 -0
- package/main/view/components/dialog-iframe/dialog-iframe.component.d.ts.map +1 -0
- package/package.json +1 -1
- package/public_api.d.ts +2 -1
- package/public_api.d.ts.map +1 -1
- package/main/controller/turbo-api-caller.service.d.ts.map +0 -1
|
@@ -8,6 +8,7 @@ import * as i3 from '@angular/material/button';
|
|
|
8
8
|
import { MatButtonModule } from '@angular/material/button';
|
|
9
9
|
import * as i2 from '@angular/common';
|
|
10
10
|
import { CommonModule } from '@angular/common';
|
|
11
|
+
import { take, filter } from 'rxjs/operators';
|
|
11
12
|
import { trigger, transition, style, animate } from '@angular/animations';
|
|
12
13
|
import { ComponentPortal, DomPortalOutlet } from '@angular/cdk/portal';
|
|
13
14
|
import * as i2$1 from '@angular/material/datepicker';
|
|
@@ -16,7 +17,6 @@ import { MatNativeDateModule } from '@angular/material/core';
|
|
|
16
17
|
import * as i1$1 from '@angular/material/snack-bar';
|
|
17
18
|
import * as i1$2 from '@angular/router';
|
|
18
19
|
import { NavigationEnd } from '@angular/router';
|
|
19
|
-
import { filter } from 'rxjs/operators';
|
|
20
20
|
import * as i2$2 from '@angular/platform-browser';
|
|
21
21
|
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
22
22
|
import * as i4 from '@angular/material/input';
|
|
@@ -623,13 +623,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
|
|
|
623
623
|
* Manages the application modal and non modal floating elements
|
|
624
624
|
*/
|
|
625
625
|
class DialogService extends SingletoneStrictClass {
|
|
626
|
-
constructor(rendererFactory, matSnackBar, matDialog, injector, applicationRef,
|
|
626
|
+
constructor(rendererFactory, matSnackBar, matDialog, injector, applicationRef, environmentInjector) {
|
|
627
627
|
super(DialogService);
|
|
628
628
|
this.matSnackBar = matSnackBar;
|
|
629
629
|
this.matDialog = matDialog;
|
|
630
630
|
this.injector = injector;
|
|
631
631
|
this.applicationRef = applicationRef;
|
|
632
|
-
this.
|
|
632
|
+
this.environmentInjector = environmentInjector;
|
|
633
633
|
/**
|
|
634
634
|
* Used to modify the busy state component that is shown by default by the addModalBusyState() method.
|
|
635
635
|
*
|
|
@@ -659,7 +659,7 @@ class DialogService extends SingletoneStrictClass {
|
|
|
659
659
|
*/
|
|
660
660
|
this._isShowingSnackBar = false;
|
|
661
661
|
/**
|
|
662
|
-
* Contains a list of the dialogs that are currently visible to the user.
|
|
662
|
+
* Contains a list of the dialogs (MODAL AND NON MODAL) that are currently visible to the user.
|
|
663
663
|
* Each item in this list is a hash that is computed when dialog is created to uniquely identify it.
|
|
664
664
|
*
|
|
665
665
|
* Empty list means no dialogs are currently visible
|
|
@@ -670,6 +670,10 @@ class DialogService extends SingletoneStrictClass {
|
|
|
670
670
|
* The list uses the same order as the list of _activeDialogs hash values
|
|
671
671
|
*/
|
|
672
672
|
this._activeDialogInstances = [];
|
|
673
|
+
/**
|
|
674
|
+
* Counts the number of dialogs that are currently open and that can be closed by the user by navigating with the browser
|
|
675
|
+
*/
|
|
676
|
+
this._activeCloseableDialogs = 0;
|
|
673
677
|
/**
|
|
674
678
|
* Method that is used to delete the window beforeunload event listener once not used anymore
|
|
675
679
|
*/
|
|
@@ -709,9 +713,7 @@ class DialogService extends SingletoneStrictClass {
|
|
|
709
713
|
* otherwise it will do nothing.
|
|
710
714
|
*/
|
|
711
715
|
addCloseApplicationWarning() {
|
|
712
|
-
|
|
713
|
-
this._windowBeforeUnloadUnListen = this._renderer.listen('window', 'beforeunload', (event) => event.returnValue = true);
|
|
714
|
-
}
|
|
716
|
+
this._windowBeforeUnloadUnListen ??= this._renderer.listen('window', 'beforeunload', (event) => event.returnValue = true);
|
|
715
717
|
}
|
|
716
718
|
/**
|
|
717
719
|
* Remove the close application warning message if previously assigned
|
|
@@ -745,7 +747,7 @@ class DialogService extends SingletoneStrictClass {
|
|
|
745
747
|
if (this._componentPortal === null) {
|
|
746
748
|
this._componentPortal = new ComponentPortal(this.customBusyStateComponentClass);
|
|
747
749
|
// Create a PortalHost with document.body as its anchor element
|
|
748
|
-
this._modalBusyStateHost = new DomPortalOutlet(document.body, this.
|
|
750
|
+
this._modalBusyStateHost = new DomPortalOutlet(document.body, this.environmentInjector, this.applicationRef, this.injector);
|
|
749
751
|
}
|
|
750
752
|
this._modalBusyStateHost.attach(this._componentPortal);
|
|
751
753
|
this._isShowingBusyState = true;
|
|
@@ -799,12 +801,12 @@ class DialogService extends SingletoneStrictClass {
|
|
|
799
801
|
return new Promise((resolve) => {
|
|
800
802
|
const snackBarRef = this.matSnackBar.open(message, action === '' ? undefined : action, config);
|
|
801
803
|
// Handle action button click
|
|
802
|
-
snackBarRef.onAction().subscribe(() => {
|
|
804
|
+
snackBarRef.onAction().pipe(take(1)).subscribe(() => {
|
|
803
805
|
this._isShowingSnackBar = false;
|
|
804
806
|
resolve(true);
|
|
805
807
|
});
|
|
806
808
|
// Handle dismiss
|
|
807
|
-
snackBarRef.afterDismissed().subscribe(() => {
|
|
809
|
+
snackBarRef.afterDismissed().pipe(take(1)).subscribe(() => {
|
|
808
810
|
this._isShowingSnackBar = false;
|
|
809
811
|
resolve(false);
|
|
810
812
|
});
|
|
@@ -833,21 +835,29 @@ class DialogService extends SingletoneStrictClass {
|
|
|
833
835
|
* this library or extend DialogBaseComponent to create our own custom ones.
|
|
834
836
|
*
|
|
835
837
|
* @param dialogComponentClass A class for a component that extends DialogBaseComponent, which will be the dialog that is shown to the user.
|
|
836
|
-
* @param properties An object containing the different visual and textual options that this dialog allows
|
|
838
|
+
* @param properties An object containing the different visual and textual options that this dialog allows.
|
|
839
|
+
* IMPORTANT: texts, options and data values need to be read at the dialog component by declaring "@Inject(MAT_DIALOG_DATA) public data: any"
|
|
840
|
+
* at the dialog component constructor. This data object will contain the texts, options and data properties
|
|
841
|
+
*
|
|
837
842
|
* - id: The html unique identifier that the dialog will have once created. If not specified, no id will be explicitly set
|
|
838
843
|
* - width: 50% by default. Specify the css value for the default dialog width. As the dialog is responsive, the value will be automatically
|
|
839
844
|
* reduced if the available screen is not enough, and will reach the desired value otherwise. We can set any css unit like pixels,
|
|
840
845
|
* %, vh, vw, or any other. For example: '400px', '50%', etc.
|
|
841
|
-
* - maxWidth: Defines the maximum width that the dialog will have
|
|
846
|
+
* - maxWidth: Defines the maximum width that the dialog will have. We can specify it in % or vw, just like is done in
|
|
842
847
|
* css. By default it is defined as 96vw, which will fit 96% of the viewport on small devices
|
|
843
|
-
* - height:
|
|
844
|
-
* - maxHeight:
|
|
848
|
+
* - height: Unset by default. Specify the css value for the dialog height.
|
|
849
|
+
* - maxHeight: Defines the maximum height that the dialog will have. We can specify it in % or vh, just like is done in
|
|
850
|
+
* css. By default it is defined as 96vh, which will fit 96% of the viewport
|
|
845
851
|
* - modal: True (default) if selecting an option is mandatory to close the dialog, false if the dialog can be closed
|
|
846
852
|
* by the user clicking outside it
|
|
853
|
+
* - closeOnNavigation: Tells if the dialog should be closed when the user navigates with the browser. By default is true for non modal and false for modal dialogs.
|
|
847
854
|
* - texts: A list with strings containing the dialog texts, sorted by importance. When dialog has a title, this should
|
|
848
855
|
* be placed first, subtitle second and so (Each dialog may accept a different custom number of texts).
|
|
856
|
+
* (add "@Inject(MAT_DIALOG_DATA) public data: any" to dialog constructor and read it with data.texts)
|
|
849
857
|
* - options: A list of strings that will be used as button captions for each one of the accepted dialog options
|
|
850
|
-
*
|
|
858
|
+
* (add "@Inject(MAT_DIALOG_DATA) public data: any" to dialog constructor and read it with data.options)
|
|
859
|
+
* - data: An object to pass any extra data we want to the dialog.
|
|
860
|
+
* (add "@Inject(MAT_DIALOG_DATA) public data: any" to dialog constructor and read it with data.data)
|
|
851
861
|
* - viewContainerRef: This is important if we want to propagate providers from a parent component to this dialog. We must specify
|
|
852
862
|
* this reference to make sure the same services injected on the parent are available too at the child dialog
|
|
853
863
|
*
|
|
@@ -862,6 +872,7 @@ class DialogService extends SingletoneStrictClass {
|
|
|
862
872
|
return new Promise((resolve) => {
|
|
863
873
|
// Set the default values for non specified properties
|
|
864
874
|
properties.modal = properties.modal ?? true;
|
|
875
|
+
properties.closeOnNavigation = properties.closeOnNavigation ?? !properties.modal;
|
|
865
876
|
properties.texts = properties.texts ?? [];
|
|
866
877
|
properties.options = properties.options ?? [];
|
|
867
878
|
properties.data = properties.data ?? {};
|
|
@@ -877,24 +888,44 @@ class DialogService extends SingletoneStrictClass {
|
|
|
877
888
|
if (this._activeDialogs.includes(dialogHash)) {
|
|
878
889
|
return resolve({ index: -1 });
|
|
879
890
|
}
|
|
880
|
-
|
|
891
|
+
let dialogRefConfig = {
|
|
881
892
|
width: properties.width ?? "50%",
|
|
882
893
|
maxWidth: properties.maxWidth ?? "96vw",
|
|
894
|
+
maxHeight: properties.maxHeight ?? "96vh",
|
|
883
895
|
disableClose: properties.modal,
|
|
884
896
|
autoFocus: false,
|
|
885
|
-
closeOnNavigation:
|
|
897
|
+
closeOnNavigation: properties.closeOnNavigation,
|
|
886
898
|
viewContainerRef: properties.viewContainerRef,
|
|
887
899
|
data: { texts: properties.texts, options: properties.options, data: properties.data }
|
|
888
|
-
}
|
|
900
|
+
};
|
|
901
|
+
// Dialog height will only be set if it is specified on properties
|
|
902
|
+
if (properties.height && properties.height !== undefined) {
|
|
903
|
+
dialogRefConfig['height'] = properties.height;
|
|
904
|
+
}
|
|
905
|
+
const dialogRef = this.matDialog.open(dialogComponentClass, dialogRefConfig);
|
|
906
|
+
// Push a new state to handle browser navigation to close the dialog
|
|
907
|
+
if (properties.closeOnNavigation && this._activeCloseableDialogs === 0) {
|
|
908
|
+
history.pushState({ dialogOpen: true }, '');
|
|
909
|
+
}
|
|
889
910
|
// Assign the dialog ID only if specifically set on properties
|
|
890
911
|
if (properties.id && properties.id !== undefined) {
|
|
891
912
|
dialogRef.id = properties.id;
|
|
892
913
|
}
|
|
893
914
|
this._activeDialogs.push(dialogHash);
|
|
894
915
|
this._activeDialogInstances.push(dialogRef);
|
|
895
|
-
|
|
916
|
+
if (properties.closeOnNavigation) {
|
|
917
|
+
this._activeCloseableDialogs += 1;
|
|
918
|
+
}
|
|
919
|
+
dialogRef.beforeClosed().pipe(take(1)).subscribe((selection) => {
|
|
896
920
|
this._activeDialogs = ArrayUtils.removeElement(this._activeDialogs, dialogHash);
|
|
897
921
|
this._activeDialogInstances = ArrayUtils.removeElement(this._activeDialogInstances, dialogRef);
|
|
922
|
+
if (properties.closeOnNavigation) {
|
|
923
|
+
// Remove dialog state from browser history
|
|
924
|
+
if (this._activeCloseableDialogs === 1 && window.history.state?.dialogOpen) {
|
|
925
|
+
history.back();
|
|
926
|
+
}
|
|
927
|
+
this._activeCloseableDialogs -= 1;
|
|
928
|
+
}
|
|
898
929
|
if (!properties.modal && selection === undefined) {
|
|
899
930
|
selection = { index: -1 };
|
|
900
931
|
}
|
|
@@ -936,7 +967,7 @@ class DialogService extends SingletoneStrictClass {
|
|
|
936
967
|
id: properties.id ?? undefined,
|
|
937
968
|
width: properties.width ?? "50%",
|
|
938
969
|
maxWidth: properties.maxWidth ?? "96vw",
|
|
939
|
-
height: properties.height ?? "
|
|
970
|
+
height: properties.height ?? "auto",
|
|
940
971
|
maxHeight: properties.maxHeight ?? "92vw",
|
|
941
972
|
modal: properties.modal ?? false,
|
|
942
973
|
texts: [properties.title ?? ''],
|
|
@@ -953,11 +984,16 @@ class DialogService extends SingletoneStrictClass {
|
|
|
953
984
|
if (!this._isEnabled) {
|
|
954
985
|
return;
|
|
955
986
|
}
|
|
987
|
+
// If there are dialogs that should close on navigation and a history state was pushed, pop it
|
|
988
|
+
if (this._activeCloseableDialogs > 0 && window.history.state?.dialogOpen) {
|
|
989
|
+
history.back();
|
|
990
|
+
}
|
|
956
991
|
for (const dialogRef of this._activeDialogInstances) {
|
|
957
992
|
dialogRef.close({ index: -1 });
|
|
958
993
|
}
|
|
959
994
|
this._activeDialogs = [];
|
|
960
995
|
this._activeDialogInstances = [];
|
|
996
|
+
this._activeCloseableDialogs = 0;
|
|
961
997
|
}
|
|
962
998
|
/**
|
|
963
999
|
* TODO - translate from TS version
|
|
@@ -981,15 +1017,9 @@ class DialogService extends SingletoneStrictClass {
|
|
|
981
1017
|
* Block all the user interactions with the application (keyboard, touch, mouse, ...)
|
|
982
1018
|
*/
|
|
983
1019
|
_disableUserInteraction() {
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
if (this._documentMousedownUnlisten === null) {
|
|
988
|
-
this._documentMousedownUnlisten = this._renderer.listen('document', 'mousedown', (event) => event.preventDefault());
|
|
989
|
-
}
|
|
990
|
-
if (this._documentPointerdownUnlisten === null) {
|
|
991
|
-
this._documentPointerdownUnlisten = this._renderer.listen('document', 'pointerdown', (event) => event.preventDefault());
|
|
992
|
-
}
|
|
1020
|
+
this._documentKeydownUnlisten ??= this._renderer.listen('document', 'keydown', (event) => event.preventDefault());
|
|
1021
|
+
this._documentMousedownUnlisten ??= this._renderer.listen('document', 'mousedown', (event) => event.preventDefault());
|
|
1022
|
+
this._documentPointerdownUnlisten ??= this._renderer.listen('document', 'pointerdown', (event) => event.preventDefault());
|
|
993
1023
|
}
|
|
994
1024
|
/**
|
|
995
1025
|
* Restore the user interactions that were previously disabled with _disableUserInteraction method
|
|
@@ -1005,10 +1035,10 @@ class DialogService extends SingletoneStrictClass {
|
|
|
1005
1035
|
}
|
|
1006
1036
|
if (this._documentPointerdownUnlisten !== null) {
|
|
1007
1037
|
this._documentPointerdownUnlisten();
|
|
1008
|
-
this.
|
|
1038
|
+
this._documentPointerdownUnlisten = null;
|
|
1009
1039
|
}
|
|
1010
1040
|
}
|
|
1011
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DialogService, deps: [{ token: i0.RendererFactory2 }, { token: i1$1.MatSnackBar }, { token: i1.MatDialog }, { token: i0.Injector }, { token: i0.ApplicationRef }, { token: i0.
|
|
1041
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DialogService, deps: [{ token: i0.RendererFactory2 }, { token: i1$1.MatSnackBar }, { token: i1.MatDialog }, { token: i0.Injector }, { token: i0.ApplicationRef }, { token: i0.EnvironmentInjector }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1012
1042
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DialogService, providedIn: 'root' }); }
|
|
1013
1043
|
}
|
|
1014
1044
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DialogService, decorators: [{
|
|
@@ -1016,7 +1046,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
|
|
|
1016
1046
|
args: [{
|
|
1017
1047
|
providedIn: 'root',
|
|
1018
1048
|
}]
|
|
1019
|
-
}], ctorParameters: () => [{ type: i0.RendererFactory2 }, { type: i1$1.MatSnackBar }, { type: i1.MatDialog }, { type: i0.Injector }, { type: i0.ApplicationRef }, { type: i0.
|
|
1049
|
+
}], ctorParameters: () => [{ type: i0.RendererFactory2 }, { type: i1$1.MatSnackBar }, { type: i1.MatDialog }, { type: i0.Injector }, { type: i0.ApplicationRef }, { type: i0.EnvironmentInjector }] });
|
|
1020
1050
|
|
|
1021
1051
|
/**
|
|
1022
1052
|
* TurboGUI is A library that helps with the most common and generic UI elements and functionalities
|
|
@@ -1170,9 +1200,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
|
|
|
1170
1200
|
/**
|
|
1171
1201
|
* Allows us to easily perform requests to a remote API that is developed with Turbo framework.
|
|
1172
1202
|
*/
|
|
1173
|
-
class
|
|
1203
|
+
class TurboApiService {
|
|
1174
1204
|
constructor(dialogService, browserService) {
|
|
1175
|
-
super(TurboApiCallerService);
|
|
1176
1205
|
this.dialogService = dialogService;
|
|
1177
1206
|
this.browserService = browserService;
|
|
1178
1207
|
/**
|
|
@@ -1581,10 +1610,10 @@ class TurboApiCallerService extends SingletoneStrictClass {
|
|
|
1581
1610
|
this._token = '';
|
|
1582
1611
|
this.httpManager.setGlobalPostParam('token', '-');
|
|
1583
1612
|
}
|
|
1584
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type:
|
|
1585
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type:
|
|
1613
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: TurboApiService, deps: [{ token: DialogService }, { token: BrowserService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1614
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: TurboApiService, providedIn: 'root' }); }
|
|
1586
1615
|
}
|
|
1587
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type:
|
|
1616
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: TurboApiService, decorators: [{
|
|
1588
1617
|
type: Injectable,
|
|
1589
1618
|
args: [{
|
|
1590
1619
|
providedIn: 'root',
|
|
@@ -2234,6 +2263,45 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImpor
|
|
|
2234
2263
|
}]
|
|
2235
2264
|
}] });
|
|
2236
2265
|
|
|
2266
|
+
/**
|
|
2267
|
+
* TurboGUI is A library that helps with the most common and generic UI elements and functionalities
|
|
2268
|
+
*
|
|
2269
|
+
* Website : -> http://www.turbogui.org
|
|
2270
|
+
* License : -> Licensed under the Apache License, Version 2.0. You may not use this file except in compliance with the License.
|
|
2271
|
+
* License Url : -> http://www.apache.org/licenses/LICENSE-2.0
|
|
2272
|
+
* CopyRight : -> Copyright 2018 Edertone Advanded Solutions. https://www.edertone.com
|
|
2273
|
+
*/
|
|
2274
|
+
/**
|
|
2275
|
+
* A dialog component with an iframe that can be used to display any url or content.
|
|
2276
|
+
*
|
|
2277
|
+
* We must specify the url in the data parameter when opening the dialog, and we can also specify the title
|
|
2278
|
+
* bi placing it at the first position of the texts array.
|
|
2279
|
+
*/
|
|
2280
|
+
class DialogIFrameComponent extends DialogBaseComponent {
|
|
2281
|
+
static { this.DIALOG_CLASS_NAME = 'DialogIFrameComponent'; }
|
|
2282
|
+
constructor(elementRef, dialogRef, sanitizer, data) {
|
|
2283
|
+
super(elementRef, dialogRef);
|
|
2284
|
+
this.elementRef = elementRef;
|
|
2285
|
+
this.dialogRef = dialogRef;
|
|
2286
|
+
this.sanitizer = sanitizer;
|
|
2287
|
+
this.data = data;
|
|
2288
|
+
this.title = '';
|
|
2289
|
+
if (data.texts.length > 0) {
|
|
2290
|
+
this.title = data.texts[0];
|
|
2291
|
+
}
|
|
2292
|
+
this.safeUrl = this.sanitizer.bypassSecurityTrustResourceUrl(data.data);
|
|
2293
|
+
}
|
|
2294
|
+
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$2.DomSanitizer }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2295
|
+
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>\r\n\r\n<iframe [src]=\"safeUrl\" title=\"data.texts[0]\"></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"] }] }); }
|
|
2296
|
+
}
|
|
2297
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.5", ngImport: i0, type: DialogIFrameComponent, decorators: [{
|
|
2298
|
+
type: Component,
|
|
2299
|
+
args: [{ selector: 'tg-dialog-iframe', imports: [CommonModule], providers: [], template: "<h2 *ngIf=\"title !== ''\">{{title}}</h2>\r\n\r\n<iframe [src]=\"safeUrl\" title=\"data.texts[0]\"></iframe>", styles: [":host{display:block;width:100%;height:100%}h2{margin-top:0;margin-bottom:25px;width:82%}iframe{width:100%;height:100%}\n"] }]
|
|
2300
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.MatDialogRef }, { type: i2$2.DomSanitizer }, { type: undefined, decorators: [{
|
|
2301
|
+
type: Inject,
|
|
2302
|
+
args: [MAT_DIALOG_DATA]
|
|
2303
|
+
}] }] });
|
|
2304
|
+
|
|
2237
2305
|
/**
|
|
2238
2306
|
* TurboGUI is A library that helps with the most common and generic UI elements and functionalities
|
|
2239
2307
|
*
|
|
@@ -2766,7 +2834,6 @@ class ButtonContainerComponent extends ButtonBaseComponent {
|
|
|
2766
2834
|
super(...arguments);
|
|
2767
2835
|
/**
|
|
2768
2836
|
* This is used to attach the fade animation directly to this component so it fades in and out when created and removed from the app
|
|
2769
|
-
* TODO: THIS IS NOT A GOOD IDEA
|
|
2770
2837
|
*/
|
|
2771
2838
|
this.buttonFade = true;
|
|
2772
2839
|
}
|
|
@@ -2985,5 +3052,5 @@ class ValidatorsPlus extends Validators {
|
|
|
2985
3052
|
* Generated bundle index. Do not edit.
|
|
2986
3053
|
*/
|
|
2987
3054
|
|
|
2988
|
-
export { AutoFocusOnDisplayDirective, AutoSelectTextOnFocusDirective, BrowserService, BusyStateBaseComponent, ButtonContainerComponent, ButtonImageComponent, DelayedMethodCallManager, DialogBaseComponent, DialogDateSelectionComponent, DialogErrorComponent, DialogMultipleOptionComponent, DialogService, DialogSingleInputComponent, DialogSingleOptionComponent, DialogSingleSelectionListComponent, DialogTwoOptionComponent, ElementClickOutsideDirective, ElementCreatedDirective, ElementDestroyedDirective, FadeAnimationClass, GUINotification, GlobalErrorService, HTTPService, HTTPServiceGetRequest, HTTPServicePostRequest, LocalesBaseService, NotificationService, RouterBaseService, SingletoneStrictClass,
|
|
3055
|
+
export { AutoFocusOnDisplayDirective, AutoSelectTextOnFocusDirective, BrowserService, BusyStateBaseComponent, ButtonContainerComponent, ButtonImageComponent, DelayedMethodCallManager, DialogBaseComponent, DialogDateSelectionComponent, DialogErrorComponent, DialogIFrameComponent, DialogMultipleOptionComponent, DialogService, DialogSingleInputComponent, DialogSingleOptionComponent, DialogSingleSelectionListComponent, DialogTwoOptionComponent, ElementClickOutsideDirective, ElementCreatedDirective, ElementDestroyedDirective, FadeAnimationClass, GUINotification, GlobalErrorService, HTTPService, HTTPServiceGetRequest, HTTPServicePostRequest, LocalesBaseService, NotificationService, RouterBaseService, SingletoneStrictClass, TurboApiService, TurboGuiAngularModule, ValidatorsPlus, View, ViewService };
|
|
2989
3056
|
//# sourceMappingURL=turbogui-angular.mjs.map
|