UNPKG

@namefully/ng

Version:
105 lines 7.18 kB
/** * @fileoverview added by tsickle * Generated from: namefully.directive.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Directive, ElementRef, Input } from '@angular/core'; import { Namefully } from 'namefully'; import { executeInnerMethod } from './namefully-utils'; /** * Represents an Angular-based attribute directive that wraps up namefully's * core functionalities. Remember, if not satisfied, you can always use some of * of the core elements exported from `namefully` instead. * * \@usageNotes * ```html * <p [ngxNamefully]="..." * [nfOptions]="..." * [nfMethod]="..." * [nfArgs]="..." * > * </p> * ``` * * \@example * - import the module first to your app * - then use it with the following props bindings * // in the AppModule for example: * ```ts * import { NamefullyModule } from '\@namefully/ng' * * \@NgModule({ * imports: [BrowserModule, NamefullyModule.forRoot(...)], * declarations: [AppComponent], * bootstrap: [AppComponent] * }) * export class AppModule {} * ``` * * // in the html template: * ```html * <span [ngxNamefully]="name" * [nfOptions]="options" * [nfMethod]="method" * [nfArgs]="args" * > * </span> * ``` * * // in the AppComponent.ts * ```ts * class AppComponent { * name = 'Mr Smith John Joe PhD' * options = { orderedBy: 'lastname' } * method = 'shorten' * args = [] * } * ``` * @see https://angular.io/guide/attribute-directives */ export class NamefullyDirective { /** * @param {?} elRef */ constructor(elRef) { this.elRef = elRef; } /** * @return {?} */ ngAfterViewInit() { var _a; /** @type {?} */ const name = new Namefully(this.raw, this.options); this.elRef.nativeElement.innerHTML = executeInnerMethod(name, name[(_a = this.method) !== null && _a !== void 0 ? _a : 'birthName'], this.args); } } NamefullyDirective.decorators = [ { type: Directive, args: [{ selector: '[ngxNamefully]' },] } ]; /** @nocollapse */ NamefullyDirective.ctorParameters = () => [ { type: ElementRef } ]; NamefullyDirective.propDecorators = { raw: [{ type: Input, args: ['ngxNamefully',] }], options: [{ type: Input, args: ['nfOptions',] }], method: [{ type: Input, args: ['nfMethod',] }], args: [{ type: Input, args: ['nfArgs',] }] }; if (false) { /** @type {?} */ NamefullyDirective.prototype.raw; /** @type {?} */ NamefullyDirective.prototype.options; /** @type {?} */ NamefullyDirective.prototype.method; /** @type {?} */ NamefullyDirective.prototype.args; /** * @type {?} * @private */ NamefullyDirective.prototype.elRef; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZWZ1bGx5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuYW1lZnVsbHkvbmcvIiwic291cmNlcyI6WyJuYW1lZnVsbHkuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFpQixNQUFNLGVBQWUsQ0FBQTtBQUMzRSxPQUFPLEVBQUUsU0FBUyxFQUFrQyxNQUFNLFdBQVcsQ0FBQTtBQUVyRSxPQUFPLEVBQUUsa0JBQWtCLEVBQVksTUFBTSxtQkFBbUIsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXNEaEUsTUFBTSxPQUFPLGtCQUFrQjs7OztJQVMzQixZQUFvQixLQUE4QjtRQUE5QixVQUFLLEdBQUwsS0FBSyxDQUF5QjtJQUFHLENBQUM7Ozs7SUFFdEQsZUFBZTs7O2NBQ0wsSUFBSSxHQUFHLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUNsRCxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxTQUFTLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxFQUFFLElBQUksT0FBQyxJQUFJLENBQUMsTUFBTSxtQ0FBSSxXQUFXLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDOUcsQ0FBQzs7O1lBZkosU0FBUyxTQUFDLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFOzs7O1lBeERyQixVQUFVOzs7a0JBMER6QixLQUFLLFNBQUMsY0FBYztzQkFFcEIsS0FBSyxTQUFDLFdBQVc7cUJBRWpCLEtBQUssU0FBQyxVQUFVO21CQUVoQixLQUFLLFNBQUMsUUFBUTs7OztJQU5mLGlDQUEwRTs7SUFFMUUscUNBQTZDOztJQUU3QyxvQ0FBK0M7O0lBRS9DLGtDQUE2Qjs7Ozs7SUFFakIsbUNBQXNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgQWZ0ZXJWaWV3SW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBOYW1lZnVsbHksIE5hbWUsIEpzb25OYW1lLCBQYXJzZXIsIENvbmZpZyB9IGZyb20gJ25hbWVmdWxseSdcblxuaW1wb3J0IHsgZXhlY3V0ZUlubmVyTWV0aG9kLCBNZXRob2RPZiB9IGZyb20gJy4vbmFtZWZ1bGx5LXV0aWxzJ1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYW4gQW5ndWxhci1iYXNlZCBhdHRyaWJ1dGUgZGlyZWN0aXZlIHRoYXQgd3JhcHMgdXAgbmFtZWZ1bGx5J3NcbiAqIGNvcmUgZnVuY3Rpb25hbGl0aWVzLiBSZW1lbWJlciwgaWYgbm90IHNhdGlzZmllZCwgeW91IGNhbiBhbHdheXMgdXNlIHNvbWUgb2ZcbiAqIG9mIHRoZSBjb3JlIGVsZW1lbnRzIGV4cG9ydGVkIGZyb20gYG5hbWVmdWxseWAgaW5zdGVhZC5cbiAqXG4gKiBAdXNhZ2VOb3Rlc1xuICogYGBgaHRtbFxuICogICAgIDxwIFtuZ3hOYW1lZnVsbHldPVwiLi4uXCJcbiAqICAgICAgICAgIFtuZk9wdGlvbnNdPVwiLi4uXCJcbiAqICAgICAgICAgIFtuZk1ldGhvZF09XCIuLi5cIlxuICogICAgICAgICAgW25mQXJnc109XCIuLi5cIlxuICogICAgICAgICAgPlxuICogICAgIDwvcD5cbiAqIGBgYFxuICpcbiAqIEBleGFtcGxlXG4gKiAtIGltcG9ydCB0aGUgbW9kdWxlIGZpcnN0IHRvIHlvdXIgYXBwXG4gKiAtIHRoZW4gdXNlIGl0IHdpdGggdGhlIGZvbGxvd2luZyBwcm9wcyBiaW5kaW5nc1xuICogLy8gaW4gdGhlIEFwcE1vZHVsZSBmb3IgZXhhbXBsZTpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBOYW1lZnVsbHlNb2R1bGUgfSBmcm9tICdAbmFtZWZ1bGx5L25nJ1xuICpcbiAqIEBOZ01vZHVsZSh7XG4gKiAgIGltcG9ydHM6IFtCcm93c2VyTW9kdWxlLCBOYW1lZnVsbHlNb2R1bGUuZm9yUm9vdCguLi4pXSxcbiAqICAgZGVjbGFyYXRpb25zOiBbQXBwQ29tcG9uZW50XSxcbiAqICAgYm9vdHN0cmFwOiBbQXBwQ29tcG9uZW50XVxuICogfSlcbiAqIGV4cG9ydCBjbGFzcyBBcHBNb2R1bGUge31cbiAqIGBgYFxuICpcbiAqIC8vIGluIHRoZSBodG1sIHRlbXBsYXRlOlxuICogYGBgaHRtbFxuICogICAgIDxzcGFuIFtuZ3hOYW1lZnVsbHldPVwibmFtZVwiXG4gKiAgICAgICAgICBbbmZPcHRpb25zXT1cIm9wdGlvbnNcIlxuICogICAgICAgICAgW25mTWV0aG9kXT1cIm1ldGhvZFwiXG4gKiAgICAgICAgICBbbmZBcmdzXT1cImFyZ3NcIlxuICogICAgICAgICAgPlxuICogICAgIDwvc3Bhbj5cbiAqIGBgYFxuICpcbiAqIC8vIGluIHRoZSBBcHBDb21wb25lbnQudHNcbiAqIGBgYHRzXG4gKiBjbGFzcyBBcHBDb21wb25lbnQge1xuICogICAgbmFtZSA9ICdNciBTbWl0aCBKb2huIEpvZSBQaEQnXG4gKiAgICBvcHRpb25zID0geyBvcmRlcmVkQnk6ICdsYXN0bmFtZScgfVxuICogICAgbWV0aG9kID0gJ3Nob3J0ZW4nXG4gKiAgICBhcmdzID0gW11cbiAqIH1cbiAqIGBgYFxuICogQHNlZSBodHRwczovL2FuZ3VsYXIuaW8vZ3VpZGUvYXR0cmlidXRlLWRpcmVjdGl2ZXNcbiAqL1xuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW25neE5hbWVmdWxseV0nIH0pXG5leHBvcnQgY2xhc3MgTmFtZWZ1bGx5RGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQElucHV0KCduZ3hOYW1lZnVsbHknKSByYXc6IHN0cmluZyB8IHN0cmluZ1tdIHwgTmFtZVtdIHwgSnNvbk5hbWUgfCBQYXJzZXJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXG4gICAgQElucHV0KCduZk9wdGlvbnMnKSBvcHRpb25zPzogUGFydGlhbDxDb25maWc+XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxuICAgIEBJbnB1dCgnbmZNZXRob2QnKSBtZXRob2Q/OiBNZXRob2RPZjxOYW1lZnVsbHk+XG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxuICAgIEBJbnB1dCgnbmZBcmdzJykgYXJncz86IGFueVtdXG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsUmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge31cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgY29uc3QgbmFtZSA9IG5ldyBOYW1lZnVsbHkodGhpcy5yYXcsIHRoaXMub3B0aW9ucylcbiAgICAgICAgdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LmlubmVySFRNTCA9IGV4ZWN1dGVJbm5lck1ldGhvZChuYW1lLCBuYW1lW3RoaXMubWV0aG9kID8/ICdiaXJ0aE5hbWUnXSwgdGhpcy5hcmdzKVxuICAgIH1cbn1cbiJdfQ==