UNPKG

ornamentum

Version:
304 lines 23.5 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; import { Inject, Injectable, InjectionToken } from '@angular/core'; /** @type {?} */ export var DATA_TABLE_CONFIG = new InjectionToken('dataTableConfig'); /** * Data table config service * Manage all the global configurations of grid which can be overridden while importing the module. */ var DataTableConfigService = /** @class */ (function () { function DataTableConfigService(dataTableConfig) { this.dataTableConfig = dataTableConfig; // Table base config this.persistTableState = false; this.storageMode = 'session'; this.multiColumnSortable = false; this.showHeader = false; this.title = ''; this.width = undefined; this.minContentHeight = 200; this.minContentWidth = undefined; this.contentHeight = undefined; this.pageable = false; this.loadOnScroll = false; this.loadViewDistanceRatio = 1; this.showIndexColumn = false; this.indexColumnTitle = '#'; this.rowSelectable = false; this.selectMode = 'single'; this.showRowSelectCheckbox = true; this.showRowSelectAllCheckbox = false; this.showSubstituteRows = false; this.expandableRows = false; this.selectOnRowClick = false; this.expandOnRowClick = false; this.autoFetch = true; this.showLoadingSpinner = true; this.selectTrackBy = 'id'; this.filterDebounceTime = 500; this.filterDebounce = true; this.showRefreshButton = false; this.showColumnSelector = false; this.columnSelectorWidth = 240; this.expanderColumnWidth = 30; this.indexColumnWidth = 30; this.selectionColumnWidth = 30; this.showRowExpandLoadingSpinner = false; this.offset = 0; this.limit = 10; this.maxLimit = 100; this.stateKeyPrefix = 'grid_state_'; this.baseTranslations = { noDataMessage: { header: 'Whoops!', body: 'No data to display. Added data will appear here.', }, pagination: { limit: 'Limit:', rangeKey: 'Results:', rangeSeparator: 'of', nextTooltip: 'Next', previousTooltip: 'Previous', lastTooltip: 'Last', firstTooltip: 'First' }, columnSelector: { header: 'Show/Hide Column' }, dropdownFilter: { noDataMessage: 'No Results Available', filterPlaceholder: 'Search', selectedOptionWrapPlaceholder: 'Options', selectPlaceholder: 'Select' } }; // Table column config this.sortable = false; this.sortOrder = ''; this.filterable = false; this.filterPlaceholder = 'Search'; this.columnResizable = false; this.columnVisible = true; this.showDropdownFilter = false; this.showFilterClearButton = true; // Column dropdown filter options this.dropdownFilterMenuPosition = 'bottom-left'; this.dropdownFilterSelectMode = 'multi'; this.dropdownFilterSearchable = true; this.dropdownFilterSearchDebounceTime = 500; this.dropdownFilterSearchDebounce = true; this.dropdownFilterWrapDisplaySelectLimit = 1; this.dropdownFilterGroupByField = undefined; this.dropdownFilterShowSelectedOptionRemoveButton = false; this.dropdownFilterShowClearSelectionButton = true; this.dropdownFilterMenuWidth = 320; this.dropdownFilterMenuHeight = 250; this.dropdownFilterMultiSelectOptionMaxWidth = 135; this.dropdownFilterCloseMenuOnSelect = true; this.dropdownFilterDynamicDimensionCalculation = true; this.dropdownFilterDynamicWidthRatio = 1.25; this.dropdownFilterDynamicHeightRatio = 1.25; if (dataTableConfig) { Object.assign(this, dataTableConfig); } } Object.defineProperty(DataTableConfigService.prototype, "translations", { /** * Returns translations. */ get: /** * Returns translations. * @return {?} */ function () { return this.baseTranslations; }, set: /** * @param {?} value * @return {?} */ function (value) { var e_1, _a; if (!value) { return; } try { // all keys are object type. for (var _b = tslib_1.__values(Object.entries(value)), _c = _b.next(); !_c.done; _c = _b.next()) { var _d = tslib_1.__read(_c.value, 2), key = _d[0], val = _d[1]; this.baseTranslations[key] = tslib_1.__assign({}, this.baseTranslations[key], val); } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally { try { if (_c && !_c.done && (_a = _b.return)) _a.call(_b); } finally { if (e_1) throw e_1.error; } } }, enumerable: true, configurable: true }); Object.defineProperty(DataTableConfigService.prototype, "showRowSelectCheckboxColumn", { /** * Get row select checkbox column. */ get: /** * Get row select checkbox column. * @return {?} */ function () { return this.rowSelectable && this.showRowSelectCheckbox; }, enumerable: true, configurable: true }); DataTableConfigService.decorators = [ { type: Injectable } ]; /** @nocollapse */ DataTableConfigService.ctorParameters = function () { return [ { type: undefined, decorators: [{ type: Inject, args: [DATA_TABLE_CONFIG,] }] } ]; }; return DataTableConfigService; }()); export { DataTableConfigService }; if (false) { /** @type {?} */ DataTableConfigService.prototype.persistTableState; /** @type {?} */ DataTableConfigService.prototype.storageMode; /** @type {?} */ DataTableConfigService.prototype.multiColumnSortable; /** @type {?} */ DataTableConfigService.prototype.showHeader; /** @type {?} */ DataTableConfigService.prototype.title; /** @type {?} */ DataTableConfigService.prototype.width; /** @type {?} */ DataTableConfigService.prototype.minContentHeight; /** @type {?} */ DataTableConfigService.prototype.minContentWidth; /** @type {?} */ DataTableConfigService.prototype.contentHeight; /** @type {?} */ DataTableConfigService.prototype.pageable; /** @type {?} */ DataTableConfigService.prototype.loadOnScroll; /** @type {?} */ DataTableConfigService.prototype.loadViewDistanceRatio; /** @type {?} */ DataTableConfigService.prototype.showIndexColumn; /** @type {?} */ DataTableConfigService.prototype.indexColumnTitle; /** @type {?} */ DataTableConfigService.prototype.rowSelectable; /** @type {?} */ DataTableConfigService.prototype.selectMode; /** @type {?} */ DataTableConfigService.prototype.showRowSelectCheckbox; /** @type {?} */ DataTableConfigService.prototype.showRowSelectAllCheckbox; /** @type {?} */ DataTableConfigService.prototype.showSubstituteRows; /** @type {?} */ DataTableConfigService.prototype.expandableRows; /** @type {?} */ DataTableConfigService.prototype.selectOnRowClick; /** @type {?} */ DataTableConfigService.prototype.expandOnRowClick; /** @type {?} */ DataTableConfigService.prototype.autoFetch; /** @type {?} */ DataTableConfigService.prototype.showLoadingSpinner; /** @type {?} */ DataTableConfigService.prototype.selectTrackBy; /** @type {?} */ DataTableConfigService.prototype.filterDebounceTime; /** @type {?} */ DataTableConfigService.prototype.filterDebounce; /** @type {?} */ DataTableConfigService.prototype.showRefreshButton; /** @type {?} */ DataTableConfigService.prototype.showColumnSelector; /** @type {?} */ DataTableConfigService.prototype.columnSelectorWidth; /** @type {?} */ DataTableConfigService.prototype.expanderColumnWidth; /** @type {?} */ DataTableConfigService.prototype.indexColumnWidth; /** @type {?} */ DataTableConfigService.prototype.selectionColumnWidth; /** @type {?} */ DataTableConfigService.prototype.showRowExpandLoadingSpinner; /** @type {?} */ DataTableConfigService.prototype.offset; /** @type {?} */ DataTableConfigService.prototype.limit; /** @type {?} */ DataTableConfigService.prototype.maxLimit; /** @type {?} */ DataTableConfigService.prototype.stateKeyPrefix; /** @type {?} */ DataTableConfigService.prototype.baseTranslations; /** @type {?} */ DataTableConfigService.prototype.sortable; /** @type {?} */ DataTableConfigService.prototype.sortOrder; /** @type {?} */ DataTableConfigService.prototype.filterable; /** @type {?} */ DataTableConfigService.prototype.filterPlaceholder; /** @type {?} */ DataTableConfigService.prototype.columnResizable; /** @type {?} */ DataTableConfigService.prototype.columnVisible; /** @type {?} */ DataTableConfigService.prototype.showDropdownFilter; /** @type {?} */ DataTableConfigService.prototype.showFilterClearButton; /** @type {?} */ DataTableConfigService.prototype.dropdownFilterMenuPosition; /** @type {?} */ DataTableConfigService.prototype.dropdownFilterSelectMode; /** @type {?} */ DataTableConfigService.prototype.dropdownFilterSearchable; /** @type {?} */ DataTableConfigService.prototype.dropdownFilterSearchDebounceTime; /** @type {?} */ DataTableConfigService.prototype.dropdownFilterSearchDebounce; /** @type {?} */ DataTableConfigService.prototype.dropdownFilterWrapDisplaySelectLimit; /** @type {?} */ DataTableConfigService.prototype.dropdownFilterGroupByField; /** @type {?} */ DataTableConfigService.prototype.dropdownFilterShowSelectedOptionRemoveButton; /** @type {?} */ DataTableConfigService.prototype.dropdownFilterShowClearSelectionButton; /** @type {?} */ DataTableConfigService.prototype.dropdownFilterMenuWidth; /** @type {?} */ DataTableConfigService.prototype.dropdownFilterMenuHeight; /** @type {?} */ DataTableConfigService.prototype.dropdownFilterMultiSelectOptionMaxWidth; /** @type {?} */ DataTableConfigService.prototype.dropdownFilterCloseMenuOnSelect; /** @type {?} */ DataTableConfigService.prototype.dropdownFilterDynamicDimensionCalculation; /** @type {?} */ DataTableConfigService.prototype.dropdownFilterDynamicWidthRatio; /** @type {?} */ DataTableConfigService.prototype.dropdownFilterDynamicHeightRatio; /** * @type {?} * @private */ DataTableConfigService.prototype.dataTableConfig; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS1jb25maWcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL29ybmFtZW50dW0vIiwic291cmNlcyI6WyJkYXRhLXRhYmxlL3NlcnZpY2VzL2RhdGEtdGFibGUtY29uZmlnLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBV25FLE1BQU0sS0FBTyxpQkFBaUIsR0FBRyxJQUFJLGNBQWMsQ0FBa0IsaUJBQWlCLENBQUM7Ozs7O0FBTXZGO0lBOEZFLGdDQUErQyxlQUFnQztRQUFoQyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7O1FBM0Z4RSxzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFDMUIsZ0JBQVcsR0FBeUIsU0FBUyxDQUFDO1FBQzlDLHdCQUFtQixHQUFHLEtBQUssQ0FBQztRQUM1QixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxVQUFLLEdBQUcsU0FBUyxDQUFDO1FBQ2xCLHFCQUFnQixHQUFvQixHQUFHLENBQUM7UUFDeEMsb0JBQWUsR0FBRyxTQUFTLENBQUM7UUFDNUIsa0JBQWEsR0FBRyxTQUFTLENBQUM7UUFDMUIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQiwwQkFBcUIsR0FBRyxDQUFDLENBQUM7UUFDMUIsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIscUJBQWdCLEdBQUcsR0FBRyxDQUFDO1FBQ3ZCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLGVBQVUsR0FBd0IsUUFBUSxDQUFDO1FBQzNDLDBCQUFxQixHQUFHLElBQUksQ0FBQztRQUM3Qiw2QkFBd0IsR0FBRyxLQUFLLENBQUM7UUFDakMsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQzNCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ3ZC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QWlEOztJQUNqRCxrREFBOEM7O0lBQzlDLHNEQUFrRDs7SUFDbEQsNkRBQTJDOztJQUMzQyx3Q0FBa0I7O0lBQ2xCLHVDQUFrQjs7SUFDbEIsMENBQXNCOztJQUN0QixnREFBc0M7O0lBQ3RDLGtEQXVCRTs7SUFHRiwwQ0FBd0I7O0lBQ3hCLDJDQUEwQzs7SUFDMUMsNENBQTBCOztJQUMxQixtREFBb0M7O0lBQ3BDLGlEQUErQjs7SUFDL0IsK0NBQTRCOztJQUM1QixvREFBa0M7O0lBQ2xDLHVEQUFvQzs7SUFHcEMsNERBQWdFOztJQUNoRSwwREFBOEQ7O0lBQzlELDBEQUF1Qzs7SUFDdkMsa0VBQThDOztJQUM5Qyw4REFBMkM7O0lBQzNDLHNFQUFnRDs7SUFDaEQsNERBQThDOztJQUM5Qyw4RUFBNEQ7O0lBQzVELHdFQUFxRDs7SUFDckQseURBQXFDOztJQUNyQywwREFBc0M7O0lBQ3RDLHlFQUFxRDs7SUFDckQsaUVBQThDOztJQUM5QywyRUFBd0Q7O0lBQ3hELGlFQUE4Qzs7SUFDOUMsa0VBQStDOzs7OztJQUVuQyxpREFBbUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IERhdGFUYWJsZVRyYW5zbGF0aW9ucyB9IGZyb20gJy4uL21vZGVscy9kYXRhLXRhYmxlLXRyYW5zbGF0aW9ucy5tb2RlbCc7XG5pbXBvcnQgeyBEYXRhVGFibGVDb25maWcgfSBmcm9tICcuLi9tb2RlbHMvZGF0YS10YWJsZS1jb25maWcubW9kZWwnO1xuXG5pbXBvcnQgeyBEYXRhVGFibGVTdG9yYWdlTW9kZSB9IGZyb20gJy4uL21vZGVscy9kYXRhLXRhYmxlLXN0b3JhZ2UtbW9kZS5tb2RlbCc7XG5pbXBvcnQgeyBEYXRhVGFibGVTb3J0T3JkZXIgfSBmcm9tICcuLi9tb2RlbHMvZGF0YS10YWJsZS1zb3J0LW9yZGVyLm1vZGVsJztcbmltcG9ydCB7IERhdGFUYWJsZVNlbGVjdE1vZGUgfSBmcm9tICcuLi9tb2RlbHMvZGF0YS10YWJsZS1zZWxlY3QtbW9kZS5tb2RlbCc7XG5pbXBvcnQgeyBEcm9wZG93blNlbGVjdE1vZGUgfSBmcm9tICcuLi8uLi9kcm9wZG93bi9kcm9wZG93bi5tb2R1bGUnO1xuaW1wb3J0IHsgVmlld1Bvc2l0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbGl0eS9tb2RlbHMvdmlldy1wb3NpdGlvbi5tb2RlbCc7XG5cbmV4cG9ydCBjb25zdCBEQVRBX1RBQkxFX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxEYXRhVGFibGVDb25maWc+KCdkYXRhVGFibGVDb25maWcnKTtcblxuLyoqXG4gKiBEYXRhIHRhYmxlIGNvbmZpZyBzZXJ2aWNlXG4gKiBNYW5hZ2UgYWxsIHRoZSBnbG9iYWwgY29uZmlndXJhdGlvbnMgb2YgZ3JpZCB3aGljaCBjYW4gYmUgb3ZlcnJpZGRlbiB3aGlsZSBpbXBvcnRpbmcgdGhlIG1vZHVsZS5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERhdGFUYWJsZUNvbmZpZ1NlcnZpY2UgaW1wbGVtZW50cyBEYXRhVGFibGVDb25maWcge1xuICAvLyBUYWJsZSBiYXNlIGNvbmZpZ1xuICBwdWJsaWMgcGVyc2lzdFRhYmxlU3RhdGUgPSBmYWxzZTtcbiAgcHVibGljIHN0b3JhZ2VNb2RlOiBEYXRhVGFibGVTdG9yYWdlTW9kZSA9ICdzZXNzaW9uJztcbiAgcHVibGljIG11bHRpQ29sdW1uU29ydGFibGUgPSBmYWxzZTtcbiAgcHVibGljIHNob3dIZWFkZXIgPSBmYWxzZTtcbiAgcHVibGljIHRpdGxlID0gJyc7XG4gIHB1YmxpYyB3aWR0aCA9IHVuZGVmaW5lZDtcbiAgcHVibGljIG1pbkNvbnRlbnRIZWlnaHQ6IHN0cmluZyB8IG51bWJlciA9IDIwMDtcbiAgcHVibGljIG1pbkNvbnRlbnRXaWR0aCA9IHVuZGVmaW5lZDtcbiAgcHVibGljIGNvbnRlbnRIZWlnaHQgPSB1bmRlZmluZWQ7XG4gIHB1YmxpYyBwYWdlYWJsZSA9IGZhbHNlO1xuICBwdWJsaWMgbG9hZE9uU2Nyb2xsID0gZmFsc2U7XG4gIHB1YmxpYyBsb2FkVmlld0Rpc3RhbmNlUmF0aW8gPSAxO1xuICBwdWJsaWMgc2hvd0luZGV4Q29sdW1uID0gZmFsc2U7XG4gIHB1YmxpYyBpbmRleENvbHVtblRpdGxlID0gJyMnO1xuICBwdWJsaWMgcm93U2VsZWN0YWJsZSA9IGZhbHNlO1xuICBwdWJsaWMgc2VsZWN0TW9kZTogRGF0YVRhYmxlU2VsZWN0TW9kZSA9ICdzaW5nbGUnO1xuICBwdWJsaWMgc2hvd1Jvd1NlbGVjdENoZWNrYm94ID0gdHJ1ZTtcbiAgcHVibGljIHNob3dSb3dTZWxlY3RBbGxDaGVja2JveCA9IGZhbHNlO1xuICBwdWJsaWMgc2hvd1N1YnN0aXR1dGVSb3dzID0gZmFsc2U7XG4gIHB1YmxpYyBleHBhbmRhYmxlUm93cyA9IGZhbHNlO1xuICBwdWJsaWMgc2VsZWN0T25Sb3dDbGljayA9IGZhbHNlO1xuICBwdWJsaWMgZXhwYW5kT25Sb3dDbGljayA9IGZhbHNlO1xuICBwdWJsaWMgYXV0b0ZldGNoID0gdHJ1ZTtcbiAgcHVibGljIHNob3dMb2FkaW5nU3Bpbm5lciA9IHRydWU7XG4gIHB1YmxpYyBzZWxlY3RUcmFja0J5ID0gJ2lkJztcbiAgcHVibGljIGZpbHRlckRlYm91bmNlVGltZSA9IDUwMDtcbiAgcHVibGljIGZpbHRlckRlYm91bmNlID0gdHJ1ZTtcbiAgcHVibGljIHNob3dSZWZyZXNoQnV0dG9uID0gZmFsc2U7XG4gIHB1YmxpYyBzaG93Q29sdW1uU2VsZWN0b3IgPSBmYWxzZTtcbiAgcHVibGljIGNvbHVtblNlbGVjdG9yV2lkdGggPSAyNDA7XG4gIHB1YmxpYyBleHBhbmRlckNvbHVtbldpZHRoOiBzdHJpbmcgfCBudW1iZXIgPSAzMDtcbiAgcHVibGljIGluZGV4Q29sdW1uV2lkdGg6IHN0cmluZyB8IG51bWJlciA9IDMwO1xuICBwdWJsaWMgc2VsZWN0aW9uQ29sdW1uV2lkdGg6IHN0cmluZyB8IG51bWJlciA9IDMwO1xuICBwdWJsaWMgc2hvd1Jvd0V4cGFuZExvYWRpbmdTcGlubmVyID0gZmFsc2U7XG4gIHB1YmxpYyBvZmZzZXQgPSAwO1xuICBwdWJsaWMgbGltaXQgPSAxMDtcbiAgcHVibGljIG1heExpbWl0ID0gMTAwO1xuICBwdWJsaWMgc3RhdGVLZXlQcmVmaXggPSAnZ3JpZF9zdGF0ZV8nO1xuICBwdWJsaWMgYmFzZVRyYW5zbGF0aW9uczogRGF0YVRhYmxlVHJhbnNsYXRpb25zID0ge1xuICAgIG5vRGF0YU1lc3NhZ2U6IHtcbiAgICAgIGhlYWRlcjogJ1dob29wcyEnLFxuICAgICAgYm9keTogJ05vIGRhdGEgdG8gZGlzcGxheS4gQWRkZWQgZGF0YSB3aWxsIGFwcGVhciBoZXJlLicsXG4gICAgfSxcbiAgICBwYWdpbmF0aW9uOiB7XG4gICAgICBsaW1pdDogJ0xpbWl0OicsXG4gICAgICByYW5nZUtleTogJ1Jlc3VsdHM6JyxcbiAgICAgIHJhbmdlU2VwYXJhdG9yOiAnb2YnLFxuICAgICAgbmV4dFRvb2x0aXA6ICdOZXh0JyxcbiAgICAgIHByZXZpb3VzVG9vbHRpcDogJ1ByZXZpb3VzJyxcbiAgICAgIGxhc3RUb29sdGlwOiAnTGFzdCcsXG4gICAgICBmaXJzdFRvb2x0aXA6ICdGaXJzdCdcbiAgICB9LFxuICAgIGNvbHVtblNlbGVjdG9yOiB7XG4gICAgICBoZWFkZXI6ICdTaG93L0hpZGUgQ29sdW1uJ1xuICAgIH0sXG4gICAgZHJvcGRvd25GaWx0ZXI6IHtcbiAgICAgIG5vRGF0YU1lc3NhZ2U6ICdObyBSZXN1bHRzIEF2YWlsYWJsZScsXG4gICAgICBmaWx0ZXJQbGFjZWhvbGRlcjogJ1NlYXJjaCcsXG4gICAgICBzZWxlY3RlZE9wdGlvbldyYXBQbGFjZWhvbGRlcjogJ09wdGlvbnMnLFxuICAgICAgc2VsZWN0UGxhY2Vob2xkZXI6ICdTZWxlY3QnXG4gICAgfVxuICB9O1xuXG4gIC8vIFRhYmxlIGNvbHVtbiBjb25maWdcbiAgcHVibGljIHNvcnRhYmxlID0gZmFsc2U7XG4gIHB1YmxpYyBzb3J0T3JkZXI6IERhdGFUYWJsZVNvcnRPcmRlciA9ICcnO1xuICBwdWJsaWMgZmlsdGVyYWJsZSA9IGZhbHNlO1xuICBwdWJsaWMgZmlsdGVyUGxhY2Vob2xkZXIgPSAnU2VhcmNoJztcbiAgcHVibGljIGNvbHVtblJlc2l6YWJsZSA9IGZhbHNlO1xuICBwdWJsaWMgY29sdW1uVmlzaWJsZSA9IHRydWU7XG4gIHB1YmxpYyBzaG93RHJvcGRvd25GaWx0ZXIgPSBmYWxzZTtcbiAgcHVibGljIHNob3dGaWx0ZXJDbGVhckJ1dHRvbiA9IHRydWU7XG5cbiAgLy8gQ29sdW1uIGRyb3Bkb3duIGZpbHRlciBvcHRpb25zXG4gIHB1YmxpYyBkcm9wZG93bkZpbHRlck1lbnVQb3NpdGlvbjogVmlld1Bvc2l0aW9uID0gJ2JvdHRvbS1sZWZ0JztcbiAgcHVibGljIGRyb3Bkb3duRmlsdGVyU2VsZWN0TW9kZTogRHJvcGRvd25TZWxlY3RNb2RlID0gJ211bHRpJztcbiAgcHVibGljIGRyb3Bkb3duRmlsdGVyU2VhcmNoYWJsZSA9IHRydWU7XG4gIHB1YmxpYyBkcm9wZG93bkZpbHRlclNlYXJjaERlYm91bmNlVGltZSA9IDUwMDtcbiAgcHVibGljIGRyb3Bkb3duRmlsdGVyU2VhcmNoRGVib3VuY2UgPSB0cnVlO1xuICBwdWJsaWMgZHJvcGRvd25GaWx0ZXJXcmFwRGlzcGxheVNlbGVjdExpbWl0ID0gMTtcbiAgcHVibGljIGRyb3Bkb3duRmlsdGVyR3JvdXBCeUZpZWxkID0gdW5kZWZpbmVkO1xuICBwdWJsaWMgZHJvcGRvd25GaWx0ZXJTaG93U2VsZWN0ZWRPcHRpb25SZW1vdmVCdXR0b24gPSBmYWxzZTtcbiAgcHVibGljIGRyb3Bkb3duRmlsdGVyU2hvd0NsZWFyU2VsZWN0aW9uQnV0dG9uID0gdHJ1ZTtcbiAgcHVibGljIGRyb3Bkb3duRmlsdGVyTWVudVdpZHRoID0gMzIwO1xuICBwdWJsaWMgZHJvcGRvd25GaWx0ZXJNZW51SGVpZ2h0ID0gMjUwO1xuICBwdWJsaWMgZHJvcGRvd25GaWx0ZXJNdWx0aVNlbGVjdE9wdGlvbk1heFdpZHRoID0gMTM1O1xuICBwdWJsaWMgZHJvcGRvd25GaWx0ZXJDbG9zZU1lbnVPblNlbGVjdCA9IHRydWU7XG4gIHB1YmxpYyBkcm9wZG93bkZpbHRlckR5bmFtaWNEaW1lbnNpb25DYWxjdWxhdGlvbiA9IHRydWU7XG4gIHB1YmxpYyBkcm9wZG93bkZpbHRlckR5bmFtaWNXaWR0aFJhdGlvID0gMS4yNTtcbiAgcHVibGljIGRyb3Bkb3duRmlsdGVyRHluYW1pY0hlaWdodFJhdGlvID0gMS4yNTtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KERBVEFfVEFCTEVfQ09ORklHKSBwcml2YXRlIGRhdGFUYWJsZUNvbmZpZzogRGF0YVRhYmxlQ29uZmlnKSB7XG4gICAgaWYgKGRhdGFUYWJsZUNvbmZpZykge1xuICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBkYXRhVGFibGVDb25maWcpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXQgdHJhbnNsYXRpb25zKHZhbHVlOiBEYXRhVGFibGVUcmFuc2xhdGlvbnMpIHtcbiAgICBpZiAoIXZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gYWxsIGtleXMgYXJlIG9iamVjdCB0eXBlLlxuICAgIGZvciAoY29uc3QgW2tleSwgdmFsXSBvZiBPYmplY3QuZW50cmllcyh2YWx1ZSkpIHtcbiAgICAgIHRoaXMuYmFzZVRyYW5zbGF0aW9uc1trZXldID0geyAuLi50aGlzLmJhc2VUcmFuc2xhdGlvbnNba2V5XSwgLi4udmFsIH07XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdHJhbnNsYXRpb25zLlxuICAgKi9cbiAgcHVibGljIGdldCB0cmFuc2xhdGlvbnMoKTogRGF0YVRhYmxlVHJhbnNsYXRpb25zIHtcbiAgICByZXR1cm4gdGhpcy5iYXNlVHJhbnNsYXRpb25zO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCByb3cgc2VsZWN0IGNoZWNrYm94IGNvbHVtbi5cbiAgICovXG4gIHB1YmxpYyBnZXQgc2hvd1Jvd1NlbGVjdENoZWNrYm94Q29sdW1uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnJvd1NlbGVjdGFibGUgJiYgdGhpcy5zaG93Um93U2VsZWN0Q2hlY2tib3g7XG4gIH1cbn1cblxuIl19