@trudb/tru-common-lib 0.1.694 → 0.1.697
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/esm2022/lib/components/desktop/directives/window-state-monitor/tru-desktop-window-state-monitor-module.mjs +19 -0
- package/esm2022/lib/components/desktop/directives/window-state-monitor/tru-desktop-window-state-monitor.mjs +64 -0
- package/esm2022/lib/components/desktop/services/tru-desktop-service.mjs +2 -17
- package/esm2022/lib/components/desktop/services/tru-window-event-args.mjs +1 -1
- package/esm2022/lib/components/desktop/tru-desktop.mjs +2 -15
- package/esm2022/lib/components/desktop/window/tru-desktop-window-module.mjs +5 -5
- package/esm2022/lib/components/desktop/window/tru-desktop-window.mjs +4 -7
- package/fesm2022/trudb-tru-common-lib.mjs +25 -52
- package/fesm2022/trudb-tru-common-lib.mjs.map +1 -1
- package/lib/components/desktop/directives/window-state-monitor/tru-desktop-window-state-monitor-module.d.ts +9 -0
- package/lib/components/desktop/directives/window-state-monitor/tru-desktop-window-state-monitor.d.ts +16 -0
- package/lib/components/desktop/services/tru-desktop-service.d.ts +1 -7
- package/lib/components/desktop/tru-desktop.d.ts +0 -1
- package/lib/components/desktop/window/tru-desktop-window-module.d.ts +2 -2
- package/package.json +1 -1
- package/esm2022/lib/components/desktop/directives/disable/tru-desktop-window-disable-module.mjs +0 -19
- package/esm2022/lib/components/desktop/directives/disable/tru-desktop-window-disable.mjs +0 -60
- package/lib/components/desktop/directives/disable/tru-desktop-window-disable-module.d.ts +0 -9
- package/lib/components/desktop/directives/disable/tru-desktop-window-disable.d.ts +0 -14
|
@@ -7778,24 +7778,10 @@ class DesktopOptions {
|
|
|
7778
7778
|
*
|
|
7779
7779
|
*/
|
|
7780
7780
|
class WindowConfig {
|
|
7781
|
-
active$ = new Subject();
|
|
7782
7781
|
tableName = '';
|
|
7783
7782
|
tablePluralName = '';
|
|
7784
7783
|
tablePluralLabel = '';
|
|
7785
|
-
|
|
7786
|
-
get active() {
|
|
7787
|
-
return this._active;
|
|
7788
|
-
}
|
|
7789
|
-
set active(active) {
|
|
7790
|
-
this.activeStateChanged(active);
|
|
7791
|
-
this._active = active;
|
|
7792
|
-
}
|
|
7793
|
-
onActiveStateChanged() {
|
|
7794
|
-
return this.active$;
|
|
7795
|
-
}
|
|
7796
|
-
activeStateChanged(active) {
|
|
7797
|
-
this.active$.next(active);
|
|
7798
|
-
}
|
|
7784
|
+
active = true;
|
|
7799
7785
|
bottom = 'auto';
|
|
7800
7786
|
globals = undefined;
|
|
7801
7787
|
height = '400px';
|
|
@@ -8258,13 +8244,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
|
|
|
8258
8244
|
type: Input
|
|
8259
8245
|
}] } });
|
|
8260
8246
|
|
|
8261
|
-
class
|
|
8247
|
+
class TruDesktopWindowStateMonitor {
|
|
8262
8248
|
el;
|
|
8263
8249
|
cdRef;
|
|
8250
|
+
windowEventHandler;
|
|
8264
8251
|
active = true;
|
|
8265
|
-
constructor(el, cdRef) {
|
|
8252
|
+
constructor(el, cdRef, windowEventHandler) {
|
|
8266
8253
|
this.el = el;
|
|
8267
8254
|
this.cdRef = cdRef;
|
|
8255
|
+
this.windowEventHandler = windowEventHandler;
|
|
8268
8256
|
}
|
|
8269
8257
|
updateState = () => {
|
|
8270
8258
|
var controls = this.el.nativeElement.querySelectorAll('input,select,textarea,button,mat-select,mat-tab,.mdc-tab');
|
|
@@ -8296,18 +8284,19 @@ class TruDesktopWindowDisable {
|
|
|
8296
8284
|
}
|
|
8297
8285
|
ngOnChanges(changes) {
|
|
8298
8286
|
this.updateState();
|
|
8287
|
+
this.windowEventHandler.activeStateChanged(this.active);
|
|
8299
8288
|
}
|
|
8300
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type:
|
|
8301
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.5", type:
|
|
8289
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TruDesktopWindowStateMonitor, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: TruWindowEventHandler }], target: i0.ɵɵFactoryTarget.Directive });
|
|
8290
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.5", type: TruDesktopWindowStateMonitor, selector: "[truDesktopWindowStateMonitor]", inputs: { active: ["truDesktopWindowStateMonitor", "active"] }, host: { listeners: { "keydown.tab": "onKeydown($event)", "focusin": "onFocusIn($event)" } }, usesOnChanges: true, ngImport: i0 });
|
|
8302
8291
|
}
|
|
8303
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type:
|
|
8292
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TruDesktopWindowStateMonitor, decorators: [{
|
|
8304
8293
|
type: Directive,
|
|
8305
8294
|
args: [{
|
|
8306
|
-
selector: '[
|
|
8295
|
+
selector: '[truDesktopWindowStateMonitor]'
|
|
8307
8296
|
}]
|
|
8308
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }], propDecorators: { active: [{
|
|
8297
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: TruWindowEventHandler }], propDecorators: { active: [{
|
|
8309
8298
|
type: Input,
|
|
8310
|
-
args: ['
|
|
8299
|
+
args: ['truDesktopWindowStateMonitor']
|
|
8311
8300
|
}], onKeydown: [{
|
|
8312
8301
|
type: HostListener,
|
|
8313
8302
|
args: ['keydown.tab', ['$event']]
|
|
@@ -8745,9 +8734,6 @@ class TruDesktopWindow {
|
|
|
8745
8734
|
this.subs.push(this.windowEventHandler.onClose().subscribe((windowCloseEventArgs = null) => {
|
|
8746
8735
|
this.close(windowCloseEventArgs);
|
|
8747
8736
|
}));
|
|
8748
|
-
this.subs.push(this.window.onActiveStateChanged().subscribe((active) => {
|
|
8749
|
-
this.windowEventHandler.activeStateChanged(active);
|
|
8750
|
-
}));
|
|
8751
8737
|
window.addEventListener('keydown', this.onWindowKeydown);
|
|
8752
8738
|
}
|
|
8753
8739
|
ngAfterViewInit() {
|
|
@@ -8761,11 +8747,11 @@ class TruDesktopWindow {
|
|
|
8761
8747
|
this.subs.forEach(s => s.unsubscribe());
|
|
8762
8748
|
}
|
|
8763
8749
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TruDesktopWindow, deps: [{ token: TruDataContext }, { token: TruUiNotification }, { token: TruTextManager }, { token: TruWindowEventHandler }, { token: i0.ElementRef }, { token: TruUtil }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
8764
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: TruDesktopWindow, selector: "tru-desktop-window", inputs: { window: "window", viewportCtrl: "viewportCtrl", desktopCtrl: "desktopCtrl" }, providers: [TruDataContext, TruEntityAccessor, TruReportManager, TruActionInvoke, TruDesktopViewEventNotifier, TruWindowEventHandler, TruWindowManager], ngImport: i0, template: "<div class=\"desktop-window-container\"\r\n [ngClass]=\"{'desktop-window-active': window.active, 'desktop-window-maximized': window.maximized}\"\r\n [ngStyle]=\"{'z-index': window.zIndex, 'top': window.top, 'left': window.left, 'right': window.right, 'bottom': window.bottom, 'height': window.height, 'width': window.width, 'min-height': window.minHeight, 'minWidth': window.minWidth}\"\r\n [style.offsetLeft.px]=\"x\"\r\n [style.offsetTop.px]=\"y\"\r\n (mousedown)=\"activate()\"\r\n [hidden]=\"window.minimized\"\r\n [truDesktopWindowDisable]=\"window.active\">\r\n <div class=\"desktop-window-header\" [ngClass]=\"{'desktop-window-maximized': window.maximized, 'desktop-window-opacity': !window.active}\">\r\n <div class=\"toolbar-window-navigation\" *ngIf=\"showNavigation\">\r\n <tru-toolbar>\r\n <tru-toolbar-button [icon]=\"'tru-toolbar-previous-icon'\" [tooltip]=\"'Go Back One View - [Alt + Left]'\" (click)=\"previousView()\"></tru-toolbar-button>\r\n <tru-toolbar-button [icon]=\"'tru-toolbar-next-icon'\" [tooltip]=\"'Go Forward One View - [Alt + Right]'\" (click)=\"nextView()\"></tru-toolbar-button>\r\n <tru-toolbar-button [icon]=\"'tru-toolbar-save-icon'\" class=\"desktop-window-save-icon\" [ngClass]=\"{'desktop-window-save-icon-has-changes': hasChanges()}\" [tooltip]=\"'Save - [Ctrl + S]'\" (click)=\"save()\"></tru-toolbar-button>\r\n <tru-toolbar-button [icon]=\"'tru-toolbar-revert-icon'\" class=\"desktop-window-revert-icon\" [ngClass]=\"{'desktop-window-revert-icon-has-changes': hasChanges()}\" [tooltip]=\"'Revert - [Ctrl + Shift + R]'\" (click)=\"revert()\"></tru-toolbar-button>\r\n <tru-toolbar-separator></tru-toolbar-separator>\r\n </tru-toolbar>\r\n </div>\r\n <div class=\"desktop-window-title\" [ngClass]=\"{'no-navigation': !showNavigation}\" (dblclick)=\"maximize()\" (mousedown)=\"windowTitleMouseDown($event)\">\r\n <div class=\"desktop-click-through\">\r\n <div class=\"desktop-text\">{{window.title}}</div>\r\n </div>\r\n </div>\r\n <div class=\"desktop-window-action\" *ngIf=\"!window.isModal\">\r\n <tru-toolbar>\r\n <tru-toolbar-button [icon]=\"'tru-toolbar-minimize-icon'\" [tooltip]=\"'Minimize - [Alt + N]'\" (click)=\"minimize()\"></tru-toolbar-button>\r\n <tru-toolbar-button *ngIf=\"!window.maximized\" [icon]=\"'tru-toolbar-maximize-icon'\" [tooltip]=\"'Maximize Window - [Alt + M]'\" (click)=\"maximize()\" class=\"maximize\"></tru-toolbar-button>\r\n <tru-toolbar-button *ngIf=\"window.maximized\" [icon]=\"'tru-toolbar-restore-icon'\" [tooltip]=\"'Restore Window - [Alt + M]'\" (click)=\"maximize()\" class=\"maximize\"></tru-toolbar-button>\r\n <tru-toolbar-button [icon]=\"'tru-toolbar-close-icon'\" [tooltip]=\"'Close Window - [Alt + SHIFT + X]'\" (click)=\"close(null)\"></tru-toolbar-button>\r\n </tru-toolbar>\r\n </div>\r\n </div>\r\n <fieldset ng-disabled=\"!window.active\" class=\"desktop-window-fieldset\" [ngClass]=\"{'desktop-window-opacity': !window.active}\">\r\n <div class=\"desktop-window-content\">\r\n <div *ngFor=\"let view of window.views\">\r\n <tru-desktop-view [view]=\"view\" [active]=\"view.active\" [hidden]=\"!view.active\"><ng-template></ng-template></tru-desktop-view>\r\n </div>\r\n </div>\r\n </fieldset>\r\n <span class=\"desktop-window-resizable-handle desktop-window-resizable-nw\" tru-desktop-resizable [window]=\"window\" *ngIf=\"!window.maximized\" [direction]=\"'nw'\"></span>\r\n <span class=\"desktop-window-resizable-handle desktop-window-resizable-ne\" tru-desktop-resizable [window]=\"window\" *ngIf=\"!window.maximized\" [direction]=\"'ne'\"></span>\r\n <span class=\"desktop-window-resizable-handle desktop-window-resizable-sw\" tru-desktop-resizable [window]=\"window\" *ngIf=\"!window.maximized\" [direction]=\"'sw'\"></span>\r\n <span class=\"desktop-window-resizable-handle desktop-window-resizable-se\" tru-desktop-resizable [window]=\"window\" *ngIf=\"!window.maximized\" [direction]=\"'se'\"></span>\r\n <span class=\"desktop-window-resizable-handle desktop-window-resizable-n\" tru-desktop-resizable [window]=\"window\" *ngIf=\"!window.maximized\" [direction]=\"'n'\"></span>\r\n <span class=\"desktop-window-resizable-handle desktop-window-resizable-s\" tru-desktop-resizable [window]=\"window\" *ngIf=\"!window.maximized\" [direction]=\"'s'\"></span>\r\n <span class=\"desktop-window-resizable-handle desktop-window-resizable-w\" tru-desktop-resizable [window]=\"window\" *ngIf=\"!window.maximized\" [direction]=\"'w'\"></span>\r\n <span class=\"desktop-window-resizable-handle desktop-window-resizable-e\" tru-desktop-resizable [window]=\"window\" *ngIf=\"!window.maximized\" [direction]=\"'e'\"></span>\r\n</div>\r\n", styles: ["body{-webkit-user-select:none;-moz-user-select:-moz-none;-ms-user-select:none;user-select:none}input,textarea{-moz-user-select:text}.desktop-text{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);font-size:14px;line-height:1;color:#333}.desktop-wrapper{position:absolute!important;inset:0;background:#fff;overflow:hidden}.desktop-relative{position:relative}.desktop-display-none{display:none}.desktop-click-through{pointer-events:none}.desktop-menubar-container{position:absolute!important;top:0;left:0;right:0;height:26px;background:#f8f8f8;border-bottom:1px solid #e7e7e7;padding-left:5px}\n", ".desktop-window-container{position:absolute!important;background-color:#fff;background-clip:padding-box;border-radius:0;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px #0003;border:1px solid #e7e7e7}.desktop-window-header{position:absolute!important;top:0;left:0;right:0;height:27px;background:#fff;border-top-left-radius:0;border-top-right-radius:0;border-bottom:1px solid #e7e7e7}.desktop-window-content{position:absolute!important;inset:27px 0 0;background:#fff;overflow:hidden}.desktop-window-busy-overlay{position:absolute!important;inset:27px 0 0;background:#fff;overflow:hidden;z-index:1000;background-repeat:no-repeat;background-position:center center}.desktop-window-fieldset{padding:0;margin:0;border:0}.desktop-window-statusbar{position:absolute!important;left:0;right:0;bottom:0;height:23px;background:#fff;border-bottom-left-radius:0;border-bottom-right-radius:0;border-top:1px solid #e7e7e7}.desktop-window-statusbar-container{position:absolute;top:1px;left:2px;right:0}.desktop-window-navigation{position:absolute!important;top:0;left:0;bottom:0;width:105px;background:transparent}.desktop-window-navigation-button-group{position:absolute!important;left:0;padding:0;margin:0}.desktop-window-navigation-button-group button{margin-left:0!important}.desktop-window-navigation-button-group-split{position:absolute!important;top:2px;right:6px}.desktop-window-title{position:absolute!important;inset:0 80px 0 110px;height:27px;background:transparent;cursor:inherit;outline:0;margin-top:2px}.desktop-window-title.no-navigation,.desktop-window-title-hidden-nav{left:5px!important}.desktop-window-title-hidden-nav-with-buttons{left:55px!important}.desktop-window-title>div{position:absolute!important;top:5px;left:3px;cursor:default}.desktop-window-title>div>div{font-size:14px;font-weight:700}.desktop-window-action{position:absolute!important;top:0;right:0;bottom:0;width:80px;background:transparent}.desktop-window-action-button-group{position:absolute!important;top:2px;right:6px}.desktop-window-action .desktop-window-navigation-button-group{left:unset!important;right:0!important}.desktop-window-opacity{opacity:.5}.desktop-window-close-button:hover{background-color:maroon;color:#fff}.desktop-window-active{border:1px solid #6b6b6b!important;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.4);box-shadow:0 5px 10px #0006}.desktop-window-maximized{border-radius:0;-webkit-box-shadow:0 0 0 rgba(0,0,0,0);box-shadow:0 0 #0000;border-top-color:#f8f8f8!important;border-bottom-color:#f8f8f8!important}.desktop-window-is-dirty{display:block;float:left;height:15px;width:15px;font-size:15px;color:orange;margin-left:3px}.desktop-window-is-invalid{display:block;float:left;height:15px;width:15px;font-size:15px;color:red;margin-left:3px}.desktop-window-resizable-nw{position:absolute!important;overflow:hidden;width:10px;height:10px;left:-5px;top:-5px;z-index:103;cursor:nw-resize;opacity:0}.desktop-window-resizable-ne{position:absolute!important;overflow:hidden;width:10px;height:10px;right:-5px;top:-5px;z-index:103;cursor:ne-resize;opacity:0}.desktop-window-resizable-sw{position:absolute!important;overflow:hidden;width:10px;height:10px;left:-5px;bottom:-5px;z-index:103;cursor:sw-resize;opacity:0}.desktop-window-resizable-se{position:absolute!important;overflow:hidden;width:10px;height:10px;right:-5px;bottom:-5px;z-index:103;cursor:se-resize;opacity:0}.desktop-window-resizable-n{position:absolute!important;top:0;left:10px;right:10px;overflow:hidden;height:5px;z-index:102;cursor:s-resize;opacity:0;margin-top:-5px}.desktop-window-resizable-s{position:absolute!important;left:10px;right:10px;bottom:0;overflow:hidden;height:5px;z-index:102;cursor:s-resize;opacity:0;margin-bottom:-5px}.desktop-window-resizable-w{position:absolute!important;top:10px;left:0;bottom:10px;overflow:hidden;width:5px;z-index:102;cursor:w-resize;opacity:0;margin-left:-5px}.desktop-window-resizable-e{position:absolute!important;top:10px;right:0;bottom:10px;overflow:hidden;width:5px;z-index:102;cursor:e-resize;opacity:0;margin-right:-5px}div.desktop-window-resizable-handle{display:none!important;visibility:hidden!important}.desktop-window-save-icon,.desktop-window-revert-icon{opacity:.5}.desktop-window-save-icon-has-changes,.desktop-window-revert-icon-has-changes{opacity:1}::ng-deep .desktop-window-disabled{pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: TruDesktopResizable, selector: "[tru-desktop-resizable]", inputs: ["window", "maximized", "direction"] }, { kind: "component", type: TruDesktopView, selector: "tru-desktop-view", inputs: ["view", "active"] }, { kind: "component", type: TruToolbar, selector: "tru-toolbar", inputs: ["config"] }, { kind: "component", type: TruToolbarButton, selector: "tru-toolbar-button", inputs: ["config", "icon", "text", "disabled", "tooltip", "type"], outputs: ["onClick", "onKeydown"] }, { kind: "component", type: TruToolbarSeparator, selector: "tru-toolbar-separator" }, { kind: "directive", type: TruDesktopWindowDisable, selector: "[truDesktopWindowDisable]", inputs: ["truDesktopWindowDisable"] }] });
|
|
8750
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: TruDesktopWindow, selector: "tru-desktop-window", inputs: { window: "window", viewportCtrl: "viewportCtrl", desktopCtrl: "desktopCtrl" }, providers: [TruDataContext, TruEntityAccessor, TruReportManager, TruActionInvoke, TruDesktopViewEventNotifier, TruWindowEventHandler, TruWindowManager], ngImport: i0, template: "<div class=\"desktop-window-container\"\r\n [ngClass]=\"{'desktop-window-active': window.active, 'desktop-window-maximized': window.maximized}\"\r\n [ngStyle]=\"{'z-index': window.zIndex, 'top': window.top, 'left': window.left, 'right': window.right, 'bottom': window.bottom, 'height': window.height, 'width': window.width, 'min-height': window.minHeight, 'minWidth': window.minWidth}\"\r\n [style.offsetLeft.px]=\"x\"\r\n [style.offsetTop.px]=\"y\"\r\n (mousedown)=\"activate()\"\r\n [hidden]=\"window.minimized\"\r\n [truDesktopWindowStateMonitor]=\"window.active\">\r\n <div class=\"desktop-window-header\" [ngClass]=\"{'desktop-window-maximized': window.maximized, 'desktop-window-opacity': !window.active}\">\r\n <div class=\"toolbar-window-navigation\" *ngIf=\"showNavigation\">\r\n <tru-toolbar>\r\n <tru-toolbar-button [icon]=\"'tru-toolbar-previous-icon'\" [tooltip]=\"'Go Back One View - [Alt + Left]'\" (click)=\"previousView()\"></tru-toolbar-button>\r\n <a href=\"tru-desktop-window.html\">tru-desktop-window.html</a>\r\n <tru-toolbar-button [icon]=\"'tru-toolbar-next-icon'\" [tooltip]=\"'Go Forward One View - [Alt + Right]'\" (click)=\"nextView()\"></tru-toolbar-button>\r\n <tru-toolbar-button [icon]=\"'tru-toolbar-save-icon'\" class=\"desktop-window-save-icon\" [ngClass]=\"{'desktop-window-save-icon-has-changes': hasChanges()}\" [tooltip]=\"'Save - [Ctrl + S]'\" (click)=\"save()\"></tru-toolbar-button>\r\n <tru-toolbar-button [icon]=\"'tru-toolbar-revert-icon'\" class=\"desktop-window-revert-icon\" [ngClass]=\"{'desktop-window-revert-icon-has-changes': hasChanges()}\" [tooltip]=\"'Revert - [Ctrl + Shift + R]'\" (click)=\"revert()\"></tru-toolbar-button>\r\n <tru-toolbar-separator></tru-toolbar-separator>\r\n </tru-toolbar>\r\n </div>\r\n <div class=\"desktop-window-title\" [ngClass]=\"{'no-navigation': !showNavigation}\" (dblclick)=\"maximize()\" (mousedown)=\"windowTitleMouseDown($event)\">\r\n <div class=\"desktop-click-through\">\r\n <div class=\"desktop-text\">{{window.title}}</div>\r\n </div>\r\n </div>\r\n <div class=\"desktop-window-action\" *ngIf=\"!window.isModal\">\r\n <tru-toolbar>\r\n <tru-toolbar-button [icon]=\"'tru-toolbar-minimize-icon'\" [tooltip]=\"'Minimize - [Alt + N]'\" (click)=\"minimize()\"></tru-toolbar-button>\r\n <tru-toolbar-button *ngIf=\"!window.maximized\" [icon]=\"'tru-toolbar-maximize-icon'\" [tooltip]=\"'Maximize Window - [Alt + M]'\" (click)=\"maximize()\" class=\"maximize\"></tru-toolbar-button>\r\n <tru-toolbar-button *ngIf=\"window.maximized\" [icon]=\"'tru-toolbar-restore-icon'\" [tooltip]=\"'Restore Window - [Alt + M]'\" (click)=\"maximize()\" class=\"maximize\"></tru-toolbar-button>\r\n <tru-toolbar-button [icon]=\"'tru-toolbar-close-icon'\" [tooltip]=\"'Close Window - [Alt + SHIFT + X]'\" (click)=\"close(null)\"></tru-toolbar-button>\r\n </tru-toolbar>\r\n </div>\r\n </div>\r\n <fieldset ng-disabled=\"!window.active\" class=\"desktop-window-fieldset\" [ngClass]=\"{'desktop-window-opacity': !window.active}\">\r\n <div class=\"desktop-window-content\">\r\n <div *ngFor=\"let view of window.views\">\r\n <tru-desktop-view [view]=\"view\" [active]=\"view.active\" [hidden]=\"!view.active\"><ng-template></ng-template></tru-desktop-view>\r\n </div>\r\n </div>\r\n </fieldset>\r\n <span class=\"desktop-window-resizable-handle desktop-window-resizable-nw\" tru-desktop-resizable [window]=\"window\" *ngIf=\"!window.maximized\" [direction]=\"'nw'\"></span>\r\n <span class=\"desktop-window-resizable-handle desktop-window-resizable-ne\" tru-desktop-resizable [window]=\"window\" *ngIf=\"!window.maximized\" [direction]=\"'ne'\"></span>\r\n <span class=\"desktop-window-resizable-handle desktop-window-resizable-sw\" tru-desktop-resizable [window]=\"window\" *ngIf=\"!window.maximized\" [direction]=\"'sw'\"></span>\r\n <span class=\"desktop-window-resizable-handle desktop-window-resizable-se\" tru-desktop-resizable [window]=\"window\" *ngIf=\"!window.maximized\" [direction]=\"'se'\"></span>\r\n <span class=\"desktop-window-resizable-handle desktop-window-resizable-n\" tru-desktop-resizable [window]=\"window\" *ngIf=\"!window.maximized\" [direction]=\"'n'\"></span>\r\n <span class=\"desktop-window-resizable-handle desktop-window-resizable-s\" tru-desktop-resizable [window]=\"window\" *ngIf=\"!window.maximized\" [direction]=\"'s'\"></span>\r\n <span class=\"desktop-window-resizable-handle desktop-window-resizable-w\" tru-desktop-resizable [window]=\"window\" *ngIf=\"!window.maximized\" [direction]=\"'w'\"></span>\r\n <span class=\"desktop-window-resizable-handle desktop-window-resizable-e\" tru-desktop-resizable [window]=\"window\" *ngIf=\"!window.maximized\" [direction]=\"'e'\"></span>\r\n</div>\r\n", styles: ["body{-webkit-user-select:none;-moz-user-select:-moz-none;-ms-user-select:none;user-select:none}input,textarea{-moz-user-select:text}.desktop-text{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);font-size:14px;line-height:1;color:#333}.desktop-wrapper{position:absolute!important;inset:0;background:#fff;overflow:hidden}.desktop-relative{position:relative}.desktop-display-none{display:none}.desktop-click-through{pointer-events:none}.desktop-menubar-container{position:absolute!important;top:0;left:0;right:0;height:26px;background:#f8f8f8;border-bottom:1px solid #e7e7e7;padding-left:5px}\n", ".desktop-window-container{position:absolute!important;background-color:#fff;background-clip:padding-box;border-radius:0;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px #0003;border:1px solid #e7e7e7}.desktop-window-header{position:absolute!important;top:0;left:0;right:0;height:27px;background:#fff;border-top-left-radius:0;border-top-right-radius:0;border-bottom:1px solid #e7e7e7}.desktop-window-content{position:absolute!important;inset:27px 0 0;background:#fff;overflow:hidden}.desktop-window-busy-overlay{position:absolute!important;inset:27px 0 0;background:#fff;overflow:hidden;z-index:1000;background-repeat:no-repeat;background-position:center center}.desktop-window-fieldset{padding:0;margin:0;border:0}.desktop-window-statusbar{position:absolute!important;left:0;right:0;bottom:0;height:23px;background:#fff;border-bottom-left-radius:0;border-bottom-right-radius:0;border-top:1px solid #e7e7e7}.desktop-window-statusbar-container{position:absolute;top:1px;left:2px;right:0}.desktop-window-navigation{position:absolute!important;top:0;left:0;bottom:0;width:105px;background:transparent}.desktop-window-navigation-button-group{position:absolute!important;left:0;padding:0;margin:0}.desktop-window-navigation-button-group button{margin-left:0!important}.desktop-window-navigation-button-group-split{position:absolute!important;top:2px;right:6px}.desktop-window-title{position:absolute!important;inset:0 80px 0 110px;height:27px;background:transparent;cursor:inherit;outline:0;margin-top:2px}.desktop-window-title.no-navigation,.desktop-window-title-hidden-nav{left:5px!important}.desktop-window-title-hidden-nav-with-buttons{left:55px!important}.desktop-window-title>div{position:absolute!important;top:5px;left:3px;cursor:default}.desktop-window-title>div>div{font-size:14px;font-weight:700}.desktop-window-action{position:absolute!important;top:0;right:0;bottom:0;width:80px;background:transparent}.desktop-window-action-button-group{position:absolute!important;top:2px;right:6px}.desktop-window-action .desktop-window-navigation-button-group{left:unset!important;right:0!important}.desktop-window-opacity{opacity:.5}.desktop-window-close-button:hover{background-color:maroon;color:#fff}.desktop-window-active{border:1px solid #6b6b6b!important;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.4);box-shadow:0 5px 10px #0006}.desktop-window-maximized{border-radius:0;-webkit-box-shadow:0 0 0 rgba(0,0,0,0);box-shadow:0 0 #0000;border-top-color:#f8f8f8!important;border-bottom-color:#f8f8f8!important}.desktop-window-is-dirty{display:block;float:left;height:15px;width:15px;font-size:15px;color:orange;margin-left:3px}.desktop-window-is-invalid{display:block;float:left;height:15px;width:15px;font-size:15px;color:red;margin-left:3px}.desktop-window-resizable-nw{position:absolute!important;overflow:hidden;width:10px;height:10px;left:-5px;top:-5px;z-index:103;cursor:nw-resize;opacity:0}.desktop-window-resizable-ne{position:absolute!important;overflow:hidden;width:10px;height:10px;right:-5px;top:-5px;z-index:103;cursor:ne-resize;opacity:0}.desktop-window-resizable-sw{position:absolute!important;overflow:hidden;width:10px;height:10px;left:-5px;bottom:-5px;z-index:103;cursor:sw-resize;opacity:0}.desktop-window-resizable-se{position:absolute!important;overflow:hidden;width:10px;height:10px;right:-5px;bottom:-5px;z-index:103;cursor:se-resize;opacity:0}.desktop-window-resizable-n{position:absolute!important;top:0;left:10px;right:10px;overflow:hidden;height:5px;z-index:102;cursor:s-resize;opacity:0;margin-top:-5px}.desktop-window-resizable-s{position:absolute!important;left:10px;right:10px;bottom:0;overflow:hidden;height:5px;z-index:102;cursor:s-resize;opacity:0;margin-bottom:-5px}.desktop-window-resizable-w{position:absolute!important;top:10px;left:0;bottom:10px;overflow:hidden;width:5px;z-index:102;cursor:w-resize;opacity:0;margin-left:-5px}.desktop-window-resizable-e{position:absolute!important;top:10px;right:0;bottom:10px;overflow:hidden;width:5px;z-index:102;cursor:e-resize;opacity:0;margin-right:-5px}div.desktop-window-resizable-handle{display:none!important;visibility:hidden!important}.desktop-window-save-icon,.desktop-window-revert-icon{opacity:.5}.desktop-window-save-icon-has-changes,.desktop-window-revert-icon-has-changes{opacity:1}::ng-deep .desktop-window-disabled{pointer-events:none}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: TruDesktopResizable, selector: "[tru-desktop-resizable]", inputs: ["window", "maximized", "direction"] }, { kind: "component", type: TruDesktopView, selector: "tru-desktop-view", inputs: ["view", "active"] }, { kind: "component", type: TruToolbar, selector: "tru-toolbar", inputs: ["config"] }, { kind: "component", type: TruToolbarButton, selector: "tru-toolbar-button", inputs: ["config", "icon", "text", "disabled", "tooltip", "type"], outputs: ["onClick", "onKeydown"] }, { kind: "component", type: TruToolbarSeparator, selector: "tru-toolbar-separator" }, { kind: "directive", type: TruDesktopWindowStateMonitor, selector: "[truDesktopWindowStateMonitor]", inputs: ["truDesktopWindowStateMonitor"] }] });
|
|
8765
8751
|
}
|
|
8766
8752
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TruDesktopWindow, decorators: [{
|
|
8767
8753
|
type: Component,
|
|
8768
|
-
args: [{ selector: 'tru-desktop-window', providers: [TruDataContext, TruEntityAccessor, TruReportManager, TruActionInvoke, TruDesktopViewEventNotifier, TruWindowEventHandler, TruWindowManager], template: "<div class=\"desktop-window-container\"\r\n [ngClass]=\"{'desktop-window-active': window.active, 'desktop-window-maximized': window.maximized}\"\r\n [ngStyle]=\"{'z-index': window.zIndex, 'top': window.top, 'left': window.left, 'right': window.right, 'bottom': window.bottom, 'height': window.height, 'width': window.width, 'min-height': window.minHeight, 'minWidth': window.minWidth}\"\r\n [style.offsetLeft.px]=\"x\"\r\n [style.offsetTop.px]=\"y\"\r\n (mousedown)=\"activate()\"\r\n [hidden]=\"window.minimized\"\r\n [truDesktopWindowDisable]=\"window.active\">\r\n <div class=\"desktop-window-header\" [ngClass]=\"{'desktop-window-maximized': window.maximized, 'desktop-window-opacity': !window.active}\">\r\n <div class=\"toolbar-window-navigation\" *ngIf=\"showNavigation\">\r\n <tru-toolbar>\r\n <tru-toolbar-button [icon]=\"'tru-toolbar-previous-icon'\" [tooltip]=\"'Go Back One View - [Alt + Left]'\" (click)=\"previousView()\"></tru-toolbar-button>\r\n <tru-toolbar-button [icon]=\"'tru-toolbar-next-icon'\" [tooltip]=\"'Go Forward One View - [Alt + Right]'\" (click)=\"nextView()\"></tru-toolbar-button>\r\n <tru-toolbar-button [icon]=\"'tru-toolbar-save-icon'\" class=\"desktop-window-save-icon\" [ngClass]=\"{'desktop-window-save-icon-has-changes': hasChanges()}\" [tooltip]=\"'Save - [Ctrl + S]'\" (click)=\"save()\"></tru-toolbar-button>\r\n <tru-toolbar-button [icon]=\"'tru-toolbar-revert-icon'\" class=\"desktop-window-revert-icon\" [ngClass]=\"{'desktop-window-revert-icon-has-changes': hasChanges()}\" [tooltip]=\"'Revert - [Ctrl + Shift + R]'\" (click)=\"revert()\"></tru-toolbar-button>\r\n <tru-toolbar-separator></tru-toolbar-separator>\r\n </tru-toolbar>\r\n </div>\r\n <div class=\"desktop-window-title\" [ngClass]=\"{'no-navigation': !showNavigation}\" (dblclick)=\"maximize()\" (mousedown)=\"windowTitleMouseDown($event)\">\r\n <div class=\"desktop-click-through\">\r\n <div class=\"desktop-text\">{{window.title}}</div>\r\n </div>\r\n </div>\r\n <div class=\"desktop-window-action\" *ngIf=\"!window.isModal\">\r\n <tru-toolbar>\r\n <tru-toolbar-button [icon]=\"'tru-toolbar-minimize-icon'\" [tooltip]=\"'Minimize - [Alt + N]'\" (click)=\"minimize()\"></tru-toolbar-button>\r\n <tru-toolbar-button *ngIf=\"!window.maximized\" [icon]=\"'tru-toolbar-maximize-icon'\" [tooltip]=\"'Maximize Window - [Alt + M]'\" (click)=\"maximize()\" class=\"maximize\"></tru-toolbar-button>\r\n <tru-toolbar-button *ngIf=\"window.maximized\" [icon]=\"'tru-toolbar-restore-icon'\" [tooltip]=\"'Restore Window - [Alt + M]'\" (click)=\"maximize()\" class=\"maximize\"></tru-toolbar-button>\r\n <tru-toolbar-button [icon]=\"'tru-toolbar-close-icon'\" [tooltip]=\"'Close Window - [Alt + SHIFT + X]'\" (click)=\"close(null)\"></tru-toolbar-button>\r\n </tru-toolbar>\r\n </div>\r\n </div>\r\n <fieldset ng-disabled=\"!window.active\" class=\"desktop-window-fieldset\" [ngClass]=\"{'desktop-window-opacity': !window.active}\">\r\n <div class=\"desktop-window-content\">\r\n <div *ngFor=\"let view of window.views\">\r\n <tru-desktop-view [view]=\"view\" [active]=\"view.active\" [hidden]=\"!view.active\"><ng-template></ng-template></tru-desktop-view>\r\n </div>\r\n </div>\r\n </fieldset>\r\n <span class=\"desktop-window-resizable-handle desktop-window-resizable-nw\" tru-desktop-resizable [window]=\"window\" *ngIf=\"!window.maximized\" [direction]=\"'nw'\"></span>\r\n <span class=\"desktop-window-resizable-handle desktop-window-resizable-ne\" tru-desktop-resizable [window]=\"window\" *ngIf=\"!window.maximized\" [direction]=\"'ne'\"></span>\r\n <span class=\"desktop-window-resizable-handle desktop-window-resizable-sw\" tru-desktop-resizable [window]=\"window\" *ngIf=\"!window.maximized\" [direction]=\"'sw'\"></span>\r\n <span class=\"desktop-window-resizable-handle desktop-window-resizable-se\" tru-desktop-resizable [window]=\"window\" *ngIf=\"!window.maximized\" [direction]=\"'se'\"></span>\r\n <span class=\"desktop-window-resizable-handle desktop-window-resizable-n\" tru-desktop-resizable [window]=\"window\" *ngIf=\"!window.maximized\" [direction]=\"'n'\"></span>\r\n <span class=\"desktop-window-resizable-handle desktop-window-resizable-s\" tru-desktop-resizable [window]=\"window\" *ngIf=\"!window.maximized\" [direction]=\"'s'\"></span>\r\n <span class=\"desktop-window-resizable-handle desktop-window-resizable-w\" tru-desktop-resizable [window]=\"window\" *ngIf=\"!window.maximized\" [direction]=\"'w'\"></span>\r\n <span class=\"desktop-window-resizable-handle desktop-window-resizable-e\" tru-desktop-resizable [window]=\"window\" *ngIf=\"!window.maximized\" [direction]=\"'e'\"></span>\r\n</div>\r\n", styles: ["body{-webkit-user-select:none;-moz-user-select:-moz-none;-ms-user-select:none;user-select:none}input,textarea{-moz-user-select:text}.desktop-text{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);font-size:14px;line-height:1;color:#333}.desktop-wrapper{position:absolute!important;inset:0;background:#fff;overflow:hidden}.desktop-relative{position:relative}.desktop-display-none{display:none}.desktop-click-through{pointer-events:none}.desktop-menubar-container{position:absolute!important;top:0;left:0;right:0;height:26px;background:#f8f8f8;border-bottom:1px solid #e7e7e7;padding-left:5px}\n", ".desktop-window-container{position:absolute!important;background-color:#fff;background-clip:padding-box;border-radius:0;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px #0003;border:1px solid #e7e7e7}.desktop-window-header{position:absolute!important;top:0;left:0;right:0;height:27px;background:#fff;border-top-left-radius:0;border-top-right-radius:0;border-bottom:1px solid #e7e7e7}.desktop-window-content{position:absolute!important;inset:27px 0 0;background:#fff;overflow:hidden}.desktop-window-busy-overlay{position:absolute!important;inset:27px 0 0;background:#fff;overflow:hidden;z-index:1000;background-repeat:no-repeat;background-position:center center}.desktop-window-fieldset{padding:0;margin:0;border:0}.desktop-window-statusbar{position:absolute!important;left:0;right:0;bottom:0;height:23px;background:#fff;border-bottom-left-radius:0;border-bottom-right-radius:0;border-top:1px solid #e7e7e7}.desktop-window-statusbar-container{position:absolute;top:1px;left:2px;right:0}.desktop-window-navigation{position:absolute!important;top:0;left:0;bottom:0;width:105px;background:transparent}.desktop-window-navigation-button-group{position:absolute!important;left:0;padding:0;margin:0}.desktop-window-navigation-button-group button{margin-left:0!important}.desktop-window-navigation-button-group-split{position:absolute!important;top:2px;right:6px}.desktop-window-title{position:absolute!important;inset:0 80px 0 110px;height:27px;background:transparent;cursor:inherit;outline:0;margin-top:2px}.desktop-window-title.no-navigation,.desktop-window-title-hidden-nav{left:5px!important}.desktop-window-title-hidden-nav-with-buttons{left:55px!important}.desktop-window-title>div{position:absolute!important;top:5px;left:3px;cursor:default}.desktop-window-title>div>div{font-size:14px;font-weight:700}.desktop-window-action{position:absolute!important;top:0;right:0;bottom:0;width:80px;background:transparent}.desktop-window-action-button-group{position:absolute!important;top:2px;right:6px}.desktop-window-action .desktop-window-navigation-button-group{left:unset!important;right:0!important}.desktop-window-opacity{opacity:.5}.desktop-window-close-button:hover{background-color:maroon;color:#fff}.desktop-window-active{border:1px solid #6b6b6b!important;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.4);box-shadow:0 5px 10px #0006}.desktop-window-maximized{border-radius:0;-webkit-box-shadow:0 0 0 rgba(0,0,0,0);box-shadow:0 0 #0000;border-top-color:#f8f8f8!important;border-bottom-color:#f8f8f8!important}.desktop-window-is-dirty{display:block;float:left;height:15px;width:15px;font-size:15px;color:orange;margin-left:3px}.desktop-window-is-invalid{display:block;float:left;height:15px;width:15px;font-size:15px;color:red;margin-left:3px}.desktop-window-resizable-nw{position:absolute!important;overflow:hidden;width:10px;height:10px;left:-5px;top:-5px;z-index:103;cursor:nw-resize;opacity:0}.desktop-window-resizable-ne{position:absolute!important;overflow:hidden;width:10px;height:10px;right:-5px;top:-5px;z-index:103;cursor:ne-resize;opacity:0}.desktop-window-resizable-sw{position:absolute!important;overflow:hidden;width:10px;height:10px;left:-5px;bottom:-5px;z-index:103;cursor:sw-resize;opacity:0}.desktop-window-resizable-se{position:absolute!important;overflow:hidden;width:10px;height:10px;right:-5px;bottom:-5px;z-index:103;cursor:se-resize;opacity:0}.desktop-window-resizable-n{position:absolute!important;top:0;left:10px;right:10px;overflow:hidden;height:5px;z-index:102;cursor:s-resize;opacity:0;margin-top:-5px}.desktop-window-resizable-s{position:absolute!important;left:10px;right:10px;bottom:0;overflow:hidden;height:5px;z-index:102;cursor:s-resize;opacity:0;margin-bottom:-5px}.desktop-window-resizable-w{position:absolute!important;top:10px;left:0;bottom:10px;overflow:hidden;width:5px;z-index:102;cursor:w-resize;opacity:0;margin-left:-5px}.desktop-window-resizable-e{position:absolute!important;top:10px;right:0;bottom:10px;overflow:hidden;width:5px;z-index:102;cursor:e-resize;opacity:0;margin-right:-5px}div.desktop-window-resizable-handle{display:none!important;visibility:hidden!important}.desktop-window-save-icon,.desktop-window-revert-icon{opacity:.5}.desktop-window-save-icon-has-changes,.desktop-window-revert-icon-has-changes{opacity:1}::ng-deep .desktop-window-disabled{pointer-events:none}\n"] }]
|
|
8754
|
+
args: [{ selector: 'tru-desktop-window', providers: [TruDataContext, TruEntityAccessor, TruReportManager, TruActionInvoke, TruDesktopViewEventNotifier, TruWindowEventHandler, TruWindowManager], template: "<div class=\"desktop-window-container\"\r\n [ngClass]=\"{'desktop-window-active': window.active, 'desktop-window-maximized': window.maximized}\"\r\n [ngStyle]=\"{'z-index': window.zIndex, 'top': window.top, 'left': window.left, 'right': window.right, 'bottom': window.bottom, 'height': window.height, 'width': window.width, 'min-height': window.minHeight, 'minWidth': window.minWidth}\"\r\n [style.offsetLeft.px]=\"x\"\r\n [style.offsetTop.px]=\"y\"\r\n (mousedown)=\"activate()\"\r\n [hidden]=\"window.minimized\"\r\n [truDesktopWindowStateMonitor]=\"window.active\">\r\n <div class=\"desktop-window-header\" [ngClass]=\"{'desktop-window-maximized': window.maximized, 'desktop-window-opacity': !window.active}\">\r\n <div class=\"toolbar-window-navigation\" *ngIf=\"showNavigation\">\r\n <tru-toolbar>\r\n <tru-toolbar-button [icon]=\"'tru-toolbar-previous-icon'\" [tooltip]=\"'Go Back One View - [Alt + Left]'\" (click)=\"previousView()\"></tru-toolbar-button>\r\n <a href=\"tru-desktop-window.html\">tru-desktop-window.html</a>\r\n <tru-toolbar-button [icon]=\"'tru-toolbar-next-icon'\" [tooltip]=\"'Go Forward One View - [Alt + Right]'\" (click)=\"nextView()\"></tru-toolbar-button>\r\n <tru-toolbar-button [icon]=\"'tru-toolbar-save-icon'\" class=\"desktop-window-save-icon\" [ngClass]=\"{'desktop-window-save-icon-has-changes': hasChanges()}\" [tooltip]=\"'Save - [Ctrl + S]'\" (click)=\"save()\"></tru-toolbar-button>\r\n <tru-toolbar-button [icon]=\"'tru-toolbar-revert-icon'\" class=\"desktop-window-revert-icon\" [ngClass]=\"{'desktop-window-revert-icon-has-changes': hasChanges()}\" [tooltip]=\"'Revert - [Ctrl + Shift + R]'\" (click)=\"revert()\"></tru-toolbar-button>\r\n <tru-toolbar-separator></tru-toolbar-separator>\r\n </tru-toolbar>\r\n </div>\r\n <div class=\"desktop-window-title\" [ngClass]=\"{'no-navigation': !showNavigation}\" (dblclick)=\"maximize()\" (mousedown)=\"windowTitleMouseDown($event)\">\r\n <div class=\"desktop-click-through\">\r\n <div class=\"desktop-text\">{{window.title}}</div>\r\n </div>\r\n </div>\r\n <div class=\"desktop-window-action\" *ngIf=\"!window.isModal\">\r\n <tru-toolbar>\r\n <tru-toolbar-button [icon]=\"'tru-toolbar-minimize-icon'\" [tooltip]=\"'Minimize - [Alt + N]'\" (click)=\"minimize()\"></tru-toolbar-button>\r\n <tru-toolbar-button *ngIf=\"!window.maximized\" [icon]=\"'tru-toolbar-maximize-icon'\" [tooltip]=\"'Maximize Window - [Alt + M]'\" (click)=\"maximize()\" class=\"maximize\"></tru-toolbar-button>\r\n <tru-toolbar-button *ngIf=\"window.maximized\" [icon]=\"'tru-toolbar-restore-icon'\" [tooltip]=\"'Restore Window - [Alt + M]'\" (click)=\"maximize()\" class=\"maximize\"></tru-toolbar-button>\r\n <tru-toolbar-button [icon]=\"'tru-toolbar-close-icon'\" [tooltip]=\"'Close Window - [Alt + SHIFT + X]'\" (click)=\"close(null)\"></tru-toolbar-button>\r\n </tru-toolbar>\r\n </div>\r\n </div>\r\n <fieldset ng-disabled=\"!window.active\" class=\"desktop-window-fieldset\" [ngClass]=\"{'desktop-window-opacity': !window.active}\">\r\n <div class=\"desktop-window-content\">\r\n <div *ngFor=\"let view of window.views\">\r\n <tru-desktop-view [view]=\"view\" [active]=\"view.active\" [hidden]=\"!view.active\"><ng-template></ng-template></tru-desktop-view>\r\n </div>\r\n </div>\r\n </fieldset>\r\n <span class=\"desktop-window-resizable-handle desktop-window-resizable-nw\" tru-desktop-resizable [window]=\"window\" *ngIf=\"!window.maximized\" [direction]=\"'nw'\"></span>\r\n <span class=\"desktop-window-resizable-handle desktop-window-resizable-ne\" tru-desktop-resizable [window]=\"window\" *ngIf=\"!window.maximized\" [direction]=\"'ne'\"></span>\r\n <span class=\"desktop-window-resizable-handle desktop-window-resizable-sw\" tru-desktop-resizable [window]=\"window\" *ngIf=\"!window.maximized\" [direction]=\"'sw'\"></span>\r\n <span class=\"desktop-window-resizable-handle desktop-window-resizable-se\" tru-desktop-resizable [window]=\"window\" *ngIf=\"!window.maximized\" [direction]=\"'se'\"></span>\r\n <span class=\"desktop-window-resizable-handle desktop-window-resizable-n\" tru-desktop-resizable [window]=\"window\" *ngIf=\"!window.maximized\" [direction]=\"'n'\"></span>\r\n <span class=\"desktop-window-resizable-handle desktop-window-resizable-s\" tru-desktop-resizable [window]=\"window\" *ngIf=\"!window.maximized\" [direction]=\"'s'\"></span>\r\n <span class=\"desktop-window-resizable-handle desktop-window-resizable-w\" tru-desktop-resizable [window]=\"window\" *ngIf=\"!window.maximized\" [direction]=\"'w'\"></span>\r\n <span class=\"desktop-window-resizable-handle desktop-window-resizable-e\" tru-desktop-resizable [window]=\"window\" *ngIf=\"!window.maximized\" [direction]=\"'e'\"></span>\r\n</div>\r\n", styles: ["body{-webkit-user-select:none;-moz-user-select:-moz-none;-ms-user-select:none;user-select:none}input,textarea{-moz-user-select:text}.desktop-text{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);font-size:14px;line-height:1;color:#333}.desktop-wrapper{position:absolute!important;inset:0;background:#fff;overflow:hidden}.desktop-relative{position:relative}.desktop-display-none{display:none}.desktop-click-through{pointer-events:none}.desktop-menubar-container{position:absolute!important;top:0;left:0;right:0;height:26px;background:#f8f8f8;border-bottom:1px solid #e7e7e7;padding-left:5px}\n", ".desktop-window-container{position:absolute!important;background-color:#fff;background-clip:padding-box;border-radius:0;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px #0003;border:1px solid #e7e7e7}.desktop-window-header{position:absolute!important;top:0;left:0;right:0;height:27px;background:#fff;border-top-left-radius:0;border-top-right-radius:0;border-bottom:1px solid #e7e7e7}.desktop-window-content{position:absolute!important;inset:27px 0 0;background:#fff;overflow:hidden}.desktop-window-busy-overlay{position:absolute!important;inset:27px 0 0;background:#fff;overflow:hidden;z-index:1000;background-repeat:no-repeat;background-position:center center}.desktop-window-fieldset{padding:0;margin:0;border:0}.desktop-window-statusbar{position:absolute!important;left:0;right:0;bottom:0;height:23px;background:#fff;border-bottom-left-radius:0;border-bottom-right-radius:0;border-top:1px solid #e7e7e7}.desktop-window-statusbar-container{position:absolute;top:1px;left:2px;right:0}.desktop-window-navigation{position:absolute!important;top:0;left:0;bottom:0;width:105px;background:transparent}.desktop-window-navigation-button-group{position:absolute!important;left:0;padding:0;margin:0}.desktop-window-navigation-button-group button{margin-left:0!important}.desktop-window-navigation-button-group-split{position:absolute!important;top:2px;right:6px}.desktop-window-title{position:absolute!important;inset:0 80px 0 110px;height:27px;background:transparent;cursor:inherit;outline:0;margin-top:2px}.desktop-window-title.no-navigation,.desktop-window-title-hidden-nav{left:5px!important}.desktop-window-title-hidden-nav-with-buttons{left:55px!important}.desktop-window-title>div{position:absolute!important;top:5px;left:3px;cursor:default}.desktop-window-title>div>div{font-size:14px;font-weight:700}.desktop-window-action{position:absolute!important;top:0;right:0;bottom:0;width:80px;background:transparent}.desktop-window-action-button-group{position:absolute!important;top:2px;right:6px}.desktop-window-action .desktop-window-navigation-button-group{left:unset!important;right:0!important}.desktop-window-opacity{opacity:.5}.desktop-window-close-button:hover{background-color:maroon;color:#fff}.desktop-window-active{border:1px solid #6b6b6b!important;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.4);box-shadow:0 5px 10px #0006}.desktop-window-maximized{border-radius:0;-webkit-box-shadow:0 0 0 rgba(0,0,0,0);box-shadow:0 0 #0000;border-top-color:#f8f8f8!important;border-bottom-color:#f8f8f8!important}.desktop-window-is-dirty{display:block;float:left;height:15px;width:15px;font-size:15px;color:orange;margin-left:3px}.desktop-window-is-invalid{display:block;float:left;height:15px;width:15px;font-size:15px;color:red;margin-left:3px}.desktop-window-resizable-nw{position:absolute!important;overflow:hidden;width:10px;height:10px;left:-5px;top:-5px;z-index:103;cursor:nw-resize;opacity:0}.desktop-window-resizable-ne{position:absolute!important;overflow:hidden;width:10px;height:10px;right:-5px;top:-5px;z-index:103;cursor:ne-resize;opacity:0}.desktop-window-resizable-sw{position:absolute!important;overflow:hidden;width:10px;height:10px;left:-5px;bottom:-5px;z-index:103;cursor:sw-resize;opacity:0}.desktop-window-resizable-se{position:absolute!important;overflow:hidden;width:10px;height:10px;right:-5px;bottom:-5px;z-index:103;cursor:se-resize;opacity:0}.desktop-window-resizable-n{position:absolute!important;top:0;left:10px;right:10px;overflow:hidden;height:5px;z-index:102;cursor:s-resize;opacity:0;margin-top:-5px}.desktop-window-resizable-s{position:absolute!important;left:10px;right:10px;bottom:0;overflow:hidden;height:5px;z-index:102;cursor:s-resize;opacity:0;margin-bottom:-5px}.desktop-window-resizable-w{position:absolute!important;top:10px;left:0;bottom:10px;overflow:hidden;width:5px;z-index:102;cursor:w-resize;opacity:0;margin-left:-5px}.desktop-window-resizable-e{position:absolute!important;top:10px;right:0;bottom:10px;overflow:hidden;width:5px;z-index:102;cursor:e-resize;opacity:0;margin-right:-5px}div.desktop-window-resizable-handle{display:none!important;visibility:hidden!important}.desktop-window-save-icon,.desktop-window-revert-icon{opacity:.5}.desktop-window-save-icon-has-changes,.desktop-window-revert-icon-has-changes{opacity:1}::ng-deep .desktop-window-disabled{pointer-events:none}\n"] }]
|
|
8769
8755
|
}], ctorParameters: () => [{ type: TruDataContext }, { type: TruUiNotification }, { type: TruTextManager }, { type: TruWindowEventHandler }, { type: i0.ElementRef }, { type: TruUtil }, { type: i0.ChangeDetectorRef }], propDecorators: { window: [{
|
|
8770
8756
|
type: Input
|
|
8771
8757
|
}], viewportCtrl: [{
|
|
@@ -8973,19 +8959,6 @@ class TruDesktop {
|
|
|
8973
8959
|
altPressed = false;
|
|
8974
8960
|
xPressed = false;
|
|
8975
8961
|
logoUrl = null;
|
|
8976
|
-
copyObjectWithGettersAndSetters = (source) => {
|
|
8977
|
-
const target = {};
|
|
8978
|
-
for (const key in source) {
|
|
8979
|
-
const descriptor = Object.getOwnPropertyDescriptor(source, key);
|
|
8980
|
-
if (descriptor.get || descriptor.set) {
|
|
8981
|
-
Object.defineProperty(target, key, descriptor);
|
|
8982
|
-
}
|
|
8983
|
-
else {
|
|
8984
|
-
target[key] = source[key];
|
|
8985
|
-
}
|
|
8986
|
-
}
|
|
8987
|
-
return target;
|
|
8988
|
-
};
|
|
8989
8962
|
/**
|
|
8990
8963
|
* @tru.doc function
|
|
8991
8964
|
* @name truDesktopComponent.getDesktop
|
|
@@ -9208,7 +9181,7 @@ class TruDesktop {
|
|
|
9208
9181
|
*
|
|
9209
9182
|
*/
|
|
9210
9183
|
configureWindow = (windowConfigOverlays) => {
|
|
9211
|
-
var windowConfigInstance =
|
|
9184
|
+
var windowConfigInstance = Object.assign({}, this.desktop.windowConfig);
|
|
9212
9185
|
windowConfigInstance.savedPosition = Object.create({ top: 0, left: 0, right: 0, bottom: 0, height: 0, width: 0 });
|
|
9213
9186
|
windowConfigInstance.zIndex = this.getNextMaxZIndex();
|
|
9214
9187
|
//windowConfigInstance.globals = Object.assign({}, $rootScope.$eval(this.options.globals));
|
|
@@ -9819,17 +9792,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
|
|
|
9819
9792
|
}]
|
|
9820
9793
|
}] });
|
|
9821
9794
|
|
|
9822
|
-
class
|
|
9823
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type:
|
|
9824
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.5", ngImport: i0, type:
|
|
9825
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type:
|
|
9795
|
+
class TruDesktopWindowStateMonitorModule {
|
|
9796
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TruDesktopWindowStateMonitorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9797
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.5", ngImport: i0, type: TruDesktopWindowStateMonitorModule, declarations: [TruDesktopWindowStateMonitor], imports: [CommonModule, FormsModule], exports: [TruDesktopWindowStateMonitor] });
|
|
9798
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TruDesktopWindowStateMonitorModule, imports: [CommonModule, FormsModule] });
|
|
9826
9799
|
}
|
|
9827
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type:
|
|
9800
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TruDesktopWindowStateMonitorModule, decorators: [{
|
|
9828
9801
|
type: NgModule,
|
|
9829
9802
|
args: [{
|
|
9830
|
-
declarations: [
|
|
9803
|
+
declarations: [TruDesktopWindowStateMonitor],
|
|
9831
9804
|
imports: [CommonModule, FormsModule],
|
|
9832
|
-
exports: [
|
|
9805
|
+
exports: [TruDesktopWindowStateMonitor]
|
|
9833
9806
|
}]
|
|
9834
9807
|
}] });
|
|
9835
9808
|
|
|
@@ -9845,7 +9818,7 @@ class TruDesktopWindowModule {
|
|
|
9845
9818
|
TruToolbarModule,
|
|
9846
9819
|
TruToolbarButtonModule,
|
|
9847
9820
|
TruToolbarSeparatorModule,
|
|
9848
|
-
|
|
9821
|
+
TruDesktopWindowStateMonitorModule], exports: [TruDesktopWindow] });
|
|
9849
9822
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TruDesktopWindowModule, providers: [WindowConfig], imports: [CommonModule,
|
|
9850
9823
|
FormsModule,
|
|
9851
9824
|
MatButtonModule,
|
|
@@ -9856,7 +9829,7 @@ class TruDesktopWindowModule {
|
|
|
9856
9829
|
TruToolbarModule,
|
|
9857
9830
|
TruToolbarButtonModule,
|
|
9858
9831
|
TruToolbarSeparatorModule,
|
|
9859
|
-
|
|
9832
|
+
TruDesktopWindowStateMonitorModule] });
|
|
9860
9833
|
}
|
|
9861
9834
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: TruDesktopWindowModule, decorators: [{
|
|
9862
9835
|
type: NgModule,
|
|
@@ -9873,7 +9846,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImpor
|
|
|
9873
9846
|
TruToolbarModule,
|
|
9874
9847
|
TruToolbarButtonModule,
|
|
9875
9848
|
TruToolbarSeparatorModule,
|
|
9876
|
-
|
|
9849
|
+
TruDesktopWindowStateMonitorModule
|
|
9877
9850
|
],
|
|
9878
9851
|
providers: [WindowConfig],
|
|
9879
9852
|
exports: [TruDesktopWindow]
|