UNPKG

@lxlib/seed

Version:

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 9.1.1.

136 lines 8.79 kB
/** * @fileoverview added by tsickle * Generated from: image.directive.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { __assign, __decorate, __metadata } from "tslib"; import { Directive, ElementRef, Input } from '@angular/core'; import { InputNumber } from '@lxlib/util'; import { ImageConfig } from './image.config'; /** * img标签 * + 支持微信、qq头像规则缩略图规则 * + 支持移除http&https协议http * + 支持增加onerror事件 */ var ImageDirective = /** @class */ (function () { function ImageDirective(cog, el) { this.size = 64; this.error = './assets/img/logo.svg'; this.inited = false; Object.assign(this, __assign(__assign({}, new ImageConfig()), cog)); this.imgEl = el.nativeElement; } /** * @return {?} */ ImageDirective.prototype.ngOnInit = /** * @return {?} */ function () { this.update(); this.updateError(); this.inited = true; }; /** * @param {?} changes * @return {?} */ ImageDirective.prototype.ngOnChanges = /** * @param {?} changes * @return {?} */ function (changes) { if (!this.inited) return; if (changes.error) { this.updateError(); } this.update(); }; /** * @private * @return {?} */ ImageDirective.prototype.update = /** * @private * @return {?} */ function () { /** @type {?} */ var newSrc = this.src; var _a = this, size = _a.size, imgEl = _a.imgEl; if (newSrc.includes('qlogo.cn')) { /** @type {?} */ var arr = newSrc.split('/'); /** @type {?} */ var imgSize = arr[arr.length - 1]; arr[arr.length - 1] = imgSize === '0' || +imgSize !== size ? size.toString() : imgSize; newSrc = arr.join('/'); } newSrc = newSrc.replace(/^(?:https?:)/i, ''); imgEl.src = newSrc; imgEl.height = size; imgEl.width = size; }; /** * @private * @return {?} */ ImageDirective.prototype.updateError = /** * @private * @return {?} */ function () { var _a = this, imgEl = _a.imgEl, error = _a.error; // tslint:disable-next-line: only-arrow-functions imgEl.onerror = (/** * @return {?} */ function () { this.onerror = null; this.src = error; }); }; ImageDirective.decorators = [ { type: Directive, args: [{ selector: '[_src]', exportAs: '_src', },] } ]; /** @nocollapse */ ImageDirective.ctorParameters = function () { return [ { type: ImageConfig }, { type: ElementRef } ]; }; ImageDirective.propDecorators = { src: [{ type: Input, args: ['_src',] }], size: [{ type: Input }], error: [{ type: Input }] }; __decorate([ InputNumber(), __metadata("design:type", Object) ], ImageDirective.prototype, "size", void 0); return ImageDirective; }()); export { ImageDirective }; if (false) { /** @type {?} */ ImageDirective.prototype.src; /** @type {?} */ ImageDirective.prototype.size; /** @type {?} */ ImageDirective.prototype.error; /** * @type {?} * @private */ ImageDirective.prototype.inited; /** * @type {?} * @private */ ImageDirective.prototype.imgEl; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGx4bGliL3NlZWQvaW1hZ2UvIiwic291cmNlcyI6WyJpbWFnZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFrRCxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQVE3QztJQVlFLHdCQUFZLEdBQWdCLEVBQUUsRUFBZ0M7UUFOdEMsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUN6QixVQUFLLEdBQUcsdUJBQXVCLENBQUM7UUFFakMsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUlyQixNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksd0JBQU8sSUFBSSxXQUFXLEVBQUUsR0FBSyxHQUFHLEVBQUcsQ0FBQztRQUN0RCxJQUFJLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUM7SUFDaEMsQ0FBQzs7OztJQUVELGlDQUFROzs7SUFBUjtRQUNFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNkLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztJQUNyQixDQUFDOzs7OztJQUVELG9DQUFXOzs7O0lBQVgsVUFBWSxPQUE2RDtRQUN2RSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU07WUFBRSxPQUFPO1FBQ3pCLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRTtZQUNqQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDcEI7UUFDRCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQzs7Ozs7SUFFTywrQkFBTTs7OztJQUFkOztZQUNNLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRztRQUNmLElBQUEsU0FBc0IsRUFBcEIsY0FBSSxFQUFFLGdCQUFjO1FBRTVCLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRTs7Z0JBQ3pCLEdBQUcsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQzs7Z0JBQ3ZCLE9BQU8sR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDbkMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEdBQUcsT0FBTyxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1lBQ3ZGLE1BQU0sR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3hCO1FBRUQsTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRTdDLEtBQUssQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDO1FBQ25CLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ3JCLENBQUM7Ozs7O0lBRU8sb0NBQVc7Ozs7SUFBbkI7UUFDUSxJQUFBLFNBQXVCLEVBQXJCLGdCQUFLLEVBQUUsZ0JBQWM7UUFDN0IsaURBQWlEO1FBQ2pELEtBQUssQ0FBQyxPQUFPOzs7UUFBRztZQUNkLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDO1FBQ25CLENBQUMsQ0FBQSxDQUFDO0lBQ0osQ0FBQzs7Z0JBeERGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsUUFBUTtvQkFDbEIsUUFBUSxFQUFFLE1BQU07aUJBQ2pCOzs7O2dCQVhRLFdBQVc7Z0JBRkEsVUFBVTs7O3NCQWUzQixLQUFLLFNBQUMsTUFBTTt1QkFDWixLQUFLO3dCQUNMLEtBQUs7O0lBRGtCO1FBQWQsV0FBVyxFQUFFOztnREFBVztJQW1EcEMscUJBQUM7Q0FBQSxBQXpERCxJQXlEQztTQXJEWSxjQUFjOzs7SUFDekIsNkJBQTJCOztJQUMzQiw4QkFBa0M7O0lBQ2xDLCtCQUF5Qzs7Ozs7SUFFekMsZ0NBQXVCOzs7OztJQUN2QiwrQkFBZ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbnB1dE51bWJlciB9IGZyb20gJ0BseGxpYi91dGlsJztcbmltcG9ydCB7IEltYWdlQ29uZmlnIH0gZnJvbSAnLi9pbWFnZS5jb25maWcnO1xuXG4vKipcbiAqIGltZ+agh+etvlxuICogKyDmlK/mjIHlvq7kv6HjgIFxceWktOWDj+inhOWImee8qeeVpeWbvuinhOWImVxuICogKyDmlK/mjIHnp7vpmaRodHRwJmh0dHBz5Y2P6K6uaHR0cFxuICogKyDmlK/mjIHlop7liqBvbmVycm9y5LqL5Lu2XG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tfc3JjXScsXG4gIGV4cG9ydEFzOiAnX3NyYycsXG59KVxuZXhwb3J0IGNsYXNzIEltYWdlRGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQge1xuICBASW5wdXQoJ19zcmMnKSBzcmM6IHN0cmluZztcbiAgQElucHV0KCkgQElucHV0TnVtYmVyKCkgc2l6ZSA9IDY0O1xuICBASW5wdXQoKSBlcnJvciA9ICcuL2Fzc2V0cy9pbWcvbG9nby5zdmcnO1xuXG4gIHByaXZhdGUgaW5pdGVkID0gZmFsc2U7XG4gIHByaXZhdGUgaW1nRWw6IEhUTUxJbWFnZUVsZW1lbnQ7XG5cbiAgY29uc3RydWN0b3IoY29nOiBJbWFnZUNvbmZpZywgZWw6IEVsZW1lbnRSZWY8SFRNTEltYWdlRWxlbWVudD4pIHtcbiAgICBPYmplY3QuYXNzaWduKHRoaXMsIHsgLi4ubmV3IEltYWdlQ29uZmlnKCksIC4uLmNvZyB9KTtcbiAgICB0aGlzLmltZ0VsID0gZWwubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlKCk7XG4gICAgdGhpcy51cGRhdGVFcnJvcigpO1xuICAgIHRoaXMuaW5pdGVkID0gdHJ1ZTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IHsgW1AgaW4ga2V5b2YgdGhpc10/OiBTaW1wbGVDaGFuZ2UgfSAmIFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaW5pdGVkKSByZXR1cm47XG4gICAgaWYgKGNoYW5nZXMuZXJyb3IpIHtcbiAgICAgIHRoaXMudXBkYXRlRXJyb3IoKTtcbiAgICB9XG4gICAgdGhpcy51cGRhdGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlKCkge1xuICAgIGxldCBuZXdTcmMgPSB0aGlzLnNyYztcbiAgICBjb25zdCB7IHNpemUsIGltZ0VsIH0gPSB0aGlzO1xuXG4gICAgaWYgKG5ld1NyYy5pbmNsdWRlcygncWxvZ28uY24nKSkge1xuICAgICAgY29uc3QgYXJyID0gbmV3U3JjLnNwbGl0KCcvJyk7XG4gICAgICBjb25zdCBpbWdTaXplID0gYXJyW2Fyci5sZW5ndGggLSAxXTtcbiAgICAgIGFyclthcnIubGVuZ3RoIC0gMV0gPSBpbWdTaXplID09PSAnMCcgfHwgK2ltZ1NpemUgIT09IHNpemUgPyBzaXplLnRvU3RyaW5nKCkgOiBpbWdTaXplO1xuICAgICAgbmV3U3JjID0gYXJyLmpvaW4oJy8nKTtcbiAgICB9XG5cbiAgICBuZXdTcmMgPSBuZXdTcmMucmVwbGFjZSgvXig/Omh0dHBzPzopL2ksICcnKTtcblxuICAgIGltZ0VsLnNyYyA9IG5ld1NyYztcbiAgICBpbWdFbC5oZWlnaHQgPSBzaXplO1xuICAgIGltZ0VsLndpZHRoID0gc2l6ZTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlRXJyb3IoKSB7XG4gICAgY29uc3QgeyBpbWdFbCwgZXJyb3IgfSA9IHRoaXM7XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBvbmx5LWFycm93LWZ1bmN0aW9uc1xuICAgIGltZ0VsLm9uZXJyb3IgPSBmdW5jdGlvbiAoKSB7XG4gICAgICB0aGlzLm9uZXJyb3IgPSBudWxsO1xuICAgICAgdGhpcy5zcmMgPSBlcnJvcjtcbiAgICB9O1xuICB9XG59XG4iXX0=