ngx-material-drawer
Version:
A dynamic, configurable Angular Material drawer with dashboard capabilities
200 lines • 17.8 kB
JavaScript
import { Injectable } from "@angular/core";
import { Subject, ReplaySubject } from "rxjs";
import * as i0 from "@angular/core";
export class NgxMaterialDrawerEventEmitter {
constructor() {
this.onMatDrawerInit = new Subject();
this.onMatDrawerAfterViewInit = new Subject();
this.onNavStateChange = new Subject();
this.onDataChange = new ReplaySubject(1);
this.onGridDataChange = new ReplaySubject(1);
this.onSideNavOpen = new Subject();
this.onSideNavClosed = new Subject();
this.onMinVarientChange = new Subject();
this.onSideNavItemClick = new Subject();
this.onSideNavItemExpanded = new Subject();
this.onSideNavItemCollapsed = new Subject();
this.onMenuItemClick = new Subject();
this.onMenuItemExpanded = new Subject();
this.onMenuItemCollapsed = new Subject();
this.onSearchValueChange = new Subject();
this.onSerachFocusIn = new Subject();
this.onSerachFocusOut = new Subject();
this.onSerachInputOpen = new Subject();
this.onSerachInputClosed = new Subject();
this.onFabExpanded = new Subject();
this.onFabCollapsed = new Subject();
this.onMainFabButtonClick = new Subject();
this.onFabButtonClick = new Subject();
}
/**
* Material drawer Main component life cycle
* @param event json
*/
matDrawerInit(event) {
this.onMatDrawerInit.next(event);
}
/**
* Material drawer Main component life cycle
* @param event json
*/
matDrawerAfterViewInit(event) {
this.onMatDrawerAfterViewInit.next(event);
}
/**
* using on side nav toggle
* @param event json
*/
navStateChange(event) {
this.onNavStateChange.next(event);
}
/**
* On Search value change
* @param searchObject containing value and input search object
*/
searchValueChange(searchObject) {
this.onSearchValueChange.next(searchObject);
}
/**
* On Search focusin
* @param searchObject containing value and input search object
*/
serachFocusIn(searchObject) {
this.onSerachFocusIn.next(searchObject);
}
/**
* On Search focusout
* @param searchObject containing value and input search object
*/
serachFocusOut(searchObject) {
this.onSerachFocusOut.next(searchObject);
}
/**
* On Search focusout
* @param searchObject containing value and input search object
*/
serachInputOpen(searchObject) {
this.onSerachInputOpen.next(searchObject);
}
/**
* On Search focusout
* @param searchObject containing value and input search object
*/
serachInputClosed(searchObject) {
this.onSerachInputClosed.next(searchObject);
}
/**
* on data chamge
* @param event new json
*/
dataChange(event) {
this.onDataChange.next(event);
}
/**
* on data chamge
* @param event new json
*/
gridDataChange(event) {
this.onGridDataChange.next(event);
}
/**
* using on side nav open
* @param event json
*/
sideNavOpen(event) {
this.onSideNavOpen.next(event);
}
/**
* using on side nav closed
* @param event json
*/
sideNavClosed(event) {
this.onSideNavClosed.next(event);
}
/**
* Not using currently
* @param event json
*/
minVarientChange(event) {
this.onMinVarientChange.next(event);
}
/**
* using in side nav item
* @param event json
*/
sideNavItemClick(event) {
this.onSideNavItemClick.next(event);
}
/**
* using in side nav item
* @param event json
*/
sideNavItemExpanded(event) {
this.onSideNavItemExpanded.next(event);
}
/**
* using in side nav item
* @param event json
*/
sideNavItemCollapsed(event) {
this.onSideNavItemCollapsed.next(event);
}
/**
* using in toolbar menu
* @param event json
*/
menuItemClick(event) {
this.onMenuItemClick.next(event);
}
/**
* using in toolbar menu
* @param event json
*/
menuItemExpanded(event) {
this.onMenuItemExpanded.next(event);
}
/**
* using in toolbar menu
* @param event json
*/
menuItemCollapsed(event) {
this.onMenuItemCollapsed.next(event);
}
/**
* using in toolbar menu
* @param event json
*/
fabExpanded(event) {
this.onFabExpanded.next(event);
}
/**
* using in toolbar menu
* @param event json
*/
fabCollapsed(event) {
this.onFabCollapsed.next(event);
}
/**
* using in toolbar menu
* @param event json
*/
mainFabButtonClick(event) {
this.onMainFabButtonClick.next(event);
}
/**
* using in toolbar menu
* @param event json
*/
fabButtonClick(event) {
this.onFabButtonClick.next(event);
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgxMaterialDrawerEventEmitter, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgxMaterialDrawerEventEmitter, providedIn: "root" }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: NgxMaterialDrawerEventEmitter, decorators: [{
type: Injectable,
args: [{
providedIn: "root",
}]
}], ctorParameters: () => [] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0LWV2ZW50LWVtaXR0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1kcmF3ZXIvc3JjL2xpYi9hcHAvdXRpbHMvbWF0LWV2ZW50LWVtaXR0ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFLOUMsTUFBTSxPQUFPLDZCQUE2QjtJQXlCeEM7UUF4Qk8sb0JBQWUsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ2hDLDZCQUF3QixHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDekMscUJBQWdCLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUNqQyxpQkFBWSxHQUFHLElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BDLHFCQUFnQixHQUFHLElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hDLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUM5QixvQkFBZSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDaEMsdUJBQWtCLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUNuQyx1QkFBa0IsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ25DLDBCQUFxQixHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDdEMsMkJBQXNCLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUN2QyxvQkFBZSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDaEMsdUJBQWtCLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUNuQyx3QkFBbUIsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ3BDLHdCQUFtQixHQUFHLElBQUksT0FBTyxFQUFF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LElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVEOzs7T0FHRztJQUNJLGFBQWEsQ0FBQyxLQUFVO1FBQzdCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRDs7O09BR0c7SUFDSSxnQkFBZ0IsQ0FBQyxLQUFVO1FBQ2hDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7T0FHRztJQUNJLGlCQUFpQixDQUFDLEtBQVU7UUFDakMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksV0FBVyxDQUFDLEtBQVU7UUFDM0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFlBQVksQ0FBQyxLQUFVO1FBQzVCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7O09BR0c7SUFDSSxrQkFBa0IsQ0FBQyxLQUFVO1FBQ2xDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7T0FHRztJQUNJLGNBQWMsQ0FBQyxLQUFVO1FBQzlCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQzsrR0FoT1UsNkJBQTZCO21IQUE3Qiw2QkFBNkIsY0FGNUIsTUFBTTs7NEZBRVAsNkJBQTZCO2tCQUh6QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEV2ZW50RW1pdHRlciwgRWxlbWVudFJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBTdWJqZWN0LCBSZXBsYXlTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiBcInJvb3RcIixcbn0pXG5leHBvcnQgY2xhc3MgTmd4TWF0ZXJpYWxEcmF3ZXJFdmVudEVtaXR0ZXIge1xuICBwdWJsaWMgb25NYXREcmF3ZXJJbml0ID0gbmV3IFN1YmplY3QoKTtcbiAgcHVibGljIG9uTWF0RHJhd2VyQWZ0ZXJWaWV3SW5pdCA9IG5ldyBTdWJqZWN0KCk7XG4gIHB1YmxpYyBvbk5hdlN0YXRlQ2hhbmdlID0gbmV3IFN1YmplY3QoKTtcbiAgcHVibGljIG9uRGF0YUNoYW5nZSA9IG5ldyBSZXBsYXlTdWJqZWN0KDEpO1xuICBwdWJsaWMgb25HcmlkRGF0YUNoYW5nZSA9IG5ldyBSZXBsYXlTdWJqZWN0KDEpO1xuICBwdWJsaWMgb25TaWRlTmF2T3BlbiA9IG5ldyBTdWJqZWN0KCk7XG4gIHB1YmxpYyBvblNpZGVOYXZDbG9zZWQgPSBuZXcgU3ViamVjdCgpO1xuICBwdWJsaWMgb25NaW5WYXJpZW50Q2hhbmdlID0gbmV3IFN1YmplY3QoKTtcbiAgcHVibGljIG9uU2lkZU5hdkl0ZW1DbGljayA9IG5ldyBTdWJqZWN0KCk7XG4gIHB1YmxpYyBvblNpZGVOYXZJdGVtRXhwYW5kZWQgPSBuZXcgU3ViamVjdCgpO1xuICBwdWJsaWMgb25TaWRlTmF2SXRlbUNvbGxhcHNlZCA9IG5ldyBTdWJqZWN0KCk7XG4gIHB1YmxpYyBvbk1lbnVJdGVtQ2xpY2sgPSBuZXcgU3ViamVjdCgpO1xuICBwdWJsaWMgb25NZW51SXRlbUV4cGFuZGVkID0gbmV3IFN1YmplY3QoKTtcbiAgcHVibGljIG9uTWVudUl0ZW1Db2xsYXBzZWQgPSBuZXcgU3ViamVjdCgpO1xuICBwdWJsaWMgb25TZWFyY2hWYWx1ZUNoYW5nZSA9IG5ldyBTdWJqZWN0KCk7XG4gIHB1YmxpYyBvblNlcmFjaEZvY3VzSW4gPSBuZXcgU3ViamVjdCgpO1xuICBwdWJsaWMgb25TZXJhY2hGb2N1c091dCA9IG5ldyBTdWJqZWN0KCk7XG4gIHB1YmxpYyBvblNlcmFjaElucHV0T3BlbiA9IG5ldyBTdWJqZWN0KCk7XG4gIHB1YmxpYyBvblNlcmFjaElucHV0Q2xvc2VkID0gbmV3IFN1YmplY3QoKTtcbiAgcHVibGljIG9uRmFiRXhwYW5kZWQgPSBuZXcgU3ViamVjdCgpO1xuICBwdWJsaWMgb25GYWJDb2xsYXBzZWQgPSBuZXcgU3ViamVjdCgpO1xuICBwdWJsaWMgb25NYWluRmFiQnV0dG9uQ2xpY2sgPSBuZXcgU3ViamVjdCgpO1xuICBwdWJsaWMgb25GYWJCdXR0b25DbGljayA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIC8qKlxuICAgKiBNYXRlcmlhbCBkcmF3ZXIgTWFpbiBjb21wb25lbnQgbGlmZSBjeWNsZVxuICAgKiBAcGFyYW0gZXZlbnQganNvblxuICAgKi9cbiAgcHVibGljIG1hdERyYXdlckluaXQoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMub25NYXREcmF3ZXJJbml0Lm5leHQoZXZlbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1hdGVyaWFsIGRyYXdlciBNYWluIGNvbXBvbmVudCBsaWZlIGN5Y2xlXG4gICAqIEBwYXJhbSBldmVudCBqc29uXG4gICAqL1xuICBwdWJsaWMgbWF0RHJhd2VyQWZ0ZXJWaWV3SW5pdChldmVudDogYW55KSB7XG4gICAgdGhpcy5vbk1hdERyYXdlckFmdGVyVmlld0luaXQubmV4dChldmVudCk7XG4gIH1cblxuICAvKipcbiAgICogdXNpbmcgb24gc2lkZSBuYXYgdG9nZ2xlXG4gICAqIEBwYXJhbSBldmVudCBqc29uXG4gICAqL1xuICBwdWJsaWMgbmF2U3RhdGVDaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMub25OYXZTdGF0ZUNoYW5nZS5uZXh0KGV2ZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPbiBTZWFyY2ggdmFsdWUgY2hhbmdlXG4gICAqIEBwYXJhbSBzZWFyY2hPYmplY3QgY29udGFpbmluZyB2YWx1ZSBhbmQgaW5wdXQgc2VhcmNoIG9iamVjdFxuICAgKi9cbiAgcHVibGljIHNlYXJjaFZhbHVlQ2hhbmdlKHNlYXJjaE9iamVjdDoge1xuICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgaW5wdXRSZWY6IEVsZW1lbnRSZWY8YW55PjtcbiAgfSk6IGFueSB7XG4gICAgdGhpcy5vblNlYXJjaFZhbHVlQ2hhbmdlLm5leHQoc2VhcmNoT2JqZWN0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPbiBTZWFyY2ggZm9jdXNpblxuICAgKiBAcGFyYW0gc2VhcmNoT2JqZWN0IGNvbnRhaW5pbmcgdmFsdWUgYW5kIGlucHV0IHNlYXJjaCBvYmplY3RcbiAgICovXG4gIHB1YmxpYyBzZXJhY2hGb2N1c0luKHNlYXJjaE9iamVjdDoge1xuICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgaW5wdXRSZWY6IEVsZW1lbnRSZWY8YW55PjtcbiAgfSk6IGFueSB7XG4gICAgdGhpcy5vblNlcmFjaEZvY3VzSW4ubmV4dChzZWFyY2hPYmplY3QpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9uIFNlYXJjaCBmb2N1c291dFxuICAgKiBAcGFyYW0gc2VhcmNoT2JqZWN0IGNvbnRhaW5pbmcgdmFsdWUgYW5kIGlucHV0IHNlYXJjaCBvYmplY3RcbiAgICovXG4gIHB1YmxpYyBzZXJhY2hGb2N1c091dChzZWFyY2hPYmplY3Q6IHtcbiAgICB2YWx1ZTogc3RyaW5nO1xuICAgIGlucHV0UmVmOiBFbGVtZW50UmVmPGFueT47XG4gIH0pOiBhbnkge1xuICAgIHRoaXMub25TZXJhY2hGb2N1c091dC5uZXh0KHNlYXJjaE9iamVjdCk7XG4gIH1cblxuICAvKipcbiAgICogT24gU2VhcmNoIGZvY3Vzb3V0XG4gICAqIEBwYXJhbSBzZWFyY2hPYmplY3QgY29udGFpbmluZyB2YWx1ZSBhbmQgaW5wdXQgc2VhcmNoIG9iamVjdFxuICAgKi9cbiAgcHVibGljIHNlcmFjaElucHV0T3BlbihzZWFyY2hPYmplY3Q6IHtcbiAgICB2YWx1ZTogc3RyaW5nO1xuICAgIGlucHV0UmVmOiBFbGVtZW50UmVmPGFueT47XG4gIH0pOiBhbnkge1xuICAgIHRoaXMub25TZXJhY2hJbnB1dE9wZW4ubmV4dChzZWFyY2hPYmplY3QpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9uIFNlYXJjaCBmb2N1c291dFxuICAgKiBAcGFyYW0gc2VhcmNoT2JqZWN0IGNvbnRhaW5pbmcgdmFsdWUgYW5kIGlucHV0IHNlYXJjaCBvYmplY3RcbiAgICovXG4gIHB1YmxpYyBzZXJhY2hJbnB1dENsb3NlZChzZWFyY2hPYmplY3Q6IHtcbiAgICB2YWx1ZTogc3RyaW5nO1xuICAgIGlucHV0UmVmOiBFbGVtZW50UmVmPGFueT47XG4gIH0pOiBhbnkge1xuICAgIHRoaXMub25TZXJhY2hJbnB1dENsb3NlZC5uZXh0KHNlYXJjaE9iamVjdCk7XG4gIH1cblxuICAvKipcbiAgICogb24gZGF0YSBjaGFtZ2VcbiAgICogQHBhcmFtIGV2ZW50IG5ldyBqc29uXG4gICAqL1xuICBwdWJsaWMgZGF0YUNoYW5nZShldmVudDogYW55KSB7XG4gICAgdGhpcy5vbkRhdGFDaGFuZ2UubmV4dChldmVudCk7XG4gIH1cblxuICAvKipcbiAgICogb24gZGF0YSBjaGFtZ2VcbiAgICogQHBhcmFtIGV2ZW50IG5ldyBqc29uXG4gICAqL1xuICBwdWJsaWMgZ3JpZERhdGFDaGFuZ2UoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMub25HcmlkRGF0YUNoYW5nZS5uZXh0KGV2ZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiB1c2luZyBvbiBzaWRlIG5hdiBvcGVuXG4gICAqIEBwYXJhbSBldmVudCBqc29uXG4gICAqL1xuICBwdWJsaWMgc2lkZU5hdk9wZW4oZXZlbnQ6IGFueSkge1xuICAgIHRoaXMub25TaWRlTmF2T3Blbi5uZXh0KGV2ZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiB1c2luZyBvbiBzaWRlIG5hdiBjbG9zZWRcbiAgICogQHBhcmFtIGV2ZW50IGpzb25cbiAgICovXG4gIHB1YmxpYyBzaWRlTmF2Q2xvc2VkKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLm9uU2lkZU5hdkNsb3NlZC5uZXh0KGV2ZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBOb3QgdXNpbmcgY3VycmVudGx5XG4gICAqIEBwYXJhbSBldmVudCBqc29uXG4gICAqL1xuICBwdWJsaWMgbWluVmFyaWVudENoYW5nZShldmVudDogYW55KSB7XG4gICAgdGhpcy5vbk1pblZhcmllbnRDaGFuZ2UubmV4dChldmVudCk7XG4gIH1cblxuICAvKipcbiAgICogdXNpbmcgaW4gc2lkZSBuYXYgaXRlbVxuICAgKiBAcGFyYW0gZXZlbnQganNvblxuICAgKi9cbiAgcHVibGljIHNpZGVOYXZJdGVtQ2xpY2soZXZlbnQ6IGFueSkge1xuICAgIHRoaXMub25TaWRlTmF2SXRlbUNsaWNrLm5leHQoZXZlbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIHVzaW5nIGluIHNpZGUgbmF2IGl0ZW1cbiAgICogQHBhcmFtIGV2ZW50IGpzb25cbiAgICovXG4gIHB1YmxpYyBzaWRlTmF2SXRlbUV4cGFuZGVkKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLm9uU2lkZU5hdkl0ZW1FeHBhbmRlZC5uZXh0KGV2ZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiB1c2luZyBpbiBzaWRlIG5hdiBpdGVtXG4gICAqIEBwYXJhbSBldmVudCBqc29uXG4gICAqL1xuICBwdWJsaWMgc2lkZU5hdkl0ZW1Db2xsYXBzZWQoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMub25TaWRlTmF2SXRlbUNvbGxhcHNlZC5uZXh0KGV2ZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiB1c2luZyBpbiB0b29sYmFyIG1lbnVcbiAgICogQHBhcmFtIGV2ZW50IGpzb25cbiAgICovXG4gIHB1YmxpYyBtZW51SXRlbUNsaWNrKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLm9uTWVudUl0ZW1DbGljay5uZXh0KGV2ZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiB1c2luZyBpbiB0b29sYmFyIG1lbnVcbiAgICogQHBhcmFtIGV2ZW50IGpzb25cbiAgICovXG4gIHB1YmxpYyBtZW51SXRlbUV4cGFuZGVkKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLm9uTWVudUl0ZW1FeHBhbmRlZC5uZXh0KGV2ZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiB1c2luZyBpbiB0b29sYmFyIG1lbnVcbiAgICogQHBhcmFtIGV2ZW50IGpzb25cbiAgICovXG4gIHB1YmxpYyBtZW51SXRlbUNvbGxhcHNlZChldmVudDogYW55KSB7XG4gICAgdGhpcy5vbk1lbnVJdGVtQ29sbGFwc2VkLm5leHQoZXZlbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIHVzaW5nIGluIHRvb2xiYXIgbWVudVxuICAgKiBAcGFyYW0gZXZlbnQganNvblxuICAgKi9cbiAgcHVibGljIGZhYkV4cGFuZGVkKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLm9uRmFiRXhwYW5kZWQubmV4dChldmVudCk7XG4gIH1cblxuICAvKipcbiAgICogdXNpbmcgaW4gdG9vbGJhciBtZW51XG4gICAqIEBwYXJhbSBldmVudCBqc29uXG4gICAqL1xuICBwdWJsaWMgZmFiQ29sbGFwc2VkKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLm9uRmFiQ29sbGFwc2VkLm5leHQoZXZlbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIHVzaW5nIGluIHRvb2xiYXIgbWVudVxuICAgKiBAcGFyYW0gZXZlbnQganNvblxuICAgKi9cbiAgcHVibGljIG1haW5GYWJCdXR0b25DbGljayhldmVudDogYW55KSB7XG4gICAgdGhpcy5vbk1haW5GYWJCdXR0b25DbGljay5uZXh0KGV2ZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiB1c2luZyBpbiB0b29sYmFyIG1lbnVcbiAgICogQHBhcmFtIGV2ZW50IGpzb25cbiAgICovXG4gIHB1YmxpYyBmYWJCdXR0b25DbGljayhldmVudDogYW55KSB7XG4gICAgdGhpcy5vbkZhYkJ1dHRvbkNsaWNrLm5leHQoZXZlbnQpO1xuICB9XG59XG4iXX0=