@namefully/ng
Version:
namefully for Angular
105 lines • 7.18 kB
JavaScript
/**
* @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==