UNPKG

@syncfusion/ej2-angular-spreadsheet

Version:

Feature-rich JavaScript Spreadsheet (Excel) control with built-in support for selection, editing, formatting, importing and exporting to Excel for Angular

68 lines 14.4 kB
import { Directive, ContentChildren, ContentChild } from '@angular/core'; import { ComplexBase, ArrayBase, setValue } from '@syncfusion/ej2-angular-base'; import { RowsDirective } from './rows.directive'; import { ColumnsDirective } from './columns.directive'; import { RangesDirective } from './ranges.directive'; import { ConditionalFormatsDirective } from './conditionalformats.directive'; import * as i0 from "@angular/core"; let input = ['activeCell', 'colCount', 'columns', 'conditionalFormats', 'frozenColumns', 'frozenRows', 'index', 'isProtected', 'name', 'paneTopLeftCell', 'password', 'protectSettings', 'ranges', 'rowCount', 'rows', 'selectedRange', 'showGridLines', 'showHeaders', 'standardHeight', 'state', 'topLeftCell', 'usedRange']; let outputs = []; /** * `e-sheet` directive represent a sheet of the Angular Spreadsheet. * It must be contained in a Spreadsheet component(`ejs-spreadsheet`). * ```html * <ejs-spreadsheet> * <e-sheets> * <e-sheet></e-sheet> * <e-sheet></e-sheet> * </e-sheets> * </ejs-spreadsheet> * ``` */ export class SheetDirective extends ComplexBase { constructor(viewContainerRef) { super(); this.viewContainerRef = viewContainerRef; this.tags = ['rows', 'columns', 'ranges', 'conditionalFormats']; setValue('currentInstance', this, this.viewContainerRef); this.registerEvents(outputs); this.directivePropList = input; } } SheetDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SheetDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); SheetDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: SheetDirective, selector: "e-sheets>e-sheet", inputs: { activeCell: "activeCell", colCount: "colCount", columns: "columns", conditionalFormats: "conditionalFormats", frozenColumns: "frozenColumns", frozenRows: "frozenRows", index: "index", isProtected: "isProtected", name: "name", paneTopLeftCell: "paneTopLeftCell", password: "password", protectSettings: "protectSettings", ranges: "ranges", rowCount: "rowCount", rows: "rows", selectedRange: "selectedRange", showGridLines: "showGridLines", showHeaders: "showHeaders", standardHeight: "standardHeight", state: "state", topLeftCell: "topLeftCell", usedRange: "usedRange" }, queries: [{ propertyName: "childRows", first: true, predicate: RowsDirective, descendants: true }, { propertyName: "childColumns", first: true, predicate: ColumnsDirective, descendants: true }, { propertyName: "childRanges", first: true, predicate: RangesDirective, descendants: true }, { propertyName: "childConditionalFormats", first: true, predicate: ConditionalFormatsDirective, descendants: true }], usesInheritance: true, ngImport: i0 }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SheetDirective, decorators: [{ type: Directive, args: [{ selector: 'e-sheets>e-sheet', inputs: input, outputs: outputs, queries: { childRows: new ContentChild(RowsDirective), childColumns: new ContentChild(ColumnsDirective), childRanges: new ContentChild(RangesDirective), childConditionalFormats: new ContentChild(ConditionalFormatsDirective) } }] }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; } }); /** * Sheet Array Directive * @private */ export class SheetsDirective extends ArrayBase { constructor() { super('sheets'); } } SheetsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SheetsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); SheetsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: SheetsDirective, selector: "ejs-spreadsheet>e-sheets", queries: [{ propertyName: "children", predicate: SheetDirective }], usesInheritance: true, ngImport: i0 }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SheetsDirective, decorators: [{ type: Directive, args: [{ selector: 'ejs-spreadsheet>e-sheets', queries: { children: new ContentChildren(SheetDirective) }, }] }], ctorParameters: function () { return []; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hlZXRzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zcHJlYWRzaGVldC9zaGVldHMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQW9CLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFaEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFFN0UsSUFBSSxLQUFLLEdBQWEsQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxvQkFBb0IsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0FBQ3pVLElBQUksT0FBTyxHQUFhLEVBQUUsQ0FBQztBQUMzQjs7Ozs7Ozs7Ozs7R0FXRztBQVlILE1BQU0sT0FBTyxjQUFlLFNBQVEsV0FBMkI7SUErSDNELFlBQW9CLGdCQUFpQztRQUNqRCxLQUFLLEVBQUUsQ0FBQztRQURRLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUI7UUF4SDlDLFNBQUksR0FBYSxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLG9CQUFvQixDQUFDLENBQUM7UUEwSHhFLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO0lBQ25DLENBQUM7OzJHQXBJUSxjQUFjOytGQUFkLGNBQWMsbXFCQU5TLGFBQWEsK0VBQ1YsZ0JBQWdCLDhFQUNqQixlQUFlLDBGQUNILDJCQUEyQjsyRkFHaEUsY0FBYztrQkFYMUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixNQUFNLEVBQUUsS0FBSztvQkFDYixPQUFPLEVBQUUsT0FBTztvQkFDaEIsT0FBTyxFQUFFO3dCQUNMLFNBQVMsRUFBRSxJQUFJLFlBQVksQ0FBQyxhQUFhLENBQUM7d0JBQzFDLFlBQVksRUFBRSxJQUFJLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQzt3QkFDaEQsV0FBVyxFQUFFLElBQUksWUFBWSxDQUFDLGVBQWUsQ0FBQzt3QkFDOUMsdUJBQXVCLEVBQUUsSUFBSSxZQUFZLENBQUMsMkJBQTJCLENBQUM7cUJBQ3pFO2lCQUNKOztBQXdJRDs7O0dBR0c7QUFPSCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxTQUEwQjtJQUMzRDtRQUNJLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNwQixDQUFDOzs0R0FIUSxlQUFlO2dHQUFmLGVBQWUseUZBSFUsY0FBYzsyRkFHdkMsZUFBZTtrQkFOM0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsMEJBQTBCO29CQUNwQyxPQUFPLEVBQUU7d0JBQ0wsUUFBUSxFQUFFLElBQUksZUFBZSxDQUFDLGNBQWMsQ0FBQztxQkFDaEQ7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFZpZXdDb250YWluZXJSZWYsIENvbnRlbnRDaGlsZHJlbiwgQ29udGVudENoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21wbGV4QmFzZSwgQXJyYXlCYXNlLCBzZXRWYWx1ZSB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWJhc2UnO1xuXG5pbXBvcnQgeyBSb3dzRGlyZWN0aXZlIH0gZnJvbSAnLi9yb3dzLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBDb2x1bW5zRGlyZWN0aXZlIH0gZnJvbSAnLi9jb2x1bW5zLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBSYW5nZXNEaXJlY3RpdmUgfSBmcm9tICcuL3Jhbmdlcy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ29uZGl0aW9uYWxGb3JtYXRzRGlyZWN0aXZlIH0gZnJvbSAnLi9jb25kaXRpb25hbGZvcm1hdHMuZGlyZWN0aXZlJztcblxubGV0IGlucHV0OiBzdHJpbmdbXSA9IFsnYWN0aXZlQ2VsbCcsICdjb2xDb3VudCcsICdjb2x1bW5zJywgJ2NvbmRpdGlvbmFsRm9ybWF0cycsICdmcm96ZW5Db2x1bW5zJywgJ2Zyb3plblJvd3MnLCAnaW5kZXgnLCAnaXNQcm90ZWN0ZWQnLCAnbmFtZScsICdwYW5lVG9wTGVmdENlbGwnLCAncGFzc3dvcmQnLCAncHJvdGVjdFNldHRpbmdzJywgJ3JhbmdlcycsICdyb3dDb3VudCcsICdyb3dzJywgJ3NlbGVjdGVkUmFuZ2UnLCAnc2hvd0dyaWRMaW5lcycsICdzaG93SGVhZGVycycsICdzdGFuZGFyZEhlaWdodCcsICdzdGF0ZScsICd0b3BMZWZ0Q2VsbCcsICd1c2VkUmFuZ2UnXTtcbmxldCBvdXRwdXRzOiBzdHJpbmdbXSA9IFtdO1xuLyoqXG4gKiBgZS1zaGVldGAgZGlyZWN0aXZlIHJlcHJlc2VudCBhIHNoZWV0IG9mIHRoZSBBbmd1bGFyIFNwcmVhZHNoZWV0LlxuICogSXQgbXVzdCBiZSBjb250YWluZWQgaW4gYSBTcHJlYWRzaGVldCBjb21wb25lbnQoYGVqcy1zcHJlYWRzaGVldGApLlxuICogYGBgaHRtbFxuICogPGVqcy1zcHJlYWRzaGVldD5cbiAqICAgPGUtc2hlZXRzPlxuICogICAgPGUtc2hlZXQ+PC9lLXNoZWV0PlxuICogICAgPGUtc2hlZXQ+PC9lLXNoZWV0PlxuICogICA8L2Utc2hlZXRzPlxuICogPC9lanMtc3ByZWFkc2hlZXQ+XG4gKiBgYGBcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdlLXNoZWV0cz5lLXNoZWV0JyxcbiAgICBpbnB1dHM6IGlucHV0LFxuICAgIG91dHB1dHM6IG91dHB1dHMsICAgIFxuICAgIHF1ZXJpZXM6IHtcbiAgICAgICAgY2hpbGRSb3dzOiBuZXcgQ29udGVudENoaWxkKFJvd3NEaXJlY3RpdmUpLCBcbiAgICAgICAgY2hpbGRDb2x1bW5zOiBuZXcgQ29udGVudENoaWxkKENvbHVtbnNEaXJlY3RpdmUpLCBcbiAgICAgICAgY2hpbGRSYW5nZXM6IG5ldyBDb250ZW50Q2hpbGQoUmFuZ2VzRGlyZWN0aXZlKSwgXG4gICAgICAgIGNoaWxkQ29uZGl0aW9uYWxGb3JtYXRzOiBuZXcgQ29udGVudENoaWxkKENvbmRpdGlvbmFsRm9ybWF0c0RpcmVjdGl2ZSlcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFNoZWV0RGlyZWN0aXZlIGV4dGVuZHMgQ29tcGxleEJhc2U8U2hlZXREaXJlY3RpdmU+IHtcbiAgICBwdWJsaWMgZGlyZWN0aXZlUHJvcExpc3Q6IGFueTtcblx0XG4gICAgcHVibGljIGNoaWxkUm93czogYW55O1xuICAgIHB1YmxpYyBjaGlsZENvbHVtbnM6IGFueTtcbiAgICBwdWJsaWMgY2hpbGRSYW5nZXM6IGFueTtcbiAgICBwdWJsaWMgY2hpbGRDb25kaXRpb25hbEZvcm1hdHM6IGFueTtcbiAgICBwdWJsaWMgdGFnczogc3RyaW5nW10gPSBbJ3Jvd3MnLCAnY29sdW1ucycsICdyYW5nZXMnLCAnY29uZGl0aW9uYWxGb3JtYXRzJ107XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyBhY3RpdmUgY2VsbCB3aXRoaW4gYHNlbGVjdGVkUmFuZ2VgIGluIHRoZSBzaGVldC5cbiAgICAgKiBAZGVmYXVsdCAnQTEnXG4gICAgICovXG4gICAgcHVibGljIGFjdGl2ZUNlbGw6IGFueTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lcyB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgdG8gYmUgcmVuZGVyZWQgaW4gdGhlIHNoZWV0LlxuICAgICAqIEBkZWZhdWx0IDEwMFxuICAgICAqIEBhc3B0eXBlIGludFxuICAgICAqL1xuICAgIHB1YmxpYyBjb2xDb3VudDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBDb25maWd1cmVzIGNvbHVtbiBhbmQgaXRzIHByb3BlcnRpZXMgZm9yIHRoZSBzaGVldC5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgcHVibGljIGNvbHVtbnM6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBjb25kaXRpb25hbCBmb3JtYXR0aW5nIGZvciB0aGUgc2hlZXQuXG4gICAgICogQGRlZmF1bHQgW11cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uZGl0aW9uYWxGb3JtYXRzOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEdldHMgb3Igc2V0cyB0aGUgbnVtYmVyIG9mIGZyb3plbiBjb2x1bW5zLlxuICAgICAqIEBkZWZhdWx0IDBcbiAgICAgKiBAYXNwdHlwZSBpbnRcbiAgICAgKi9cbiAgICBwdWJsaWMgZnJvemVuQ29sdW1uczogYW55O1xuICAgIC8qKiBcbiAgICAgKiBHZXRzIG9yIHNldHMgdGhlIG51bWJlciBvZiBmcm96ZW4gcm93cy5cbiAgICAgKiBAZGVmYXVsdCAwXG4gICAgICogQGFzcHR5cGUgaW50XG4gICAgICovXG4gICAgcHVibGljIGZyb3plblJvd3M6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIGluZGV4IG9mIHRoZSBzaGVldC4gQmFzZWQgb24gdGhlIGluZGV4LCBzaGVldCBwcm9wZXJ0aWVzIGFyZSBhcHBsaWVkLlxuICAgICAqIEBkZWZhdWx0IDBcbiAgICAgKiBAYXNwdHlwZSBpbnRcbiAgICAgKi9cbiAgICBwdWJsaWMgaW5kZXg6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRvICBwcm90ZWN0IHRoZSBjZWxscyBpbiB0aGUgc2hlZXQuXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBwdWJsaWMgaXNQcm90ZWN0ZWQ6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBuYW1lIG9mIHRoZSBzaGVldCwgdGhlIG5hbWUgd2lsbCBzaG93IGluIHRoZSBzaGVldCB0YWJzLlxuICAgICAqIEBkZWZhdWx0ICcnXG4gICAgICovXG4gICAgcHVibGljIG5hbWU6IGFueTtcbiAgICAvKiogXG4gICAgICogUmVwcmVzZW50cyB0aGUgZnJlZXplIHBhbmUgdG9wIGxlZnQgY2VsbC4gSXRzIGRlZmF1bHQgdmFsdWUgd291bGQgYmUgYmFzZWQgb24gdGhlIG51bWJlciBvZiBmcmVlemUgcm93cyBhbmQgY29sdW1ucy5cbiAgICAgKiBAZGVmYXVsdCAnQTEnXG4gICAgICovXG4gICAgcHVibGljIHBhbmVUb3BMZWZ0Q2VsbDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdGhlIHBhc3N3b3JkLlxuICAgICAqIEBkZWZhdWx0ICcnXG4gICAgICovXG4gICAgcHVibGljIHBhc3N3b3JkOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIENvbmZpZ3VyZXMgcHJvdGVjdCBhbmQgaXRzIG9wdGlvbnMuXG4gICAgICogQGRlZmF1bHQgeyBzZWxlY3RDZWxsczogZmFsc2UsIGZvcm1hdENlbGxzOiBmYWxzZSwgZm9ybWF0Um93czogZmFsc2UsIGZvcm1hdENvbHVtbnM6IGZhbHNlLCBpbnNlcnRMaW5rOiBmYWxzZSAgfVxuICAgICAqL1xuICAgIHB1YmxpYyBwcm90ZWN0U2V0dGluZ3M6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBjb2xsZWN0aW9uIG9mIHJhbmdlIGZvciB0aGUgc2hlZXQuXG4gICAgICogQGRlZmF1bHQgW11cbiAgICAgKi9cbiAgICBwdWJsaWMgcmFuZ2VzOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIERlZmluZXMgdGhlIG51bWJlciBvZiByb3dzIHRvIGJlIHJlbmRlcmVkIGluIHRoZSBzaGVldC5cbiAgICAgKiBAZGVmYXVsdCAxMDBcbiAgICAgKiBAYXNwdHlwZSBpbnRcbiAgICAgKi9cbiAgICBwdWJsaWMgcm93Q291bnQ6IGFueTtcbiAgICAvKiogXG4gICAgICogQ29uZmlndXJlcyByb3cgYW5kIGl0cyBwcm9wZXJ0aWVzIGZvciB0aGUgc2hlZXQuXG4gICAgICogQGRlZmF1bHQgbnVsbFxuICAgICAqL1xuICAgIHB1YmxpYyByb3dzOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNwZWNpZmllcyBzZWxlY3RlZCByYW5nZSBpbiB0aGUgc2hlZXQuIFxuICAgICAqICBcbiAgICAgKiBAZGVmYXVsdCAnQTE6QTEnXG4gICAgICovXG4gICAgcHVibGljIHNlbGVjdGVkUmFuZ2U6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRvIHNob3cgLyBoaWRlIGdyaWQgbGluZXMgaW4gdGhlIHNoZWV0LlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBwdWJsaWMgc2hvd0dyaWRMaW5lczogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZXMgdG8gc2hvdyAvIGhpZGUgY29sdW1uIGFuZCByb3cgaGVhZGVycyBpbiB0aGUgc2hlZXQuXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIHB1YmxpYyBzaG93SGVhZGVyczogYW55O1xuICAgIC8qKiBcbiAgICAgKiBSZXByZXNlbnRzIHRoZSBzdGFuZGFyZCBoZWlnaHQgb2YgdGhlIHNoZWV0LlxuICAgICAqIEBkZWZhdWx0IG51bGxcbiAgICAgKiBAYXNwdHlwZSBkb3VibGVcbiAgICAgKiBAYXNwZGVmYXVsdHZhbHVlIG51bGxcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhbmRhcmRIZWlnaHQ6IGFueTtcbiAgICAvKiogXG4gICAgICogU3BlY2lmaWVzIHRoZSBzaGVldCB2aXNpYmlsaXR5IHN0YXRlLiBUaGVyZSBtdXN0IGJlIGF0IGxlYXN0IG9uZSB2aXNpYmxlIHNoZWV0IGluIFNwcmVhZHNoZWV0LlxuICAgICAqIEBkZWZhdWx0ICdWaXNpYmxlJ1xuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0ZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTcGVjaWZpZWQgY2VsbCB3aWxsIGJlIHBvc2l0aW9uZWQgYXQgdGhlIHVwcGVyLWxlZnQgY29ybmVyIG9mIHRoZSBzaGVldC5cbiAgICAgKiBAZGVmYXVsdCAnQTEnXG4gICAgICovXG4gICAgcHVibGljIHRvcExlZnRDZWxsOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIERlZmluZXMgdGhlIHVzZWQgcmFuZ2Ugb2YgdGhlIHNoZWV0LlxuICAgICAqIEBkZWZhdWx0IHsgcm93SW5kZXg6IDAsIGNvbEluZGV4OiAwIH1cbiAgICAgKi9cbiAgICBwdWJsaWMgdXNlZFJhbmdlOiBhbnk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZpZXdDb250YWluZXJSZWY6Vmlld0NvbnRhaW5lclJlZikge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICBzZXRWYWx1ZSgnY3VycmVudEluc3RhbmNlJywgdGhpcywgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcbiAgICAgICAgdGhpcy5yZWdpc3RlckV2ZW50cyhvdXRwdXRzKTtcbiAgICAgICAgdGhpcy5kaXJlY3RpdmVQcm9wTGlzdCA9IGlucHV0O1xuICAgIH1cbn1cblxuLyoqXG4gKiBTaGVldCBBcnJheSBEaXJlY3RpdmVcbiAqIEBwcml2YXRlXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnZWpzLXNwcmVhZHNoZWV0PmUtc2hlZXRzJyxcbiAgICBxdWVyaWVzOiB7XG4gICAgICAgIGNoaWxkcmVuOiBuZXcgQ29udGVudENoaWxkcmVuKFNoZWV0RGlyZWN0aXZlKVxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFNoZWV0c0RpcmVjdGl2ZSBleHRlbmRzIEFycmF5QmFzZTxTaGVldHNEaXJlY3RpdmU+IHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoJ3NoZWV0cycpO1xuICAgIH1cbn0iXX0=