@namefully/ng
Version:
namefully for Angular
107 lines • 7.42 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
*/
var NamefullyDirective = /** @class */ (function () {
function NamefullyDirective(elRef) {
this.elRef = elRef;
}
/**
* @return {?}
*/
NamefullyDirective.prototype.ngAfterViewInit = /**
* @return {?}
*/
function () {
var _a;
/** @type {?} */
var 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 = function () { return [
{ type: ElementRef }
]; };
NamefullyDirective.propDecorators = {
raw: [{ type: Input, args: ['ngxNamefully',] }],
options: [{ type: Input, args: ['nfOptions',] }],
method: [{ type: Input, args: ['nfMethod',] }],
args: [{ type: Input, args: ['nfArgs',] }]
};
return NamefullyDirective;
}());
export { NamefullyDirective };
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZWZ1bGx5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BuYW1lZnVsbHkvbmcvIiwic291cmNlcyI6WyJuYW1lZnVsbHkuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFpQixNQUFNLGVBQWUsQ0FBQTtBQUMzRSxPQUFPLEVBQUUsU0FBUyxFQUFrQyxNQUFNLFdBQVcsQ0FBQTtBQUVyRSxPQUFPLEVBQUUsa0JBQWtCLEVBQVksTUFBTSxtQkFBbUIsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXFEaEU7SUFVSSw0QkFBb0IsS0FBOEI7UUFBOUIsVUFBSyxHQUFMLEtBQUssQ0FBeUI7SUFBRyxDQUFDOzs7O0lBRXRELDRDQUFlOzs7SUFBZjs7O1lBQ1UsSUFBSSxHQUFHLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUNsRCxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxTQUFTLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxFQUFFLElBQUksT0FBQyxJQUFJLENBQUMsTUFBTSxtQ0FBSSxXQUFXLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDOUcsQ0FBQzs7Z0JBZkosU0FBUyxTQUFDLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFOzs7O2dCQXhEckIsVUFBVTs7O3NCQTBEekIsS0FBSyxTQUFDLGNBQWM7MEJBRXBCLEtBQUssU0FBQyxXQUFXO3lCQUVqQixLQUFLLFNBQUMsVUFBVTt1QkFFaEIsS0FBSyxTQUFDLFFBQVE7O0lBUW5CLHlCQUFDO0NBQUEsQUFoQkQsSUFnQkM7U0FmWSxrQkFBa0I7OztJQUMzQixpQ0FBMEU7O0lBRTFFLHFDQUE2Qzs7SUFFN0Msb0NBQStDOztJQUUvQyxrQ0FBNkI7Ozs7O0lBRWpCLG1DQUFzQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIEFmdGVyVmlld0luaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgTmFtZWZ1bGx5LCBOYW1lLCBKc29uTmFtZSwgUGFyc2VyLCBDb25maWcgfSBmcm9tICduYW1lZnVsbHknXG5cbmltcG9ydCB7IGV4ZWN1dGVJbm5lck1ldGhvZCwgTWV0aG9kT2YgfSBmcm9tICcuL25hbWVmdWxseS11dGlscydcblxuLyoqXG4gKiBSZXByZXNlbnRzIGFuIEFuZ3VsYXItYmFzZWQgYXR0cmlidXRlIGRpcmVjdGl2ZSB0aGF0IHdyYXBzIHVwIG5hbWVmdWxseSdzXG4gKiBjb3JlIGZ1bmN0aW9uYWxpdGllcy4gUmVtZW1iZXIsIGlmIG5vdCBzYXRpc2ZpZWQsIHlvdSBjYW4gYWx3YXlzIHVzZSBzb21lIG9mXG4gKiBvZiB0aGUgY29yZSBlbGVtZW50cyBleHBvcnRlZCBmcm9tIGBuYW1lZnVsbHlgIGluc3RlYWQuXG4gKlxuICogQHVzYWdlTm90ZXNcbiAqIGBgYGh0bWxcbiAqICAgICA8cCBbbmd4TmFtZWZ1bGx5XT1cIi4uLlwiXG4gKiAgICAgICAgICBbbmZPcHRpb25zXT1cIi4uLlwiXG4gKiAgICAgICAgICBbbmZNZXRob2RdPVwiLi4uXCJcbiAqICAgICAgICAgIFtuZkFyZ3NdPVwiLi4uXCJcbiAqICAgICAgICAgID5cbiAqICAgICA8L3A+XG4gKiBgYGBcbiAqXG4gKiBAZXhhbXBsZVxuICogLSBpbXBvcnQgdGhlIG1vZHVsZSBmaXJzdCB0byB5b3VyIGFwcFxuICogLSB0aGVuIHVzZSBpdCB3aXRoIHRoZSBmb2xsb3dpbmcgcHJvcHMgYmluZGluZ3NcbiAqIC8vIGluIHRoZSBBcHBNb2R1bGUgZm9yIGV4YW1wbGU6XG4gKiBgYGB0c1xuICogaW1wb3J0IHsgTmFtZWZ1bGx5TW9kdWxlIH0gZnJvbSAnQG5hbWVmdWxseS9uZydcbiAqXG4gKiBATmdNb2R1bGUoe1xuICogICBpbXBvcnRzOiBbQnJvd3Nlck1vZHVsZSwgTmFtZWZ1bGx5TW9kdWxlLmZvclJvb3QoLi4uKV0sXG4gKiAgIGRlY2xhcmF0aW9uczogW0FwcENvbXBvbmVudF0sXG4gKiAgIGJvb3RzdHJhcDogW0FwcENvbXBvbmVudF1cbiAqIH0pXG4gKiBleHBvcnQgY2xhc3MgQXBwTW9kdWxlIHt9XG4gKiBgYGBcbiAqXG4gKiAvLyBpbiB0aGUgaHRtbCB0ZW1wbGF0ZTpcbiAqIGBgYGh0bWxcbiAqICAgICA8c3BhbiBbbmd4TmFtZWZ1bGx5XT1cIm5hbWVcIlxuICogICAgICAgICAgW25mT3B0aW9uc109XCJvcHRpb25zXCJcbiAqICAgICAgICAgIFtuZk1ldGhvZF09XCJtZXRob2RcIlxuICogICAgICAgICAgW25mQXJnc109XCJhcmdzXCJcbiAqICAgICAgICAgID5cbiAqICAgICA8L3NwYW4+XG4gKiBgYGBcbiAqXG4gKiAvLyBpbiB0aGUgQXBwQ29tcG9uZW50LnRzXG4gKiBgYGB0c1xuICogY2xhc3MgQXBwQ29tcG9uZW50IHtcbiAqICAgIG5hbWUgPSAnTXIgU21pdGggSm9obiBKb2UgUGhEJ1xuICogICAgb3B0aW9ucyA9IHsgb3JkZXJlZEJ5OiAnbGFzdG5hbWUnIH1cbiAqICAgIG1ldGhvZCA9ICdzaG9ydGVuJ1xuICogICAgYXJncyA9IFtdXG4gKiB9XG4gKiBgYGBcbiAqIEBzZWUgaHR0cHM6Ly9hbmd1bGFyLmlvL2d1aWRlL2F0dHJpYnV0ZS1kaXJlY3RpdmVzXG4gKi9cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1tuZ3hOYW1lZnVsbHldJyB9KVxuZXhwb3J0IGNsYXNzIE5hbWVmdWxseURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIEBJbnB1dCgnbmd4TmFtZWZ1bGx5JykgcmF3OiBzdHJpbmcgfCBzdHJpbmdbXSB8IE5hbWVbXSB8IEpzb25OYW1lIHwgUGFyc2VyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxuICAgIEBJbnB1dCgnbmZPcHRpb25zJykgb3B0aW9ucz86IFBhcnRpYWw8Q29uZmlnPlxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcbiAgICBASW5wdXQoJ25mTWV0aG9kJykgbWV0aG9kPzogTWV0aG9kT2Y8TmFtZWZ1bGx5PlxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcbiAgICBASW5wdXQoJ25mQXJncycpIGFyZ3M/OiBhbnlbXVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHt9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIGNvbnN0IG5hbWUgPSBuZXcgTmFtZWZ1bGx5KHRoaXMucmF3LCB0aGlzLm9wdGlvbnMpXG4gICAgICAgIHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudC5pbm5lckhUTUwgPSBleGVjdXRlSW5uZXJNZXRob2QobmFtZSwgbmFtZVt0aGlzLm1ldGhvZCA/PyAnYmlydGhOYW1lJ10sIHRoaXMuYXJncylcbiAgICB9XG59XG4iXX0=