UNPKG

ng-zorro-antd

Version:

An enterprise-class UI components based on Ant Design and Angular

84 lines 7.38 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @license * Copyright Alibaba.com All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE */ import { DOCUMENT } from '@angular/common'; import { Inject, Injectable } from '@angular/core'; import * as i0 from "@angular/core"; import * as i1 from "@angular/common"; export class NzCopyToClipboardService { // tslint:disable-next-line:no-any /** * @param {?} document */ constructor(document) { this.document = document; } /** * @param {?} text * @return {?} */ copy(text) { return new Promise((/** * @param {?} resolve * @param {?} reject * @return {?} */ (resolve, reject) => { /** @type {?} */ let copyTextArea = null; try { // tslint:disable-next-line no-any copyTextArea = (/** @type {?} */ (this.document.createElement('textarea'))); (/** @type {?} */ (copyTextArea.style)).all = 'unset'; copyTextArea.style.position = 'fixed'; copyTextArea.style.top = '0'; copyTextArea.style.clip = 'rect(0, 0, 0, 0)'; copyTextArea.style.whiteSpace = 'pre'; copyTextArea.style.webkitUserSelect = 'text'; (/** @type {?} */ (copyTextArea.style)).MozUserSelect = 'text'; copyTextArea.style.msUserSelect = 'text'; copyTextArea.style.userSelect = 'text'; this.document.body.appendChild(copyTextArea); copyTextArea.value = text; copyTextArea.select(); /** @type {?} */ const successful = this.document.execCommand('copy'); if (!successful) { reject(text); } resolve(text); } finally { if (copyTextArea) { this.document.body.removeChild(copyTextArea); } } })); } } NzCopyToClipboardService.decorators = [ { type: Injectable, args: [{ providedIn: 'root' },] } ]; /** @nocollapse */ NzCopyToClipboardService.ctorParameters = () => [ { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] } ]; /** @nocollapse */ NzCopyToClipboardService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function NzCopyToClipboardService_Factory() { return new NzCopyToClipboardService(i0.ɵɵinject(i1.DOCUMENT)); }, token: NzCopyToClipboardService, providedIn: "root" }); if (false) { /** * @type {?} * @private */ NzCopyToClipboardService.prototype.document; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnotY29weS10by1jbGlwYm9hcmQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25nLXpvcnJvLWFudGQvY29yZS8iLCJzb3VyY2VzIjpbInNlcnZpY2VzL256LWNvcHktdG8tY2xpcGJvYXJkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFRQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUtuRCxNQUFNLE9BQU8sd0JBQXdCOzs7OztJQUVuQyxZQUFzQyxRQUFhO1FBQWIsYUFBUSxHQUFSLFFBQVEsQ0FBSztJQUFHLENBQUM7Ozs7O0lBRXZELElBQUksQ0FBQyxJQUFZO1FBQ2YsT0FBTyxJQUFJLE9BQU87Ozs7O1FBQ2hCLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBUSxFQUFFOztnQkFDcEIsWUFBWSxHQUFHLElBQUk7WUFDdkIsSUFBSTtnQkFDRixrQ0FBa0M7Z0JBQ2xDLFlBQVksR0FBRyxtQkFBQSxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsRUFBTyxDQUFDO2dCQUM5RCxtQkFBQSxZQUFZLENBQUMsS0FBSyxFQUFDLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQztnQkFDbEMsWUFBWSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO2dCQUN0QyxZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7Z0JBQzdCLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLGtCQUFrQixDQUFDO2dCQUM3QyxZQUFZLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7Z0JBQ3RDLFlBQVksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDO2dCQUM3QyxtQkFBQSxZQUFZLENBQUMsS0FBSyxFQUFDLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQztnQkFDM0MsWUFBWSxDQUFDLEtBQUssQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDO2dCQUN6QyxZQUFZLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7Z0JBQ3ZDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDN0MsWUFBWSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7Z0JBQzFCLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQzs7c0JBRWhCLFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUM7Z0JBQ3BELElBQUksQ0FBQyxVQUFVLEVBQUU7b0JBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUNkO2dCQUNELE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNmO29CQUFTO2dCQUNSLElBQUksWUFBWSxFQUFFO29CQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7aUJBQzlDO2FBQ0Y7UUFDSCxDQUFDLEVBQ0YsQ0FBQztJQUNKLENBQUM7OztZQXZDRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs7NENBR2MsTUFBTSxTQUFDLFFBQVE7Ozs7Ozs7O0lBQWhCLDRDQUF1QyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBBbGliYWJhLmNvbSBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9ORy1aT1JSTy9uZy16b3Jyby1hbnRkL2Jsb2IvbWFzdGVyL0xJQ0VOU0VcbiAqL1xuXG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTnpDb3B5VG9DbGlwYm9hcmRTZXJ2aWNlIHtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWFueVxuICBjb25zdHJ1Y3RvcihASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBhbnkpIHt9XG5cbiAgY29weSh0ZXh0OiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTxzdHJpbmc+KFxuICAgICAgKHJlc29sdmUsIHJlamVjdCk6IHZvaWQgPT4ge1xuICAgICAgICBsZXQgY29weVRleHRBcmVhID0gbnVsbDtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmUgbm8tYW55XG4gICAgICAgICAgY29weVRleHRBcmVhID0gdGhpcy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZXh0YXJlYScpIGFzIGFueTtcbiAgICAgICAgICBjb3B5VGV4dEFyZWEuc3R5bGUhLmFsbCA9ICd1bnNldCc7XG4gICAgICAgICAgY29weVRleHRBcmVhLnN0eWxlLnBvc2l0aW9uID0gJ2ZpeGVkJztcbiAgICAgICAgICBjb3B5VGV4dEFyZWEuc3R5bGUudG9wID0gJzAnO1xuICAgICAgICAgIGNvcHlUZXh0QXJlYS5zdHlsZS5jbGlwID0gJ3JlY3QoMCwgMCwgMCwgMCknO1xuICAgICAgICAgIGNvcHlUZXh0QXJlYS5zdHlsZS53aGl0ZVNwYWNlID0gJ3ByZSc7XG4gICAgICAgICAgY29weVRleHRBcmVhLnN0eWxlLndlYmtpdFVzZXJTZWxlY3QgPSAndGV4dCc7XG4gICAgICAgICAgY29weVRleHRBcmVhLnN0eWxlIS5Nb3pVc2VyU2VsZWN0ID0gJ3RleHQnO1xuICAgICAgICAgIGNvcHlUZXh0QXJlYS5zdHlsZS5tc1VzZXJTZWxlY3QgPSAndGV4dCc7XG4gICAgICAgICAgY29weVRleHRBcmVhLnN0eWxlLnVzZXJTZWxlY3QgPSAndGV4dCc7XG4gICAgICAgICAgdGhpcy5kb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGNvcHlUZXh0QXJlYSk7XG4gICAgICAgICAgY29weVRleHRBcmVhLnZhbHVlID0gdGV4dDtcbiAgICAgICAgICBjb3B5VGV4dEFyZWEuc2VsZWN0KCk7XG5cbiAgICAgICAgICBjb25zdCBzdWNjZXNzZnVsID0gdGhpcy5kb2N1bWVudC5leGVjQ29tbWFuZCgnY29weScpO1xuICAgICAgICAgIGlmICghc3VjY2Vzc2Z1bCkge1xuICAgICAgICAgICAgcmVqZWN0KHRleHQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXNvbHZlKHRleHQpO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgIGlmIChjb3B5VGV4dEFyZWEpIHtcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChjb3B5VGV4dEFyZWEpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICk7XG4gIH1cbn1cbiJdfQ==