UNPKG

@true-directive/grid

Version:

Angular Data Grid from Yopsilon.

118 lines 19 kB
import { Subject } from 'rxjs'; var GridEvents = /** @class */ (function () { function GridEvents() { this.name = 'events'; // -- EVENTS ----------------------------------------------------------------- // Запрос данных у родителя this._onDataQuery = new Subject(); this.onDataQuery = this._onDataQuery.asObservable(); // Получение данных от родителя this._onDataFetch = new Subject(); this.onDataFetch = this._onDataFetch.asObservable(); // Изменения в списке колонок this._onColumnsChanged = new Subject(); this.onColumnsChanged = this._onColumnsChanged.asObservable(); // При изменениях в запросе данных (сортировка/фильтр/группировка) this._onQueryChanged = new Subject(); this.onQueryChanged = this._onQueryChanged.asObservable(); // При изменениях групп (свернута/развернута) this._onSummariesChanged = new Subject(); this.onSummariesChanged = this._onSummariesChanged.asObservable(); // При изменении значения ячейки this._onValueChanged = new Subject(); this.onValueChanged = this._onValueChanged.asObservable(); // При изменении чекбокс this._onCheckedChanged = new Subject(); this.onCheckedChanged = this._onCheckedChanged.asObservable(); // Перетаскивание колонки // Тащим this._onDrag = new Subject(); this.onDrag = this._onDrag.asObservable(); // Бросаем this._onDrop = new Subject(); this.onDrop = this._onDrop.asObservable(); // Изменение ширины колонки // Тащим this._onColumnResizing = new Subject(); this.onColumnResizing = this._onColumnResizing.asObservable(); // Бросаем this._onColumnResize = new Subject(); this.onColumnResize = this._onColumnResize.asObservable(); // При фильтрации this._onFilterShow = new Subject(); this.onFilterShow = this._onFilterShow.asObservable(); // Выделение ячейки/строки/области this._onSelect = new Subject(); this.onSelect = this._onSelect.asObservable(); // Включение редактора this._onStartEditing = new Subject(); this.onStartEditing = this._onStartEditing.asObservable(); // Выключение редактора this._onStopEditing = new Subject(); this.onStopEditing = this._onStopEditing.asObservable(); // Строка перестала быть видимой после редактирования this._onRowUnfiltered = new Subject(); this.onRowUnfiltered = this._onRowUnfiltered.asObservable(); // Контекстное меню колонки this._onHeaderContextMenu = new Subject(); this.onHeaderContextMenu = this._onHeaderContextMenu.asObservable(); // Событие кастомной ячейки this._onCustomCellEvent = new Subject(); this.onCustomCellEvent = this._onCustomCellEvent.asObservable(); } GridEvents.prototype.dataQueryEvent = function (query) { this._onDataQuery.next(query); }; GridEvents.prototype.dataFetchEvent = function (query) { if (query.subject) { query.subject.next(); query.subject.complete(); } this._onDataFetch.next(query); }; GridEvents.prototype.columnsChangedEvent = function () { this._onColumnsChanged.next(); }; GridEvents.prototype.queryChangedEvent = function (query) { this._onQueryChanged.next(query); }; GridEvents.prototype.summariesChangedEvent = function (c) { this._onSummariesChanged.next(c); }; GridEvents.prototype.valueChangedEvent = function (e) { this._onValueChanged.next(e); }; GridEvents.prototype.checkedChangedEvent = function (e) { this._onCheckedChanged.next(e); }; GridEvents.prototype.dragEvent = function (e) { this._onDrag.next(e); }; GridEvents.prototype.dropEvent = function (e) { this._onDrop.next(e); }; GridEvents.prototype.columnResizeEvent = function (e) { this._onColumnResize.next(e); }; GridEvents.prototype.filterShowEvent = function (e) { this._onFilterShow.next(e); }; GridEvents.prototype.selectEvent = function (cp) { this._onSelect.next(cp); }; GridEvents.prototype.startEditingEvent = function (cp) { this._onStartEditing.next(cp); }; GridEvents.prototype.stopEditingEvent = function (returnFocus) { this._onStopEditing.next(returnFocus); }; GridEvents.prototype.headerContextMenuEvent = function (e) { this._onHeaderContextMenu.next(e); }; GridEvents.prototype.customCellEvent = function (e) { this._onCustomCellEvent.next(e); }; return GridEvents; }()); export { GridEvents }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1ldmVudHMuY2xhc3MuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdHJ1ZS1kaXJlY3RpdmUvZ3JpZC8iLCJzb3VyY2VzIjpbInNyYy9ncmlkLWV2ZW50cy5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBUy9CO0lBQUE7UUFDa0IsU0FBSSxHQUFHLFFBQVEsQ0FBQztRQUNoQyw4RUFBOEU7UUFDOUUsMkJBQTJCO1FBQ2pCLGlCQUFZLEdBQXVCLElBQUksT0FBTyxFQUFFLENBQUM7UUFDM0MsZ0JBQVcsR0FBMEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUV0RiwrQkFBK0I7UUFDckIsaUJBQVksR0FBdUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUMzQyxnQkFBVyxHQUEwQixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRXRGLDZCQUE2QjtRQUNuQixzQkFBaUIsR0FBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUMzQyxxQkFBZ0IsR0FBcUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBRTNGLGtFQUFrRTtRQUN4RCxvQkFBZSxHQUF1QixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQzlDLG1CQUFjLEdBQTBCLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFNUYsNkNBQTZDO1FBQ25DLHdCQUFtQixHQUFvQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQy9DLHVCQUFrQixHQUF1QixJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFakcsZ0NBQWdDO1FBQ3RCLG9CQUFlLEdBQStCLElBQUksT0FBTyxFQUFFLENBQUM7UUFDdEQsbUJBQWMsR0FBa0MsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVwRyx3QkFBd0I7UUFDZCxzQkFBaUIsR0FBaUMs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Q0FBQyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVNLG9DQUFlLEdBQXRCLFVBQXVCLENBQU07UUFDM0IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBQ0gsaUJBQUM7QUFBRCxDQUFDLEFBaEpELElBZ0pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBJRXZlbnRzIH0gZnJvbSAnQHRydWUtZGlyZWN0aXZlL2Jhc2UnO1xyXG5pbXBvcnQgeyBEYXRhUXVlcnkgfSBmcm9tICdAdHJ1ZS1kaXJlY3RpdmUvYmFzZSc7XHJcbmltcG9ydCB7IENvbHVtbiB9IGZyb20gJ0B0cnVlLWRpcmVjdGl2ZS9iYXNlJztcclxuaW1wb3J0IHsgQ2hlY2tlZENoYW5nZWRFdmVudCwgVmFsdWVDaGFuZ2VkRXZlbnQsIEZpbHRlclNob3dFdmVudCB9IGZyb20gJ0B0cnVlLWRpcmVjdGl2ZS9iYXNlJztcclxuaW1wb3J0IHsgVUlBY3Rpb24sIFVJQWN0aW9uVHlwZSB9IGZyb20gJ0B0cnVlLWRpcmVjdGl2ZS9iYXNlJztcclxuaW1wb3J0IHsgQ2VsbFBvc2l0aW9uIH0gZnJvbSAnQHRydWUtZGlyZWN0aXZlL2Jhc2UnO1xyXG5cclxuZXhwb3J0IGNsYXNzIEdyaWRFdmVudHMgaW1wbGVtZW50cyBJRXZlbnRzIHtcclxuICBwdWJsaWMgcmVhZG9ubHkgbmFtZSA9ICdldmVudHMnO1xyXG4gIC8vIC0tIEVWRU5UUyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gIC8vINCX0LDQv9GA0L7RgSDQtNCw0L3QvdGL0YUg0YMg0YDQvtC00LjRgtC10LvRj1xyXG4gIHByb3RlY3RlZCBfb25EYXRhUXVlcnk6IFN1YmplY3Q8RGF0YVF1ZXJ5PiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgcHVibGljIHJlYWRvbmx5IG9uRGF0YVF1ZXJ5OiBPYnNlcnZhYmxlPERhdGFRdWVyeT4gPSB0aGlzLl9vbkRhdGFRdWVyeS5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgLy8g0J/QvtC70YPRh9C10L3QuNC1INC00LDQvdC90YvRhSDQvtGCINGA0L7QtNC40YLQtdC70Y9cclxuICBwcm90ZWN0ZWQgX29uRGF0YUZldGNoOiBTdWJqZWN0PERhdGFRdWVyeT4gPSBuZXcgU3ViamVjdCgpO1xyXG4gIHB1YmxpYyByZWFkb25seSBvbkRhdGFGZXRjaDogT2JzZXJ2YWJsZTxEYXRhUXVlcnk+ID0gdGhpcy5fb25EYXRhRmV0Y2guYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gIC8vINCY0LfQvNC10L3QtdC90LjRjyDQsiDRgdC/0LjRgdC60LUg0LrQvtC70L7QvdC+0LpcclxuICBwcm90ZWN0ZWQgX29uQ29sdW1uc0NoYW5nZWQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xyXG4gIHB1YmxpYyByZWFkb25seSBvbkNvbHVtbnNDaGFuZ2VkOiBPYnNlcnZhYmxlPHZvaWQ+ID0gdGhpcy5fb25Db2x1bW5zQ2hhbmdlZC5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgLy8g0J/RgNC4INC40LfQvNC10L3QtdC90LjRj9GFINCyINC30LDQv9GA0L7RgdC1INC00LDQvdC90YvRhSAo0YHQvtGA0YLQuNGA0L7QstC60LAv0YTQuNC70YzRgtGAL9Cz0YDRg9C/0L/QuNGA0L7QstC60LApXHJcbiAgcHJvdGVjdGVkIF9vblF1ZXJ5Q2hhbmdlZDogU3ViamVjdDxEYXRhUXVlcnk+ID0gbmV3IFN1YmplY3QoKTtcclxuICBwdWJsaWMgcmVhZG9ubHkgb25RdWVyeUNoYW5nZWQ6IE9ic2VydmFibGU8RGF0YVF1ZXJ5PiA9IHRoaXMuX29uUXVlcnlDaGFuZ2VkLmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICAvLyDQn9GA0Lgg0LjQt9C80LXQvdC10L3QuNGP0YUg0LPRgNGD0L/QvyAo0YHQstC10YDQvdGD0YLQsC/RgNCw0LfQstC10YDQvdGD0YLQsClcclxuICBwcm90ZWN0ZWQgX29uU3VtbWFyaWVzQ2hhbmdlZDogU3ViamVjdDxDb2x1bW4+ID0gbmV3IFN1YmplY3QoKTtcclxuICBwdWJsaWMgcmVhZG9ubHkgb25TdW1tYXJpZXNDaGFuZ2VkOiBPYnNlcnZhYmxlPENvbHVtbj4gPSB0aGlzLl9vblN1bW1hcmllc0NoYW5nZWQuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gIC8vINCf0YDQuCDQuNC30LzQtdC90LXQvdC40Lgg0LfQvdCw0YfQtdC90LjRjyDRj9GH0LXQudC60LhcclxuICBwcm90ZWN0ZWQgX29uVmFsdWVDaGFuZ2VkOiBTdWJqZWN0PFZhbHVlQ2hhbmdlZEV2ZW50PiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgcHVibGljIHJlYWRvbmx5IG9uVmFsdWVDaGFuZ2VkOiBPYnNlcnZhYmxlPFZhbHVlQ2hhbmdlZEV2ZW50PiA9IHRoaXMuX29uVmFsdWVDaGFuZ2VkLmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICAvLyDQn9GA0Lgg0LjQt9C80LXQvdC10L3QuNC4INGH0LXQutCx0L7QutGBXHJcbiAgcHJvdGVjdGVkIF9vbkNoZWNrZWRDaGFuZ2VkOiBTdWJqZWN0PENoZWNrZWRDaGFuZ2VkRXZlbnQ+ID0gbmV3IFN1YmplY3QoKTtcclxuICBwdWJsaWMgcmVhZG9ubHkgb25DaGVja2VkQ2hhbmdlZDogT2JzZXJ2YWJsZTxDaGVja2VkQ2hhbmdlZEV2ZW50PiA9IHRoaXMuX29uQ2hlY2tlZENoYW5nZWQuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gIC8vINCf0LXRgNC10YLQsNGB0LrQuNCy0LDQvdC40LUg0LrQvtC70L7QvdC60LhcclxuICAvLyDQotCw0YnQuNC8XHJcbiAgcHJvdGVjdGVkIF9vbkRyYWc6IFN1YmplY3Q8VUlBY3Rpb24+ID0gbmV3IFN1YmplY3QoKTtcclxuICBwdWJsaWMgcmVhZG9ubHkgb25EcmFnOiBPYnNlcnZhYmxlPFVJQWN0aW9uPiA9IHRoaXMuX29uRHJhZy5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgLy8g0JHRgNC+0YHQsNC10LxcclxuICBwcm90ZWN0ZWQgX29uRHJvcDogU3ViamVjdDxVSUFjdGlvbj4gPSBuZXcgU3ViamVjdCgpO1xyXG4gIHB1YmxpYyByZWFkb25seSBvbkRyb3A6IE9ic2VydmFibGU8VUlBY3Rpb24+ID0gdGhpcy5fb25Ecm9wLmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICAvLyDQmNC30LzQtdC90LXQvdC40LUg0YjQuNGA0LjQvdGLINC60L7Qu9C+0L3QutC4XHJcbiAgLy8g0KLQsNGJ0LjQvFxyXG4gIHByb3RlY3RlZCBfb25Db2x1bW5SZXNpemluZzogU3ViamVjdDxVSUFjdGlvbj4gPSBuZXcgU3ViamVjdCgpO1xyXG4gIHB1YmxpYyByZWFkb25seSBvbkNvbHVtblJlc2l6aW5nOiBPYnNlcnZhYmxlPFVJQWN0aW9uPiA9IHRoaXMuX29uQ29sdW1uUmVzaXppbmcuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gIC8vINCR0YDQvtGB0LDQtdC8XHJcbiAgcHJvdGVjdGVkIF9vbkNvbHVtblJlc2l6ZTogU3ViamVjdDxVSUFjdGlvbj4gPSBuZXcgU3ViamVjdCgpO1xyXG4gIHB1YmxpYyByZWFkb25seSBvbkNvbHVtblJlc2l6ZTogT2JzZXJ2YWJsZTxVSUFjdGlvbj4gPSB0aGlzLl9vbkNvbHVtblJlc2l6ZS5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgLy8g0J/RgNC4INGE0LjQu9GM0YLRgNCw0YbQuNC4XHJcbiAgcHJvdGVjdGVkIF9vbkZpbHRlclNob3c6IFN1YmplY3Q8RmlsdGVyU2hvd0V2ZW50PiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgcHVibGljIHJlYWRvbmx5IG9uRmlsdGVyU2hvdzogT2JzZXJ2YWJsZTxGaWx0ZXJTaG93RXZlbnQ+ID0gdGhpcy5fb25GaWx0ZXJTaG93LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICAvLyDQktGL0LTQtdC70LXQvdC40LUg0Y/Rh9C10LnQutC4L9GB0YLRgNC+0LrQuC/QvtCx0LvQsNGB0YLQuFxyXG4gIHByb3RlY3RlZCBfb25TZWxlY3Q6IFN1YmplY3Q8Q2VsbFBvc2l0aW9uPiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgcHVibGljIHJlYWRvbmx5IG9uU2VsZWN0OiBPYnNlcnZhYmxlPENlbGxQb3NpdGlvbj4gPSB0aGlzLl9vblNlbGVjdC5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgLy8g0JLQutC70Y7Rh9C10L3QuNC1INGA0LXQtNCw0LrRgtC+0YDQsFxyXG4gIHByb3RlY3RlZCBfb25TdGFydEVkaXRpbmc6IFN1YmplY3Q8Q2VsbFBvc2l0aW9uPiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgcHVibGljIHJlYWRvbmx5IG9uU3RhcnRFZGl0aW5nOiBPYnNlcnZhYmxlPENlbGxQb3NpdGlvbj4gPSB0aGlzLl9vblN0YXJ0RWRpdGluZy5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgLy8g0JLRi9C60LvRjtGH0LXQvdC40LUg0YDQtdC00LDQutGC0L7RgNCwXHJcbiAgcHJvdGVjdGVkIF9vblN0b3BFZGl0aW5nOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3QoKTtcclxuICBwdWJsaWMgcmVhZG9ubHkgb25TdG9wRWRpdGluZzogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuX29uU3RvcEVkaXRpbmcuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gIC8vINCh0YLRgNC+0LrQsCDQv9C10YDQtdGB0YLQsNC70LAg0LHRi9GC0Ywg0LLQuNC00LjQvNC+0Lkg0L/QvtGB0LvQtSDRgNC10LTQsNC60YLQuNGA0L7QstCw0L3QuNGPXHJcbiAgcHJvdGVjdGVkIF9vblJvd1VuZmlsdGVyZWQ6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgcHVibGljIHJlYWRvbmx5IG9uUm93VW5maWx0ZXJlZDogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5fb25Sb3dVbmZpbHRlcmVkLmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICAvLyDQmtC+0L3RgtC10LrRgdGC0L3QvtC1INC80LXQvdGOINC60L7Qu9C+0L3QutC4XHJcbiAgcHJvdGVjdGVkIF9vbkhlYWRlckNvbnRleHRNZW51OiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdCgpO1xyXG4gIHB1YmxpYyByZWFkb25seSBvbkhlYWRlckNvbnRleHRNZW51OiBPYnNlcnZhYmxlPGFueT4gPSB0aGlzLl9vbkhlYWRlckNvbnRleHRNZW51LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICAvLyDQodC+0LHRi9GC0LjQtSDQutCw0YHRgtC+0LzQvdC+0Lkg0Y/Rh9C10LnQutC4XHJcbiAgcHJvdGVjdGVkIF9vbkN1c3RvbUNlbGxFdmVudDogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3QoKTtcclxuICBwdWJsaWMgcmVhZG9ubHkgb25DdXN0b21DZWxsRXZlbnQ6IE9ic2VydmFibGU8YW55PiA9IHRoaXMuX29uQ3VzdG9tQ2VsbEV2ZW50LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICBwdWJsaWMgZGF0YVF1ZXJ5RXZlbnQocXVlcnk6IERhdGFRdWVyeSkge1xyXG4gICAgdGhpcy5fb25EYXRhUXVlcnkubmV4dChxdWVyeSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZGF0YUZldGNoRXZlbnQocXVlcnk6IERhdGFRdWVyeSkge1xyXG4gICAgaWYgKHF1ZXJ5LnN1YmplY3QpIHtcclxuICAgICAgcXVlcnkuc3ViamVjdC5uZXh0KCk7XHJcbiAgICAgIHF1ZXJ5LnN1YmplY3QuY29tcGxldGUoKTtcclxuICAgIH1cclxuICAgIHRoaXMuX29uRGF0YUZldGNoLm5leHQocXVlcnkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNvbHVtbnNDaGFuZ2VkRXZlbnQoKSB7XHJcbiAgICB0aGlzLl9vbkNvbHVtbnNDaGFuZ2VkLm5leHQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBxdWVyeUNoYW5nZWRFdmVudChxdWVyeTogRGF0YVF1ZXJ5KSB7XHJcbiAgICB0aGlzLl9vblF1ZXJ5Q2hhbmdlZC5uZXh0KHF1ZXJ5KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdW1tYXJpZXNDaGFuZ2VkRXZlbnQoYzogQ29sdW1uKSB7XHJcbiAgICB0aGlzLl9vblN1bW1hcmllc0NoYW5nZWQubmV4dChjKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB2YWx1ZUNoYW5nZWRFdmVudChlOiBWYWx1ZUNoYW5nZWRFdmVudCkge1xyXG4gICAgdGhpcy5fb25WYWx1ZUNoYW5nZWQubmV4dChlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjaGVja2VkQ2hhbmdlZEV2ZW50KGU6IENoZWNrZWRDaGFuZ2VkRXZlbnQpIHtcclxuICAgIHRoaXMuX29uQ2hlY2tlZENoYW5nZWQubmV4dChlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBkcmFnRXZlbnQoZTogVUlBY3Rpb24pIHtcclxuICAgIHRoaXMuX29uRHJhZy5uZXh0KGUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGRyb3BFdmVudChlOiBVSUFjdGlvbikge1xyXG4gICAgdGhpcy5fb25Ecm9wLm5leHQoZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY29sdW1uUmVzaXplRXZlbnQoZTogVUlBY3Rpb24pIHtcclxuICAgIHRoaXMuX29uQ29sdW1uUmVzaXplLm5leHQoZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZmlsdGVyU2hvd0V2ZW50KGU6IEZpbHRlclNob3dFdmVudCkge1xyXG4gICAgdGhpcy5fb25GaWx0ZXJTaG93Lm5leHQoZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2VsZWN0RXZlbnQoY3A6IENlbGxQb3NpdGlvbikge1xyXG4gICAgdGhpcy5fb25TZWxlY3QubmV4dChjcCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhcnRFZGl0aW5nRXZlbnQoY3A6IENlbGxQb3NpdGlvbikge1xyXG4gICAgdGhpcy5fb25TdGFydEVkaXRpbmcubmV4dChjcCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RvcEVkaXRpbmdFdmVudChyZXR1cm5Gb2N1czogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fb25TdG9wRWRpdGluZy5uZXh0KHJldHVybkZvY3VzKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoZWFkZXJDb250ZXh0TWVudUV2ZW50KGU6IHsgb3JpZ2luYWxFdmVudDogYW55LCBjb2x1bW46IENvbHVtbiB9KSB7XHJcbiAgICB0aGlzLl9vbkhlYWRlckNvbnRleHRNZW51Lm5leHQoZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY3VzdG9tQ2VsbEV2ZW50KGU6IGFueSkge1xyXG4gICAgdGhpcy5fb25DdXN0b21DZWxsRXZlbnQubmV4dChlKTtcclxuICB9XHJcbn1cclxuIl19