@messaia/cdk 15.0.0-rc64 → 15.0.0-rc66
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/common/directives/delayed-hover.directive.mjs +121 -0
- package/esm2020/lib/common/enums/app-event-type.mjs +6 -0
- package/esm2020/lib/common/models/app-event.mjs +7 -0
- package/esm2020/lib/common/pipes/func.pipe.mjs +3 -3
- package/esm2020/lib/common/public_api.mjs +6 -1
- package/esm2020/lib/common/services/event-queue.service.mjs +33 -0
- package/esm2020/lib/layout/layout-compact/layout-compact.component.mjs +184 -0
- package/esm2020/lib/layout/layout-manage-list/layout-manage-list.component.mjs +18 -13
- package/esm2020/lib/layout/layout.component.mjs +57 -28
- package/esm2020/lib/layout/layout.module.mjs +6 -2
- package/esm2020/lib/layout/list-toolbar/list-toolbar.component.mjs +5 -3
- package/esm2020/lib/layout/navigation-drawer/navigation-drawer.component.mjs +3 -9
- package/esm2020/lib/menu/components/menu.component.mjs +42 -7
- package/esm2020/lib/menu/menu.module.mjs +14 -6
- package/esm2020/lib/menu/models/menu-item.mjs +2 -2
- package/fesm2015/messaia-cdk.mjs +708 -296
- package/fesm2015/messaia-cdk.mjs.map +1 -1
- package/fesm2020/messaia-cdk.mjs +700 -293
- package/fesm2020/messaia-cdk.mjs.map +1 -1
- package/lib/common/directives/delayed-hover.directive.d.ts +73 -0
- package/lib/common/enums/app-event-type.d.ts +4 -0
- package/lib/common/models/app-event.d.ts +6 -0
- package/lib/common/public_api.d.ts +5 -0
- package/lib/common/services/event-queue.service.d.ts +23 -0
- package/lib/common/styles/_common-theme.scss +7 -2
- package/lib/layout/_layout-theme.scss +7 -3
- package/lib/layout/layout-compact/layout-compact.component.d.ts +128 -0
- package/lib/layout/layout-manage-list/layout-manage-list.component.d.ts +8 -8
- package/lib/layout/layout.component.d.ts +40 -14
- package/lib/layout/layout.module.d.ts +27 -25
- package/lib/layout/list-toolbar/list-toolbar.component.d.ts +5 -1
- package/lib/layout/navigation-drawer/navigation-drawer.component.d.ts +0 -4
- package/lib/menu/components/menu.component.d.ts +24 -4
- package/lib/menu/menu.module.d.ts +7 -5
- package/lib/menu/models/menu-item.d.ts +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { Directive, ElementRef, EventEmitter, NgZone, Renderer2 } from "@angular/core";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class VdDelayedHoverDirective {
|
|
4
|
+
/**
|
|
5
|
+
* Initialize the delayedhover directive.
|
|
6
|
+
* @param elementRef
|
|
7
|
+
* @param renderer
|
|
8
|
+
* @param zone
|
|
9
|
+
*/
|
|
10
|
+
constructor(elementRef, renderer, zone) {
|
|
11
|
+
/**
|
|
12
|
+
* @property
|
|
13
|
+
*/
|
|
14
|
+
this.duration = 500;
|
|
15
|
+
/**
|
|
16
|
+
* @property
|
|
17
|
+
*/
|
|
18
|
+
this.delayedhoverEvents = new EventEmitter();
|
|
19
|
+
/**
|
|
20
|
+
* @field
|
|
21
|
+
*/
|
|
22
|
+
this.unlisteners = null;
|
|
23
|
+
/**
|
|
24
|
+
* @field
|
|
25
|
+
*/
|
|
26
|
+
this.timer = 0;
|
|
27
|
+
/**
|
|
28
|
+
* Handles the mousedown event inside the host element.
|
|
29
|
+
* @param event
|
|
30
|
+
*/
|
|
31
|
+
this.handleMousedown = (event) => {
|
|
32
|
+
/*
|
|
33
|
+
If the user shows any mouse-activity (other than enter/leave) inside the host
|
|
34
|
+
element, we want to cancel the hesitation timer. Such mouse activity indicates
|
|
35
|
+
non-hesitation intent on behalf of the user.
|
|
36
|
+
*/
|
|
37
|
+
this.cancel();
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Handles the mouseevent event inside the host element.
|
|
41
|
+
* @param event
|
|
42
|
+
*/
|
|
43
|
+
this.handleMouseenter = (event) => {
|
|
44
|
+
/*
|
|
45
|
+
When the user enters the host, start the hesitation timer. This timer will be
|
|
46
|
+
fulfilled if the user remains inside of the host without performing any other
|
|
47
|
+
meaningful actions.
|
|
48
|
+
*/
|
|
49
|
+
this.timer = setTimeout(this.handleTimerThreshold, this.duration);
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Handles the mouseleave event inside the host element.
|
|
53
|
+
* @param event
|
|
54
|
+
*/
|
|
55
|
+
this.handleMouseleave = (event) => {
|
|
56
|
+
this.cancel();
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* Handles the timer threshold event.
|
|
60
|
+
*/
|
|
61
|
+
this.handleTimerThreshold = () => {
|
|
62
|
+
/*
|
|
63
|
+
Once the hesitation timer threshold has been surpassed, we want to trigger an
|
|
64
|
+
output event. This time, however, we want to trigger Angular change-detection.
|
|
65
|
+
As such, we have set up into the Angular zone for the emission.
|
|
66
|
+
*/
|
|
67
|
+
this.zone.runGuarded(() => { this.delayedhoverEvents.emit(); });
|
|
68
|
+
};
|
|
69
|
+
this.elementRef = elementRef;
|
|
70
|
+
this.renderer = renderer;
|
|
71
|
+
this.zone = zone;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* I Cancels any pending hesitation timer.
|
|
75
|
+
*/
|
|
76
|
+
cancel() {
|
|
77
|
+
clearTimeout(this.timer);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Gets called once when the host element is being unmounted.
|
|
81
|
+
*/
|
|
82
|
+
ngOnDestroy() {
|
|
83
|
+
this.cancel();
|
|
84
|
+
/* If we have event-handler bindings, unbind them all */
|
|
85
|
+
if (this.unlisteners) {
|
|
86
|
+
for (var unlistener of this.unlisteners) {
|
|
87
|
+
unlistener();
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Gets called once after the host element has been mounted and the inputs
|
|
93
|
+
* have been bound for the first time.
|
|
94
|
+
*/
|
|
95
|
+
ngOnInit() {
|
|
96
|
+
/*
|
|
97
|
+
Instead of using host bindings, which would trigger change-detection digests
|
|
98
|
+
when the events are triggered, we want to drop-down out of the core NgZone so
|
|
99
|
+
that we can setup our event-handlers without adding processing overhead.
|
|
100
|
+
*/
|
|
101
|
+
this.zone.runOutsideAngular(() => {
|
|
102
|
+
this.unlisteners = [
|
|
103
|
+
this.renderer.listen(this.elementRef.nativeElement, "mouseenter", this.handleMouseenter),
|
|
104
|
+
this.renderer.listen(this.elementRef.nativeElement, "mousedown", this.handleMousedown),
|
|
105
|
+
this.renderer.listen(this.elementRef.nativeElement, "mouseleave", this.handleMouseleave)
|
|
106
|
+
];
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
/** @nocollapse */ VdDelayedHoverDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: VdDelayedHoverDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
|
|
111
|
+
/** @nocollapse */ VdDelayedHoverDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.0", type: VdDelayedHoverDirective, selector: "[delayedHover]", inputs: { duration: "duration" }, outputs: { delayedhoverEvents: "delayedHover" }, exportAs: ["hesitation"], ngImport: i0 });
|
|
112
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: VdDelayedHoverDirective, decorators: [{
|
|
113
|
+
type: Directive,
|
|
114
|
+
args: [{
|
|
115
|
+
selector: "[delayedHover]",
|
|
116
|
+
inputs: ["duration"],
|
|
117
|
+
outputs: ["delayedhoverEvents: delayedHover"],
|
|
118
|
+
exportAs: "hesitation"
|
|
119
|
+
}]
|
|
120
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.NgZone }]; } });
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsYXllZC1ob3Zlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi9jb21tb24vZGlyZWN0aXZlcy9kZWxheWVkLWhvdmVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUTFHLE1BQU0sT0FBTyx1QkFBdUI7SUFxQ2hDOzs7OztPQUtHO0lBQ0gsWUFBWSxVQUFzQixFQUFFLFFBQW1CLEVBQUUsSUFBWTtRQXpDckU7O1dBRUc7UUFDSSxhQUFRLEdBQVcsR0FBRyxDQUFDO1FBRTlCOztVQUVFO1FBQ0ssdUJBQWtCLEdBQXVCLElBQUksWUFBWSxFQUFFLENBQUM7UUFZbkU7O1dBRUc7UUFDSyxnQkFBVyxHQUFzQixJQUFJLENBQUM7UUFFOUM7O1dBRUc7UUFDSyxVQUFLLEdBQVEsQ0FBQyxDQUFDO1FBOER2Qjs7O1dBR0c7UUFDSyxvQkFBZSxHQUFHLENBQUMsS0FBaUIsRUFBUSxFQUFFO1lBQ2xEOzs7O2NBSUU7WUFDRixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbEIsQ0FBQyxDQUFBO1FBRUQ7OztXQUdHO1FBQ0sscUJBQWdCLEdBQUcsQ0FBQyxLQUFpQixFQUFRLEVBQUU7WUFDbkQ7Ozs7Y0FJRTtZQUNGLElBQUksQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdEUsQ0FBQyxDQUFBO1FBRUQ7OztXQUdHO1FBQ0sscUJBQWdCLEdBQUcsQ0FBQyxLQUFpQixFQUFRLEVBQUU7WUFDbkQsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2xCLENBQUMsQ0FBQTtRQUVEOztXQUVHO1FBQ0sseUJBQW9CLEdBQUcsR0FBUyxFQUFFO1lBQ3RDOzs7O2NBSUU7WUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwRSxDQUFDLENBQUE7UUE1RkcsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTTtRQUNULFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVEOztPQUVHO0lBQ0ksV0FBVztRQUNkLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUVkLHdEQUF3RDtRQUN4RCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDbEIsS0FBSyxJQUFJLFVBQVUsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUNyQyxVQUFVLEVBQUUsQ0FBQzthQUNoQjtTQUNKO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFFBQVE7UUFDWDs7OztVQUlFO1FBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FDdkIsR0FBRyxFQUFFO1lBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRztnQkFDZixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDO2dCQUN4RixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQztnQkFDdEYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsWUFBWSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQzthQUMzRixDQUFDO1FBQ04sQ0FBQyxDQUNKLENBQUM7SUFFTixDQUFDOzt1SUExRlEsdUJBQXVCOzJIQUF2Qix1QkFBdUI7MkZBQXZCLHVCQUF1QjtrQkFObkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixNQUFNLEVBQUUsQ0FBQyxVQUFVLENBQUM7b0JBQ3BCLE9BQU8sRUFBRSxDQUFDLGtDQUFrQyxDQUFDO29CQUM3QyxRQUFRLEVBQUUsWUFBWTtpQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgTmdab25lLCBPbkRlc3Ryb3ksIE9uSW5pdCwgUmVuZGVyZXIyIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6IFwiW2RlbGF5ZWRIb3Zlcl1cIixcclxuICAgIGlucHV0czogW1wiZHVyYXRpb25cIl0sXHJcbiAgICBvdXRwdXRzOiBbXCJkZWxheWVkaG92ZXJFdmVudHM6IGRlbGF5ZWRIb3ZlclwiXSxcclxuICAgIGV4cG9ydEFzOiBcImhlc2l0YXRpb25cIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgVmREZWxheWVkSG92ZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAcHJvcGVydHlcclxuICAgICAqL1xyXG4gICAgcHVibGljIGR1cmF0aW9uOiBudW1iZXIgPSA1MDA7XHJcblxyXG4gICAgLyoqXHJcbiAgICAqIEBwcm9wZXJ0eVxyXG4gICAgKi9cclxuICAgIHB1YmxpYyBkZWxheWVkaG92ZXJFdmVudHM6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgICAvKipcclxuICAgICogQGZpZWxkXHJcbiAgICAqL1xyXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGZpZWxkXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBmaWVsZFxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHVubGlzdGVuZXJzOiBGdW5jdGlvbltdIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZmllbGRcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSB0aW1lcjogYW55ID0gMDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBmaWVsZFxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHpvbmU6IE5nWm9uZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEluaXRpYWxpemUgdGhlIGRlbGF5ZWRob3ZlciBkaXJlY3RpdmUuXHJcbiAgICAgKiBAcGFyYW0gZWxlbWVudFJlZiBcclxuICAgICAqIEBwYXJhbSByZW5kZXJlciBcclxuICAgICAqIEBwYXJhbSB6b25lIFxyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmLCByZW5kZXJlcjogUmVuZGVyZXIyLCB6b25lOiBOZ1pvbmUpIHtcclxuICAgICAgICB0aGlzLmVsZW1lbnRSZWYgPSBlbGVtZW50UmVmO1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIgPSByZW5kZXJlcjtcclxuICAgICAgICB0aGlzLnpvbmUgPSB6b25lO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSSBDYW5jZWxzIGFueSBwZW5kaW5nIGhlc2l0YXRpb24gdGltZXIuXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjYW5jZWwoKTogdm9pZCB7XHJcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBjYWxsZWQgb25jZSB3aGVuIHRoZSBob3N0IGVsZW1lbnQgaXMgYmVpbmcgdW5tb3VudGVkLlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5jYW5jZWwoKTtcclxuXHJcbiAgICAgICAgLyogSWYgd2UgaGF2ZSBldmVudC1oYW5kbGVyIGJpbmRpbmdzLCB1bmJpbmQgdGhlbSBhbGwgKi9cclxuICAgICAgICBpZiAodGhpcy51bmxpc3RlbmVycykge1xyXG4gICAgICAgICAgICBmb3IgKHZhciB1bmxpc3RlbmVyIG9mIHRoaXMudW5saXN0ZW5lcnMpIHtcclxuICAgICAgICAgICAgICAgIHVubGlzdGVuZXIoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdldHMgY2FsbGVkIG9uY2UgYWZ0ZXIgdGhlIGhvc3QgZWxlbWVudCBoYXMgYmVlbiBtb3VudGVkIGFuZCB0aGUgaW5wdXRzIFxyXG4gICAgICogaGF2ZSBiZWVuIGJvdW5kIGZvciB0aGUgZmlyc3QgdGltZS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIC8qXHJcbiAgICAgICAgSW5zdGVhZCBvZiB1c2luZyBob3N0IGJpbmRpbmdzLCB3aGljaCB3b3VsZCB0cmlnZ2VyIGNoYW5nZS1kZXRlY3Rpb24gZGlnZXN0c1xyXG4gICAgICAgIHdoZW4gdGhlIGV2ZW50cyBhcmUgdHJpZ2dlcmVkLCB3ZSB3YW50IHRvIGRyb3AtZG93biBvdXQgb2YgdGhlIGNvcmUgTmdab25lIHNvXHJcbiAgICAgICAgdGhhdCB3ZSBjYW4gc2V0dXAgb3VyIGV2ZW50LWhhbmRsZXJzIHdpdGhvdXQgYWRkaW5nIHByb2Nlc3Npbmcgb3ZlcmhlYWQuXHJcbiAgICAgICAgKi9cclxuICAgICAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoXHJcbiAgICAgICAgICAgICgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMudW5saXN0ZW5lcnMgPSBbXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIFwibW91c2VlbnRlclwiLCB0aGlzLmhhbmRsZU1vdXNlZW50ZXIpLFxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBcIm1vdXNlZG93blwiLCB0aGlzLmhhbmRsZU1vdXNlZG93biksXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIFwibW91c2VsZWF2ZVwiLCB0aGlzLmhhbmRsZU1vdXNlbGVhdmUpXHJcbiAgICAgICAgICAgICAgICBdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgKTtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBIYW5kbGVzIHRoZSBtb3VzZWRvd24gZXZlbnQgaW5zaWRlIHRoZSBob3N0IGVsZW1lbnQuXHJcbiAgICAgKiBAcGFyYW0gZXZlbnQgXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgaGFuZGxlTW91c2Vkb3duID0gKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCA9PiB7XHJcbiAgICAgICAgLypcclxuICAgICAgICBJZiB0aGUgdXNlciBzaG93cyBhbnkgbW91c2UtYWN0aXZpdHkgKG90aGVyIHRoYW4gZW50ZXIvbGVhdmUpIGluc2lkZSB0aGUgaG9zdFxyXG4gICAgICAgIGVsZW1lbnQsIHdlIHdhbnQgdG8gY2FuY2VsIHRoZSBoZXNpdGF0aW9uIHRpbWVyLiBTdWNoIG1vdXNlIGFjdGl2aXR5IGluZGljYXRlc1xyXG4gICAgICAgIG5vbi1oZXNpdGF0aW9uIGludGVudCBvbiBiZWhhbGYgb2YgdGhlIHVzZXIuXHJcbiAgICAgICAgKi9cclxuICAgICAgICB0aGlzLmNhbmNlbCgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSGFuZGxlcyB0aGUgbW91c2VldmVudCBldmVudCBpbnNpZGUgdGhlIGhvc3QgZWxlbWVudC5cclxuICAgICAqIEBwYXJhbSBldmVudCBcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBoYW5kbGVNb3VzZWVudGVyID0gKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCA9PiB7XHJcbiAgICAgICAgLypcclxuICAgICAgICBXaGVuIHRoZSB1c2VyIGVudGVycyB0aGUgaG9zdCwgc3RhcnQgdGhlIGhlc2l0YXRpb24gdGltZXIuIFRoaXMgdGltZXIgd2lsbCBiZVxyXG4gICAgICAgIGZ1bGZpbGxlZCBpZiB0aGUgdXNlciByZW1haW5zIGluc2lkZSBvZiB0aGUgaG9zdCB3aXRob3V0IHBlcmZvcm1pbmcgYW55IG90aGVyXHJcbiAgICAgICAgbWVhbmluZ2Z1bCBhY3Rpb25zLlxyXG4gICAgICAgICovXHJcbiAgICAgICAgdGhpcy50aW1lciA9IHNldFRpbWVvdXQodGhpcy5oYW5kbGVUaW1lclRocmVzaG9sZCwgdGhpcy5kdXJhdGlvbik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBIYW5kbGVzIHRoZSBtb3VzZWxlYXZlIGV2ZW50IGluc2lkZSB0aGUgaG9zdCBlbGVtZW50LlxyXG4gICAgICogQHBhcmFtIGV2ZW50IFxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGhhbmRsZU1vdXNlbGVhdmUgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkID0+IHtcclxuICAgICAgICB0aGlzLmNhbmNlbCgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSGFuZGxlcyB0aGUgdGltZXIgdGhyZXNob2xkIGV2ZW50LlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGhhbmRsZVRpbWVyVGhyZXNob2xkID0gKCk6IHZvaWQgPT4ge1xyXG4gICAgICAgIC8qXHJcbiAgICAgICAgT25jZSB0aGUgaGVzaXRhdGlvbiB0aW1lciB0aHJlc2hvbGQgaGFzIGJlZW4gc3VycGFzc2VkLCB3ZSB3YW50IHRvIHRyaWdnZXIgYW5cclxuICAgICAgICBvdXRwdXQgZXZlbnQuIFRoaXMgdGltZSwgaG93ZXZlciwgd2Ugd2FudCB0byB0cmlnZ2VyIEFuZ3VsYXIgY2hhbmdlLWRldGVjdGlvbi5cclxuICAgICAgICBBcyBzdWNoLCB3ZSBoYXZlIHNldCB1cCBpbnRvIHRoZSBBbmd1bGFyIHpvbmUgZm9yIHRoZSBlbWlzc2lvbi5cclxuICAgICAgICAqL1xyXG4gICAgICAgIHRoaXMuem9uZS5ydW5HdWFyZGVkKCgpID0+IHsgdGhpcy5kZWxheWVkaG92ZXJFdmVudHMuZW1pdCgpOyB9KTtcclxuICAgIH1cclxufSJdfQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export var AppEventType;
|
|
2
|
+
(function (AppEventType) {
|
|
3
|
+
AppEventType["ClickedOnNotification"] = "CLICKED_ON_NOTIFICATION";
|
|
4
|
+
AppEventType["SocketEvent"] = "SOCKET_EVENT";
|
|
5
|
+
})(AppEventType || (AppEventType = {}));
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWV2ZW50LXR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvc3JjL2xpYi9jb21tb24vZW51bXMvYXBwLWV2ZW50LXR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksWUFHWDtBQUhELFdBQVksWUFBWTtJQUNwQixpRUFBaUQsQ0FBQTtJQUNqRCw0Q0FBNEIsQ0FBQTtBQUNoQyxDQUFDLEVBSFcsWUFBWSxLQUFaLFlBQVksUUFHdkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBBcHBFdmVudFR5cGUge1xyXG4gICAgQ2xpY2tlZE9uTm90aWZpY2F0aW9uID0gJ0NMSUNLRURfT05fTk9USUZJQ0FUSU9OJyxcclxuICAgIFNvY2tldEV2ZW50ID0gJ1NPQ0tFVF9FVkVOVCcsXHJcbn0iXX0=
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export class AppEvent {
|
|
2
|
+
constructor(type, payload) {
|
|
3
|
+
this.type = type;
|
|
4
|
+
this.payload = payload;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3NyYy9saWIvY29tbW9uL21vZGVscy9hcHAtZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLFFBQVE7SUFDakIsWUFBbUIsSUFBa0IsRUFBUyxPQUFVO1FBQXJDLFNBQUksR0FBSixJQUFJLENBQWM7UUFBUyxZQUFPLEdBQVAsT0FBTyxDQUFHO0lBQUssQ0FBQztDQUNqRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcEV2ZW50VHlwZSB9IGZyb20gXCIuLi9lbnVtcy9hcHAtZXZlbnQtdHlwZVwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIEFwcEV2ZW50PFQ+IHtcclxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyB0eXBlOiBBcHBFdmVudFR5cGUsIHB1YmxpYyBwYXlsb2FkOiBULCkgeyB9XHJcbn0iXX0=
|
|
@@ -6,9 +6,9 @@ export class FuncPipe {
|
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
8
|
/** @nocollapse */ FuncPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: FuncPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
9
|
-
/** @nocollapse */ FuncPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.0", ngImport: i0, type: FuncPipe, name: "func" });
|
|
9
|
+
/** @nocollapse */ FuncPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.1.0", ngImport: i0, type: FuncPipe, name: "func", pure: false });
|
|
10
10
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: FuncPipe, decorators: [{
|
|
11
11
|
type: Pipe,
|
|
12
|
-
args: [{ name: 'func' }]
|
|
12
|
+
args: [{ name: 'func', pure: false }]
|
|
13
13
|
}] });
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuYy5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3NyYy9saWIvY29tbW9uL3BpcGVzL2Z1bmMucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFHcEQsTUFBTSxPQUFPLFFBQVE7SUFDakIsU0FBUyxDQUFDLEtBQTZCLEVBQUUsR0FBRyxJQUFXO1FBQ25ELE9BQU8sS0FBSyxJQUFJLE9BQU8sS0FBSyxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUN6RSxDQUFDOzt3SEFIUSxRQUFRO3NIQUFSLFFBQVE7MkZBQVIsUUFBUTtrQkFEcEIsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuQFBpcGUoeyBuYW1lOiAnZnVuYycsIHB1cmU6IGZhbHNlIH0pXHJcbmV4cG9ydCBjbGFzcyBGdW5jUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gICAgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcgfCBGdW5jdGlvbiB8IHt9LCAuLi5hcmdzOiBhbnlbXSk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbHVlICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJyA/IHZhbHVlKC4uLmFyZ3MpIDogdmFsdWU7XHJcbiAgICB9XHJcbn0iXX0=
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
export * from './common.module';
|
|
2
|
+
export * from './directives/delayed-hover.directive';
|
|
2
3
|
export * from './directives/disable-control.directive';
|
|
4
|
+
export * from './enums/app-event-type';
|
|
5
|
+
export * from './enums/salutation';
|
|
6
|
+
export * from './models/app-event';
|
|
3
7
|
export * from './models/displayname-number-projection';
|
|
4
8
|
export * from './models/displayname-projection';
|
|
5
9
|
export * from './models/name-number-projection';
|
|
@@ -24,5 +28,6 @@ export * from './pipes/time.pipe';
|
|
|
24
28
|
export * from './pipes/titlecase.pipe';
|
|
25
29
|
export * from './pipes/truncate.pipe';
|
|
26
30
|
export * from './pipes/values';
|
|
31
|
+
export * from './services/event-queue.service';
|
|
27
32
|
export * from './templates/templates';
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL2NvbW1vbi9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbW1vbi5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvZGVsYXllZC1ob3Zlci5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvZGlzYWJsZS1jb250cm9sLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZW51bXMvYXBwLWV2ZW50LXR5cGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2VudW1zL3NhbHV0YXRpb24nO1xyXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9hcHAtZXZlbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9kaXNwbGF5bmFtZS1udW1iZXItcHJvamVjdGlvbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2Rpc3BsYXluYW1lLXByb2plY3Rpb24nO1xyXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9uYW1lLW51bWJlci1wcm9qZWN0aW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvbmFtZS1wcm9qZWN0aW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvdGl0bGUtcHJvamVjdGlvbic7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvZGF0YS1zb3VyY2UucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvZW51bS5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9waXBlcy9maWxlLXNpemUucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvZmlsdGVyLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL2ZpcnN0LWxldHRlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvZm9ybS1hcnJheS5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9waXBlcy9mb3JtLWNvbnRyb2wucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvZm9ybS1ncm91cC5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9waXBlcy9mdW5jLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL2tleXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL21vbnRoLW5hbWUucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcGlwZXMvb25seS1udW1iZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL29yZGVyLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL3BsYWNlaG9sZGVyLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL3NhZmUtaHRtbC5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9waXBlcy90aW1lLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3BpcGVzL3RpdGxlY2FzZS5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9waXBlcy90cnVuY2F0ZS5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9waXBlcy92YWx1ZXMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2V2ZW50LXF1ZXVlLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3RlbXBsYXRlcy90ZW1wbGF0ZXMnO1xyXG4iXX0=
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Injectable } from "@angular/core";
|
|
2
|
+
import { filter, Subject } from "rxjs";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class EventQueueService {
|
|
5
|
+
constructor() {
|
|
6
|
+
/**
|
|
7
|
+
* @property
|
|
8
|
+
*/
|
|
9
|
+
this.eventBrocker = new Subject();
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Event listener
|
|
13
|
+
* @param eventType
|
|
14
|
+
* @returns
|
|
15
|
+
*/
|
|
16
|
+
on(eventType) {
|
|
17
|
+
return this.eventBrocker.pipe(filter(event => event.type === eventType));
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Triggers an event
|
|
21
|
+
* @param event
|
|
22
|
+
*/
|
|
23
|
+
emit(event) {
|
|
24
|
+
this.eventBrocker.next(event);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
/** @nocollapse */ EventQueueService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: EventQueueService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
28
|
+
/** @nocollapse */ EventQueueService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: EventQueueService, providedIn: 'root' });
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: EventQueueService, decorators: [{
|
|
30
|
+
type: Injectable,
|
|
31
|
+
args: [{ providedIn: 'root' }]
|
|
32
|
+
}] });
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtcXVldWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL2NvbW1vbi9zZXJ2aWNlcy9ldmVudC1xdWV1ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBS25ELE1BQU0sT0FBTyxpQkFBaUI7SUFEOUI7UUFHSTs7V0FFRztRQUNLLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQWlCLENBQUM7S0FrQnZEO0lBaEJHOzs7O09BSUc7SUFDSSxFQUFFLENBQUMsU0FBdUI7UUFDN0IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVEOzs7T0FHRztJQUNJLElBQUksQ0FBSSxLQUFrQjtRQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDOztpSUF0QlEsaUJBQWlCO3FJQUFqQixpQkFBaUIsY0FESixNQUFNOzJGQUNuQixpQkFBaUI7a0JBRDdCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IGZpbHRlciwgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IEFwcEV2ZW50VHlwZSB9IGZyb20gXCIuLi9lbnVtcy9hcHAtZXZlbnQtdHlwZVwiO1xyXG5pbXBvcnQgeyBBcHBFdmVudCB9IGZyb20gXCIuLi9tb2RlbHMvYXBwLWV2ZW50XCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgRXZlbnRRdWV1ZVNlcnZpY2Uge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHByb3BlcnR5XHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgZXZlbnRCcm9ja2VyID0gbmV3IFN1YmplY3Q8QXBwRXZlbnQ8YW55Pj4oKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEV2ZW50IGxpc3RlbmVyXHJcbiAgICAgKiBAcGFyYW0gZXZlbnRUeXBlIFxyXG4gICAgICogQHJldHVybnMgXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBvbihldmVudFR5cGU6IEFwcEV2ZW50VHlwZSk6IE9ic2VydmFibGU8QXBwRXZlbnQ8YW55Pj4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmV2ZW50QnJvY2tlci5waXBlKGZpbHRlcihldmVudCA9PiBldmVudC50eXBlID09PSBldmVudFR5cGUpKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFRyaWdnZXJzIGFuIGV2ZW50XHJcbiAgICAgKiBAcGFyYW0gZXZlbnQgXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBlbWl0PFQ+KGV2ZW50OiBBcHBFdmVudDxUPik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZXZlbnRCcm9ja2VyLm5leHQoZXZlbnQpO1xyXG4gICAgfVxyXG59Il19
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import { MatDrawer, MatSidenav } from '@angular/material/sidenav';
|
|
3
|
+
import { VdMediaService } from '../../media/services/media.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../media/services/media.service";
|
|
6
|
+
import * as i2 from "@angular/material/sidenav";
|
|
7
|
+
import * as i3 from "../../menu/components/menu.component";
|
|
8
|
+
export class VdLayoutCompactComponent {
|
|
9
|
+
/**
|
|
10
|
+
* Constructor
|
|
11
|
+
*/
|
|
12
|
+
constructor(media) {
|
|
13
|
+
this.media = media;
|
|
14
|
+
/**
|
|
15
|
+
* @field
|
|
16
|
+
*/
|
|
17
|
+
this._sidenavWidth = '88px';
|
|
18
|
+
/**
|
|
19
|
+
* @field
|
|
20
|
+
*/
|
|
21
|
+
this._subMenuWidth = '230px';
|
|
22
|
+
/**
|
|
23
|
+
* @field
|
|
24
|
+
*/
|
|
25
|
+
this._mobile = false;
|
|
26
|
+
/**
|
|
27
|
+
* menuItems: MenuItem[]
|
|
28
|
+
*/
|
|
29
|
+
this.menuItems = [];
|
|
30
|
+
/**
|
|
31
|
+
* mode?: 'side', 'push' or 'over'
|
|
32
|
+
*
|
|
33
|
+
* The mode or styling of the sidenav.
|
|
34
|
+
* Defaults to "over".
|
|
35
|
+
*/
|
|
36
|
+
this.mode = 'side';
|
|
37
|
+
/**
|
|
38
|
+
* opened?: boolean
|
|
39
|
+
*
|
|
40
|
+
* Whether or not the sidenav is opened. Use this binding to open/close the sidenav.
|
|
41
|
+
* Defaults to "false".
|
|
42
|
+
*/
|
|
43
|
+
this.opened = true;
|
|
44
|
+
/**
|
|
45
|
+
* Expands the mini menu
|
|
46
|
+
*/
|
|
47
|
+
this.expanded = false;
|
|
48
|
+
/**
|
|
49
|
+
* @property
|
|
50
|
+
*/
|
|
51
|
+
this.subMenuHovered = false;
|
|
52
|
+
/**
|
|
53
|
+
* overGt?: string
|
|
54
|
+
*/
|
|
55
|
+
this.sideGt = 'sm';
|
|
56
|
+
/**
|
|
57
|
+
* Event emitted when the drawer expand state is changed.
|
|
58
|
+
*/
|
|
59
|
+
this.expandedChange = new EventEmitter();
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* @property
|
|
63
|
+
*/
|
|
64
|
+
get mobile() { return this._mobile; }
|
|
65
|
+
;
|
|
66
|
+
/**
|
|
67
|
+
* sidenavWidth?: string
|
|
68
|
+
*
|
|
69
|
+
* Sets the "width" of the sidenav in either "px" or "%"
|
|
70
|
+
* Defaults to "320px".
|
|
71
|
+
*/
|
|
72
|
+
set sidenavWidth(sidenavWidth) { this._sidenavWidth = sidenavWidth; }
|
|
73
|
+
;
|
|
74
|
+
get sidenavWidth() { return this._sidenavWidth; }
|
|
75
|
+
;
|
|
76
|
+
/**
|
|
77
|
+
* subMenuWidth?: string
|
|
78
|
+
*
|
|
79
|
+
* Sets the "width" of the sidenav in either "px" or "%"
|
|
80
|
+
* Defaults to "320px".
|
|
81
|
+
*/
|
|
82
|
+
set subMenuWidth(subMenuWidth) { this._subMenuWidth = subMenuWidth; }
|
|
83
|
+
;
|
|
84
|
+
get subMenuWidth() { return this._subMenuWidth; }
|
|
85
|
+
;
|
|
86
|
+
/**
|
|
87
|
+
* Checks if `ESC` should close the sidenav
|
|
88
|
+
* Should only close it for `push` and `over` modes
|
|
89
|
+
*/
|
|
90
|
+
get disableClose() { return this.mode === 'side'; }
|
|
91
|
+
/**
|
|
92
|
+
* Called after the constructor, initializing input properties, and the first call to ngOnChanges.
|
|
93
|
+
* Add 'implements OnInit' to the class.
|
|
94
|
+
*/
|
|
95
|
+
ngOnInit() {
|
|
96
|
+
this.sidenav.closedStart?.subscribe(x => {
|
|
97
|
+
// this.colapse();
|
|
98
|
+
});
|
|
99
|
+
if (this.sideGt) {
|
|
100
|
+
// this.media.registerQuery(`gt-${this.sideGt}`).subscribe((x: boolean) => {
|
|
101
|
+
// this._mobile = !x;
|
|
102
|
+
// this.mode = this._mobile ? 'over' : (this._mini ? 'side' : 'over');
|
|
103
|
+
// this.opened = this._mobile ? false : this._mini;
|
|
104
|
+
// this.expanded = false;
|
|
105
|
+
// });
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Proxy toggle method to access sidenav from outside (from vd-layout template).
|
|
110
|
+
*/
|
|
111
|
+
toggle() {
|
|
112
|
+
return this.sidenav.toggle(!this.sidenav.opened);
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Proxy open method to access sidenav from outside (from vd-layout template).
|
|
116
|
+
*/
|
|
117
|
+
open() {
|
|
118
|
+
return this.sidenav.open();
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Proxy close method to access sidenav from outside (from vd-layout template).
|
|
122
|
+
*/
|
|
123
|
+
close() {
|
|
124
|
+
return this.sidenav.close();
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Proxy close method to access sidenav from outside (from vd-layout template).
|
|
128
|
+
*/
|
|
129
|
+
colapseMenu($event) { }
|
|
130
|
+
/**
|
|
131
|
+
* Proxy expand method to access sidenav from outside (from vd-layout template).
|
|
132
|
+
*/
|
|
133
|
+
expandMenu($event) {
|
|
134
|
+
this.menuItems = $event?.item?.items;
|
|
135
|
+
if (this.menuItems?.length) {
|
|
136
|
+
this.subMenuDrawer.open();
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Event emitted when a the mouse is initially moved so that its hotspot is
|
|
141
|
+
* within the element at which the event was fired.
|
|
142
|
+
*/
|
|
143
|
+
onSubMenuMouseOver($event) {
|
|
144
|
+
this.subMenuHovered = true;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Event emitted when the cursor of the mouse is moved out of it.
|
|
148
|
+
*/
|
|
149
|
+
onSubMenuMouseOut($event) {
|
|
150
|
+
this.subMenuHovered = false;
|
|
151
|
+
if (this.subMenuDrawer.opened) {
|
|
152
|
+
this.subMenuDrawer.close();
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
/** @nocollapse */ VdLayoutCompactComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: VdLayoutCompactComponent, deps: [{ token: i1.VdMediaService }], target: i0.ɵɵFactoryTarget.Component });
|
|
157
|
+
/** @nocollapse */ VdLayoutCompactComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: VdLayoutCompactComponent, selector: "vd-layout-compact", inputs: { menuItems: "menuItems", mode: "mode", opened: "opened", expanded: "expanded", sideGt: "sideGt", sidenavWidth: "sidenavWidth", subMenuWidth: "subMenuWidth" }, outputs: { expandedChange: "expandedChange" }, viewQueries: [{ propertyName: "sidenav", first: true, predicate: MatSidenav, descendants: true, static: true }, { propertyName: "subMenuDrawer", first: true, predicate: ["subMenuDrawer"], descendants: true, static: true }], ngImport: i0, template: "<mat-sidenav-container class=\"sidenav-container-mini\" fullscreen>\r\n\t<mat-sidenav #sidenav class=\"vd-layout-sidenav sidenav-mini\" [mode]=\"mode\" [opened]=\"opened\" [style.max-width]=\"sidenavWidth\" [style.min-width]=\"sidenavWidth\" [disableClose]=\"disableClose\">\r\n\t\t<ng-content select=\"vd-navigation-drawer\"></ng-content>\r\n\t\t<ng-content select=\"[vd-sidenav-content]\"></ng-content>\r\n\t</mat-sidenav>\r\n\t<mat-drawer-container fullscreen>\r\n\t\t<mat-drawer #subMenuDrawer mode=\"over\" [style.max-width]=\"subMenuWidth\" [style.min-width]=\"subMenuWidth\" (mouseenter)=\"onSubMenuMouseOver($event)\" (mouseleave)=\"onSubMenuMouseOut($event)\">\r\n\t\t\t<vd-menu [items]=\"menuItems\" [activeExact]=\"false\"></vd-menu>\r\n\t\t</mat-drawer>\r\n\t\t<ng-content></ng-content>\r\n\t</mat-drawer-container>\r\n</mat-sidenav-container>", styles: [":host ::ng-deep .vd-navigation-drawer-content mat-nav-list .mat-mdc-list-item{display:flex;flex-direction:column;width:80px;margin:0 auto;padding:8px 0;height:66px!important}:host ::ng-deep .vd-navigation-drawer-content mat-nav-list .mat-mdc-list-item .mdc-list-item__content .mat-mdc-list-item-title{font-size:12px;font-weight:400;letter-spacing:.1px;padding-top:2px}\n"], dependencies: [{ kind: "component", type: i2.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: i2.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "component", type: i2.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { kind: "component", type: i2.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { kind: "component", type: i3.VdMenuComponent, selector: "vd-menu", inputs: ["items", "activeExact", "fontSet", "avatar"], outputs: ["click", "over", "out"] }] });
|
|
158
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: VdLayoutCompactComponent, decorators: [{
|
|
159
|
+
type: Component,
|
|
160
|
+
args: [{ selector: 'vd-layout-compact', template: "<mat-sidenav-container class=\"sidenav-container-mini\" fullscreen>\r\n\t<mat-sidenav #sidenav class=\"vd-layout-sidenav sidenav-mini\" [mode]=\"mode\" [opened]=\"opened\" [style.max-width]=\"sidenavWidth\" [style.min-width]=\"sidenavWidth\" [disableClose]=\"disableClose\">\r\n\t\t<ng-content select=\"vd-navigation-drawer\"></ng-content>\r\n\t\t<ng-content select=\"[vd-sidenav-content]\"></ng-content>\r\n\t</mat-sidenav>\r\n\t<mat-drawer-container fullscreen>\r\n\t\t<mat-drawer #subMenuDrawer mode=\"over\" [style.max-width]=\"subMenuWidth\" [style.min-width]=\"subMenuWidth\" (mouseenter)=\"onSubMenuMouseOver($event)\" (mouseleave)=\"onSubMenuMouseOut($event)\">\r\n\t\t\t<vd-menu [items]=\"menuItems\" [activeExact]=\"false\"></vd-menu>\r\n\t\t</mat-drawer>\r\n\t\t<ng-content></ng-content>\r\n\t</mat-drawer-container>\r\n</mat-sidenav-container>", styles: [":host ::ng-deep .vd-navigation-drawer-content mat-nav-list .mat-mdc-list-item{display:flex;flex-direction:column;width:80px;margin:0 auto;padding:8px 0;height:66px!important}:host ::ng-deep .vd-navigation-drawer-content mat-nav-list .mat-mdc-list-item .mdc-list-item__content .mat-mdc-list-item-title{font-size:12px;font-weight:400;letter-spacing:.1px;padding-top:2px}\n"] }]
|
|
161
|
+
}], ctorParameters: function () { return [{ type: i1.VdMediaService }]; }, propDecorators: { sidenav: [{
|
|
162
|
+
type: ViewChild,
|
|
163
|
+
args: [MatSidenav, { static: true }]
|
|
164
|
+
}], subMenuDrawer: [{
|
|
165
|
+
type: ViewChild,
|
|
166
|
+
args: ['subMenuDrawer', { static: true }]
|
|
167
|
+
}], menuItems: [{
|
|
168
|
+
type: Input
|
|
169
|
+
}], mode: [{
|
|
170
|
+
type: Input
|
|
171
|
+
}], opened: [{
|
|
172
|
+
type: Input
|
|
173
|
+
}], expanded: [{
|
|
174
|
+
type: Input
|
|
175
|
+
}], sideGt: [{
|
|
176
|
+
type: Input
|
|
177
|
+
}], expandedChange: [{
|
|
178
|
+
type: Output
|
|
179
|
+
}], sidenavWidth: [{
|
|
180
|
+
type: Input
|
|
181
|
+
}], subMenuWidth: [{
|
|
182
|
+
type: Input
|
|
183
|
+
}] } });
|
|
184
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWNvbXBhY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3NyYy9saWIvbGF5b3V0L2xheW91dC1jb21wYWN0L2xheW91dC1jb21wYWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9zcmMvbGliL2xheW91dC9sYXlvdXQtY29tcGFjdC9sYXlvdXQtY29tcGFjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsU0FBUyxFQUF5QixVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7O0FBU3BFLE1BQU0sT0FBTyx3QkFBd0I7SUEyR3BDOztPQUVHO0lBQ0gsWUFBb0IsS0FBcUI7UUFBckIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUE1R3pDOztXQUVHO1FBQ0ssa0JBQWEsR0FBVyxNQUFNLENBQUM7UUFFdkM7O1dBRUc7UUFDSyxrQkFBYSxHQUFXLE9BQU8sQ0FBQztRQUV4Qzs7V0FFRztRQUNLLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFjakM7O1dBRUc7UUFFSSxjQUFTLEdBQWUsRUFBRSxDQUFDO1FBRWxDOzs7OztXQUtHO1FBRUksU0FBSSxHQUE2QixNQUFNLENBQUM7UUFFL0M7Ozs7O1dBS0c7UUFFSSxXQUFNLEdBQVksSUFBSSxDQUFDO1FBTzlCOztXQUVHO1FBRUksYUFBUSxHQUFZLEtBQUssQ0FBQztRQUVqQzs7V0FFRztRQUNJLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBRXZDOztXQUVHO1FBRUksV0FBTSxHQUFXLElBQUksQ0FBQztRQUU3Qjs7V0FF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SztnQkFZQyxRQUFRO3NCQURkLEtBQUs7Z0JBWUMsTUFBTTtzQkFEWixLQUFLO2dCQU9DLGNBQWM7c0JBRHBCLE1BQU07Z0JBVUksWUFBWTtzQkFEdEIsS0FBSztnQkFXSyxZQUFZO3NCQUR0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREcmF3ZXIsIE1hdERyYXdlclRvZ2dsZVJlc3VsdCwgTWF0U2lkZW5hdiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnO1xyXG5pbXBvcnQgeyBWZE1lZGlhU2VydmljZSB9IGZyb20gJy4uLy4uL21lZGlhL3NlcnZpY2VzL21lZGlhLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNZW51SXRlbSB9IGZyb20gJy4uLy4uL21lbnUvbW9kZWxzL21lbnUtaXRlbSc7XHJcbmltcG9ydCB7IElMYXlvdXRUb2dnbGFibGUgfSBmcm9tICcuLi9sYXlvdXQtdG9nZ2xlLmNsYXNzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAndmQtbGF5b3V0LWNvbXBhY3QnLFxyXG5cdHN0eWxlVXJsczogWycuL2xheW91dC1jb21wYWN0LmNvbXBvbmVudC5zY3NzJ10sXHJcblx0dGVtcGxhdGVVcmw6ICcuL2xheW91dC1jb21wYWN0LmNvbXBvbmVudC5odG1sJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFZkTGF5b3V0Q29tcGFjdENvbXBvbmVudCBpbXBsZW1lbnRzIElMYXlvdXRUb2dnbGFibGUge1xyXG5cclxuXHQvKipcclxuXHQgKiBAZmllbGRcclxuXHQgKi9cclxuXHRwcml2YXRlIF9zaWRlbmF2V2lkdGg6IHN0cmluZyA9ICc4OHB4JztcclxuXHJcblx0LyoqXHJcblx0ICogQGZpZWxkXHJcblx0ICovXHJcblx0cHJpdmF0ZSBfc3ViTWVudVdpZHRoOiBzdHJpbmcgPSAnMjMwcHgnO1xyXG5cclxuXHQvKipcclxuXHQgKiBAZmllbGRcclxuXHQgKi9cclxuXHRwcml2YXRlIF9tb2JpbGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblx0LyoqXHJcblx0ICogQHByb3BlcnR5XHJcblx0ICovXHJcblx0QFZpZXdDaGlsZChNYXRTaWRlbmF2LCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG5cdHB1YmxpYyBzaWRlbmF2OiBNYXRTaWRlbmF2O1xyXG5cclxuXHQvKipcclxuXHQgKiBAcHJvcGVydHlcclxuXHQgKi9cclxuXHRAVmlld0NoaWxkKCdzdWJNZW51RHJhd2VyJywgeyBzdGF0aWM6IHRydWUgfSlcclxuXHRwdWJsaWMgc3ViTWVudURyYXdlcjogTWF0RHJhd2VyO1xyXG5cclxuXHQvKipcclxuXHQgKiBtZW51SXRlbXM6IE1lbnVJdGVtW11cclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHB1YmxpYyBtZW51SXRlbXM6IE1lbnVJdGVtW10gPSBbXTtcclxuXHJcblx0LyoqXHJcblx0ICogbW9kZT86ICdzaWRlJywgJ3B1c2gnIG9yICdvdmVyJ1xyXG5cdCAqXHJcblx0ICogVGhlIG1vZGUgb3Igc3R5bGluZyBvZiB0aGUgc2lkZW5hdi5cclxuXHQgKiBEZWZhdWx0cyB0byBcIm92ZXJcIi5cclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHB1YmxpYyBtb2RlOiAnc2lkZScgfCAncHVzaCcgfCAnb3ZlcicgPSAnc2lkZSc7XHJcblxyXG5cdC8qKlxyXG5cdCAqIG9wZW5lZD86IGJvb2xlYW5cclxuXHQgKlxyXG5cdCAqIFdoZXRoZXIgb3Igbm90IHRoZSBzaWRlbmF2IGlzIG9wZW5lZC4gVXNlIHRoaXMgYmluZGluZyB0byBvcGVuL2Nsb3NlIHRoZSBzaWRlbmF2LlxyXG5cdCAqIERlZmF1bHRzIHRvIFwiZmFsc2VcIi5cclxuXHQgKi9cclxuXHRASW5wdXQoKVxyXG5cdHB1YmxpYyBvcGVuZWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuXHQvKipcclxuXHQgKiBAcHJvcGVydHlcclxuXHQgKi9cclxuXHRwdWJsaWMgZ2V0IG1vYmlsZSgpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX21vYmlsZTsgfTtcclxuXHJcblx0LyoqXHJcblx0ICogRXhwYW5kcyB0aGUgbWluaSBtZW51XHJcblx0ICovXHJcblx0QElucHV0KClcclxuXHRwdWJsaWMgZXhwYW5kZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblx0LyoqXHJcblx0ICogQHByb3BlcnR5XHJcblx0ICovXHJcblx0cHVibGljIHN1Yk1lbnVIb3ZlcmVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG5cdC8qKlxyXG5cdCAqIG92ZXJHdD86IHN0cmluZ1xyXG5cdCAqL1xyXG5cdEBJbnB1dCgpXHJcblx0cHVibGljIHNpZGVHdDogc3RyaW5nID0gJ3NtJztcclxuXHJcblx0LyoqIFxyXG5cdCAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgZHJhd2VyIGV4cGFuZCBzdGF0ZSBpcyBjaGFuZ2VkLlxyXG5cdCAqL1xyXG5cdEBPdXRwdXQoKVxyXG5cdHB1YmxpYyBleHBhbmRlZENoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuXHQvKipcclxuXHQgKiBzaWRlbmF2V2lkdGg/OiBzdHJpbmdcclxuXHQgKlxyXG5cdCAqIFNldHMgdGhlIFwid2lkdGhcIiBvZiB0aGUgc2lkZW5hdiBpbiBlaXRoZXIgXCJweFwiIG9yIFwiJVwiXHJcblx0ICogRGVmYXVsdHMgdG8gXCIzMjBweFwiLlxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpXHJcblx0cHVibGljIHNldCBzaWRlbmF2V2lkdGgoc2lkZW5hdldpZHRoKSB7IHRoaXMuX3NpZGVuYXZXaWR0aCA9IHNpZGVuYXZXaWR0aDsgfTtcclxuXHRwdWJsaWMgZ2V0IHNpZGVuYXZXaWR0aCgpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5fc2lkZW5hdldpZHRoOyB9O1xyXG5cclxuXHQvKipcclxuXHQgKiBzdWJNZW51V2lkdGg/OiBzdHJpbmdcclxuXHQgKlxyXG5cdCAqIFNldHMgdGhlIFwid2lkdGhcIiBvZiB0aGUgc2lkZW5hdiBpbiBlaXRoZXIgXCJweFwiIG9yIFwiJVwiXHJcblx0ICogRGVmYXVsdHMgdG8gXCIzMjBweFwiLlxyXG5cdCAqL1xyXG5cdEBJbnB1dCgpXHJcblx0cHVibGljIHNldCBzdWJNZW51V2lkdGgoc3ViTWVudVdpZHRoKSB7IHRoaXMuX3N1Yk1lbnVXaWR0aCA9IHN1Yk1lbnVXaWR0aDsgfTtcclxuXHRwdWJsaWMgZ2V0IHN1Yk1lbnVXaWR0aCgpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5fc3ViTWVudVdpZHRoOyB9O1xyXG5cclxuXHQvKipcclxuXHQgKiBDaGVja3MgaWYgYEVTQ2Agc2hvdWxkIGNsb3NlIHRoZSBzaWRlbmF2XHJcblx0ICogU2hvdWxkIG9ubHkgY2xvc2UgaXQgZm9yIGBwdXNoYCBhbmQgYG92ZXJgIG1vZGVzXHJcblx0ICovXHJcblx0cHVibGljIGdldCBkaXNhYmxlQ2xvc2UoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLm1vZGUgPT09ICdzaWRlJzsgfVxyXG5cclxuXHQvKipcclxuXHQgKiBDb25zdHJ1Y3RvclxyXG5cdCAqL1xyXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgbWVkaWE6IFZkTWVkaWFTZXJ2aWNlKSB7IH1cclxuXHJcblx0LyoqXHJcblx0ICogQ2FsbGVkIGFmdGVyIHRoZSBjb25zdHJ1Y3RvciwgaW5pdGlhbGl6aW5nIGlucHV0IHByb3BlcnRpZXMsIGFuZCB0aGUgZmlyc3QgY2FsbCB0byBuZ09uQ2hhbmdlcy5cclxuXHQgKiBBZGQgJ2ltcGxlbWVudHMgT25Jbml0JyB0byB0aGUgY2xhc3MuXHJcblx0ICovXHJcblx0bmdPbkluaXQoKTogdm9pZCB7XHJcblx0XHR0aGlzLnNpZGVuYXYuY2xvc2VkU3RhcnQ/LnN1YnNjcmliZSh4ID0+IHtcclxuXHRcdFx0Ly8gdGhpcy5jb2xhcHNlKCk7XHJcblx0XHR9KTtcclxuXHJcblx0XHRpZiAodGhpcy5zaWRlR3QpIHtcclxuXHRcdFx0Ly8gdGhpcy5tZWRpYS5yZWdpc3RlclF1ZXJ5KGBndC0ke3RoaXMuc2lkZUd0fWApLnN1YnNjcmliZSgoeDogYm9vbGVhbikgPT4ge1xyXG5cdFx0XHQvLyBcdHRoaXMuX21vYmlsZSA9ICF4O1xyXG5cdFx0XHQvLyBcdHRoaXMubW9kZSA9IHRoaXMuX21vYmlsZSA/ICdvdmVyJyA6ICh0aGlzLl9taW5pID8gJ3NpZGUnIDogJ292ZXInKTtcclxuXHRcdFx0Ly8gXHR0aGlzLm9wZW5lZCA9IHRoaXMuX21vYmlsZSA/IGZhbHNlIDogdGhpcy5fbWluaTtcclxuXHRcdFx0Ly8gXHR0aGlzLmV4cGFuZGVkID0gZmFsc2U7XHJcblx0XHRcdC8vIH0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LyoqXHJcblx0ICogUHJveHkgdG9nZ2xlIG1ldGhvZCB0byBhY2Nlc3Mgc2lkZW5hdiBmcm9tIG91dHNpZGUgKGZyb20gdmQtbGF5b3V0IHRlbXBsYXRlKS5cclxuXHQgKi9cclxuXHRwdWJsaWMgdG9nZ2xlKCk6IFByb21pc2U8TWF0RHJhd2VyVG9nZ2xlUmVzdWx0PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5zaWRlbmF2LnRvZ2dsZSghdGhpcy5zaWRlbmF2Lm9wZW5lZCk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBQcm94eSBvcGVuIG1ldGhvZCB0byBhY2Nlc3Mgc2lkZW5hdiBmcm9tIG91dHNpZGUgKGZyb20gdmQtbGF5b3V0IHRlbXBsYXRlKS5cclxuXHQgKi9cclxuXHRwdWJsaWMgb3BlbigpOiBQcm9taXNlPE1hdERyYXdlclRvZ2dsZVJlc3VsdD4ge1xyXG5cdFx0cmV0dXJuIHRoaXMuc2lkZW5hdi5vcGVuKCk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBQcm94eSBjbG9zZSBtZXRob2QgdG8gYWNjZXNzIHNpZGVuYXYgZnJvbSBvdXRzaWRlIChmcm9tIHZkLWxheW91dCB0ZW1wbGF0ZSkuXHJcblx0ICovXHJcblx0cHVibGljIGNsb3NlKCk6IFByb21pc2U8TWF0RHJhd2VyVG9nZ2xlUmVzdWx0PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5zaWRlbmF2LmNsb3NlKCk7XHJcblx0fVxyXG5cclxuXHQvKipcclxuXHQgKiBQcm94eSBjbG9zZSBtZXRob2QgdG8gYWNjZXNzIHNpZGVuYXYgZnJvbSBvdXRzaWRlIChmcm9tIHZkLWxheW91dCB0ZW1wbGF0ZSkuXHJcblx0ICovXHJcblx0cHVibGljIGNvbGFwc2VNZW51KCRldmVudDogYW55KTogdm9pZCB7IH1cclxuXHJcblx0LyoqXHJcblx0ICogUHJveHkgZXhwYW5kIG1ldGhvZCB0byBhY2Nlc3Mgc2lkZW5hdiBmcm9tIG91dHNpZGUgKGZyb20gdmQtbGF5b3V0IHRlbXBsYXRlKS5cclxuXHQgKi9cclxuXHRwdWJsaWMgZXhwYW5kTWVudSgkZXZlbnQ6IGFueSk6IHZvaWQge1xyXG5cdFx0dGhpcy5tZW51SXRlbXMgPSAkZXZlbnQ/Lml0ZW0/Lml0ZW1zO1xyXG5cdFx0aWYgKHRoaXMubWVudUl0ZW1zPy5sZW5ndGgpIHtcclxuXHRcdFx0dGhpcy5zdWJNZW51RHJhd2VyLm9wZW4oKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEV2ZW50IGVtaXR0ZWQgd2hlbiBhIHRoZSBtb3VzZSBpcyBpbml0aWFsbHkgbW92ZWQgc28gdGhhdCBpdHMgaG90c3BvdCBpcyBcclxuXHQgKiB3aXRoaW4gdGhlIGVsZW1lbnQgYXQgd2hpY2ggdGhlIGV2ZW50IHdhcyBmaXJlZC5cclxuXHQgKi9cclxuXHRwdWJsaWMgb25TdWJNZW51TW91c2VPdmVyKCRldmVudDogYW55KTogdm9pZCB7XHJcblx0XHR0aGlzLnN1Yk1lbnVIb3ZlcmVkID0gdHJ1ZTtcclxuXHR9XHJcblxyXG5cdC8qKlxyXG5cdCAqIEV2ZW50IGVtaXR0ZWQgd2hlbiB0aGUgY3Vyc29yIG9mIHRoZSBtb3VzZSBpcyBtb3ZlZCBvdXQgb2YgaXQuXHJcblx0ICovXHJcblx0cHVibGljIG9uU3ViTWVudU1vdXNlT3V0KCRldmVudDogYW55KTogdm9pZCB7XHJcblx0XHR0aGlzLnN1Yk1lbnVIb3ZlcmVkID0gZmFsc2U7XHJcblx0XHRpZiAodGhpcy5zdWJNZW51RHJhd2VyLm9wZW5lZCkge1xyXG5cdFx0XHR0aGlzLnN1Yk1lbnVEcmF3ZXIuY2xvc2UoKTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIiwiPG1hdC1zaWRlbmF2LWNvbnRhaW5lciBjbGFzcz1cInNpZGVuYXYtY29udGFpbmVyLW1pbmlcIiBmdWxsc2NyZWVuPlxyXG5cdDxtYXQtc2lkZW5hdiAjc2lkZW5hdiBjbGFzcz1cInZkLWxheW91dC1zaWRlbmF2IHNpZGVuYXYtbWluaVwiIFttb2RlXT1cIm1vZGVcIiBbb3BlbmVkXT1cIm9wZW5lZFwiIFtzdHlsZS5tYXgtd2lkdGhdPVwic2lkZW5hdldpZHRoXCIgW3N0eWxlLm1pbi13aWR0aF09XCJzaWRlbmF2V2lkdGhcIiBbZGlzYWJsZUNsb3NlXT1cImRpc2FibGVDbG9zZVwiPlxyXG5cdFx0PG5nLWNvbnRlbnQgc2VsZWN0PVwidmQtbmF2aWdhdGlvbi1kcmF3ZXJcIj48L25nLWNvbnRlbnQ+XHJcblx0XHQ8bmctY29udGVudCBzZWxlY3Q9XCJbdmQtc2lkZW5hdi1jb250ZW50XVwiPjwvbmctY29udGVudD5cclxuXHQ8L21hdC1zaWRlbmF2PlxyXG5cdDxtYXQtZHJhd2VyLWNvbnRhaW5lciBmdWxsc2NyZWVuPlxyXG5cdFx0PG1hdC1kcmF3ZXIgI3N1Yk1lbnVEcmF3ZXIgbW9kZT1cIm92ZXJcIiBbc3R5bGUubWF4LXdpZHRoXT1cInN1Yk1lbnVXaWR0aFwiIFtzdHlsZS5taW4td2lkdGhdPVwic3ViTWVudVdpZHRoXCIgKG1vdXNlZW50ZXIpPVwib25TdWJNZW51TW91c2VPdmVyKCRldmVudClcIiAobW91c2VsZWF2ZSk9XCJvblN1Yk1lbnVNb3VzZU91dCgkZXZlbnQpXCI+XHJcblx0XHRcdDx2ZC1tZW51IFtpdGVtc109XCJtZW51SXRlbXNcIiBbYWN0aXZlRXhhY3RdPVwiZmFsc2VcIj48L3ZkLW1lbnU+XHJcblx0XHQ8L21hdC1kcmF3ZXI+XHJcblx0XHQ8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcblx0PC9tYXQtZHJhd2VyLWNvbnRhaW5lcj5cclxuPC9tYXQtc2lkZW5hdi1jb250YWluZXI+Il19
|