UNPKG

ngx-material-drawer

Version:

A dynamic, configurable Angular Material drawer with dashboard capabilities

200 lines 17.8 kB
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=