UNPKG

@nowzoo/ngx-firebase-auth

Version:

Angular components for Firebase email-first sign in and out-of-band (oob) actions (reset password, etc).

101 lines (100 loc) 12.1 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import { Component, Input, Output, EventEmitter } from '@angular/core'; import { AngularFireAuth } from 'angularfire2/auth'; import { screenAnimation } from '../../shared'; var OobRecoverEmailComponent = /** @class */ (function () { function OobRecoverEmailComponent(_afAuth) { this._afAuth = _afAuth; this.success = new EventEmitter(); this.screen = 'wait'; this.submitting = false; } Object.defineProperty(OobRecoverEmailComponent.prototype, "auth", { get: /** * @return {?} */ function () { return this._afAuth.auth; }, enumerable: true, configurable: true }); /** * @return {?} */ OobRecoverEmailComponent.prototype.ngOnInit = /** * @return {?} */ function () { var _this = this; this.auth.checkActionCode(this.oobCode) .then(function (result) { _this.info = result; _this.screen = 'form'; }) .catch(function (error) { _this.unhandledError = error; _this.screen = 'error'; }); }; /** * @return {?} */ OobRecoverEmailComponent.prototype.submit = /** * @return {?} */ function () { var _this = this; this.auth.applyActionCode(this.oobCode) .then(function () { _this.screen = 'success'; _this.success.emit({ mode: 'recoverEmail', info: _this.info, user: _this.auth.currentUser }); }) .catch(function (error) { _this.unhandledError = error; _this.screen = 'error'; }); }; OobRecoverEmailComponent.decorators = [ { type: Component, args: [{ selector: 'ngx-firebase-auth-oob-recover-email', template: "\n\n<div *ngIf=\"'wait' === screen\" [@screen]=\"'in'\">\n <div class=\"alert alert-secondary\">\n <i class=\"fas fa-spin fa-spinner fa-fw\" aria-hidden=\"true\"></i>\n Please wait...\n </div>\n</div>\n\n\n<div *ngIf=\"'success' === screen\" [@screen]=\"'in'\">\n <div class=\"alert alert-success\">\n <i class=\"fas fa-check fa-fw\" aria-hidden=\"true\"></i>\n Your email has been changed back to {{info.data.email}};\n </div>\n</div>\n\n<div *ngIf=\"screen === 'form'\" [@screen]=\"'in'\">\n <div class=\"form-group\">\n <p>\n Are you sure you want to change your email back to\n {{info.data.email}} from {{info.data.fromEmail}}?\n </p>\n <button\n type=\"button\"\n [disabled]=\"submitting\"\n (click)=\"submit()\"\n class=\"btn btn-block btn-success\">\n <i class=\"fas fa-save fa-fw\" aria-hidden=\"true\"></i>\n Yes, Continue\n </button>\n </div>\n</div>\n\n\n\n<div *ngIf=\"screen === 'error'\" [@screen]=\"'in'\">\n <div class=\"alert alert-danger\">\n <p>\n <i class=\"fas fa-exclamation-triangle fa-fw\" aria-hidden=\"true\"></i>\n Woops! An error occurred.\n </p>\n <div [ngSwitch]=\"unhandledError.code\">\n <p class=\"mb-0\" *ngSwitchCase=\"'auth/expired-action-code'\">\n The recover email link you used has expired.\n </p>\n <p class=\"mb-0\" *ngSwitchCase=\"'auth/invalid-action-code'\">\n The recover email link you used is not valid. This may be because it\n has already been used.\n </p>\n <p class=\"mb-0\" *ngSwitchCase=\"'auth/user-disabled'\">\n The account associated with the recover email link you used has been disabled.\n </p>\n <p class=\"mb-0\" *ngSwitchCase=\"'auth/user-not-found'\">\n The account associated with the recover email link you used has been removed.\n </p>\n <div *ngSwitchDefault>\n <p>Code: {{unhandledError.code}}</p>\n <p class=\"mb-0\">\n Message: {{unhandledError.message}}\n </p>\n </div>\n </div>\n </div>\n</div>\n", styles: [""], animations: [screenAnimation] },] }, ]; /** @nocollapse */ OobRecoverEmailComponent.ctorParameters = function () { return [ { type: AngularFireAuth } ]; }; OobRecoverEmailComponent.propDecorators = { oobCode: [{ type: Input }], success: [{ type: Output }] }; return OobRecoverEmailComponent; }()); export { OobRecoverEmailComponent }; if (false) { /** @type {?} */ OobRecoverEmailComponent.prototype.oobCode; /** @type {?} */ OobRecoverEmailComponent.prototype.success; /** @type {?} */ OobRecoverEmailComponent.prototype.screen; /** @type {?} */ OobRecoverEmailComponent.prototype.info; /** @type {?} */ OobRecoverEmailComponent.prototype.submitting; /** @type {?} */ OobRecoverEmailComponent.prototype.unhandledError; /** @type {?} */ OobRecoverEmailComponent.prototype._afAuth; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib29iLXJlY292ZXItZW1haWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQG5vd3pvby9uZ3gtZmlyZWJhc2UtYXV0aC8iLCJzb3VyY2VzIjpbImxpYi9vb2Ivb29iLXJlY292ZXItZW1haWwvb29iLXJlY292ZXItZW1haWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9FLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUdwRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDOztJQW1GN0Msa0NBQ1U7UUFBQSxZQUFPLEdBQVAsT0FBTzt1QkFSNkMsSUFBSSxZQUFZLEVBQUU7c0JBRWhDLE1BQU07MEJBRXpDLEtBQUs7S0FLYjtJQUVMLHNCQUFJLDBDQUFJOzs7O1FBQVI7WUFDRSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7U0FDMUI7OztPQUFBOzs7O0lBRUQsMkNBQVE7OztJQUFSO1FBQUEsaUJBV0M7UUFUQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO2FBQ3BDLElBQUksQ0FBQyxVQUFDLE1BQTJCO1lBQ2hDLEtBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO1lBQ25CLEtBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1NBQ3RCLENBQUM7YUFDRCxLQUFLLENBQUMsVUFBQyxLQUFpQjtZQUN2QixLQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztZQUM1QixLQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQztTQUN2QixDQUFDLENBQUM7S0FDTjs7OztJQUVELHlDQUFNOzs7SUFBTjtRQUFBLGlCQWNDO1FBYkMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQzthQUNwQyxJQUFJLENBQUM7WUFDSixLQUFJLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQztZQUN4QixLQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztnQkFDaEIsSUFBSSxFQUFFLGNBQWM7Z0JBQ3BCLElBQUksRUFBRSxLQUFJLENBQUMsSUFBSTtnQkFDZixJQUFJLEVBQUUsS0FBSSxDQUFDLElBQUksQ0FBQyxXQUFXO2FBQzVCLENBQUMsQ0FBQztTQUNKLENBQUM7YUFDRCxLQUFLLENBQUMsVUFBQyxLQUFpQjtZQUN2QixLQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztZQUM1QixLQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQztTQUN2QixDQUFDLENBQUM7S0FDTjs7Z0JBcEhGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUscUNBQXFDO29CQUMvQyxRQUFRLEVBQUUsZ2lFQWlFWDtvQkFDQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUM7b0JBQ1osVUFBVSxFQUFFLENBQUMsZUFBZSxDQUFDO2lCQUM5Qjs7OztnQkEzRVEsZUFBZTs7OzBCQThFckIsS0FBSzswQkFDTCxNQUFNOzttQ0FqRlQ7O1NBOEVhLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCwgRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBbmd1bGFyRmlyZUF1dGggfSBmcm9tICdhbmd1bGFyZmlyZTIvYXV0aCc7XG5pbXBvcnQgeyBhdXRoLCBVc2VyIH0gZnJvbSAnZmlyZWJhc2UvYXBwJztcbmltcG9ydCB7IElOZ3hGaXJlYmFzZUF1dGhPb2JTdWNjZXNzIH0gZnJvbSAnLi4vLi4vc2hhcmVkJztcbmltcG9ydCB7IHNjcmVlbkFuaW1hdGlvbiB9IGZyb20gJy4uLy4uL3NoYXJlZCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25neC1maXJlYmFzZS1hdXRoLW9vYi1yZWNvdmVyLWVtYWlsJyxcbiAgdGVtcGxhdGU6IGBcblxuPGRpdiAqbmdJZj1cIid3YWl0JyA9PT0gc2NyZWVuXCIgW0BzY3JlZW5dPVwiJ2luJ1wiPlxuICA8ZGl2IGNsYXNzPVwiYWxlcnQgYWxlcnQtc2Vjb25kYXJ5XCI+XG4gICAgPGkgY2xhc3M9XCJmYXMgZmEtc3BpbiBmYS1zcGlubmVyIGZhLWZ3XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgIFBsZWFzZSB3YWl0Li4uXG4gIDwvZGl2PlxuPC9kaXY+XG5cblxuPGRpdiAqbmdJZj1cIidzdWNjZXNzJyA9PT0gc2NyZWVuXCIgW0BzY3JlZW5dPVwiJ2luJ1wiPlxuICA8ZGl2IGNsYXNzPVwiYWxlcnQgYWxlcnQtc3VjY2Vzc1wiPlxuICAgIDxpIGNsYXNzPVwiZmFzIGZhLWNoZWNrIGZhLWZ3XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgIFlvdXIgZW1haWwgaGFzIGJlZW4gY2hhbmdlZCBiYWNrIHRvIHt7aW5mby5kYXRhLmVtYWlsfX07XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgKm5nSWY9XCJzY3JlZW4gPT09ICdmb3JtJ1wiIFtAc2NyZWVuXT1cIidpbidcIj5cbiAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICA8cD5cbiAgICAgIEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBjaGFuZ2UgeW91ciBlbWFpbCBiYWNrIHRvXG4gICAgICB7e2luZm8uZGF0YS5lbWFpbH19IGZyb20ge3tpbmZvLmRhdGEuZnJvbUVtYWlsfX0/XG4gICAgPC9wPlxuICAgIDxidXR0b25cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgW2Rpc2FibGVkXT1cInN1Ym1pdHRpbmdcIlxuICAgICAgKGNsaWNrKT1cInN1Ym1pdCgpXCJcbiAgICAgIGNsYXNzPVwiYnRuIGJ0bi1ibG9jayBidG4tc3VjY2Vzc1wiPlxuICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtc2F2ZSBmYS1md1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvaT5cbiAgICAgIFllcywgQ29udGludWVcbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuXG5cbjxkaXYgKm5nSWY9XCJzY3JlZW4gPT09ICdlcnJvcidcIiBbQHNjcmVlbl09XCInaW4nXCI+XG4gIDxkaXYgY2xhc3M9XCJhbGVydCBhbGVydC1kYW5nZXJcIj5cbiAgICA8cD5cbiAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlIGZhLWZ3XCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxuICAgICAgV29vcHMhIEFuIGVycm9yIG9jY3VycmVkLlxuICAgIDwvcD5cbiAgICA8ZGl2IFtuZ1N3aXRjaF09XCJ1bmhhbmRsZWRFcnJvci5jb2RlXCI+XG4gICAgICA8cCBjbGFzcz1cIm1iLTBcIiAqbmdTd2l0Y2hDYXNlPVwiJ2F1dGgvZXhwaXJlZC1hY3Rpb24tY29kZSdcIj5cbiAgICAgICAgVGhlIHJlY292ZXIgZW1haWwgbGluayB5b3UgdXNlZCBoYXMgZXhwaXJlZC5cbiAgICAgIDwvcD5cbiAgICAgIDxwIGNsYXNzPVwibWItMFwiICpuZ1N3aXRjaENhc2U9XCInYXV0aC9pbnZhbGlkLWFjdGlvbi1jb2RlJ1wiPlxuICAgICAgICBUaGUgcmVjb3ZlciBlbWFpbCBsaW5rIHlvdSB1c2VkIGlzIG5vdCB2YWxpZC4gVGhpcyBtYXkgYmUgYmVjYXVzZSBpdFxuICAgICAgICBoYXMgYWxyZWFkeSBiZWVuIHVzZWQuXG4gICAgICA8L3A+XG4gICAgICA8cCBjbGFzcz1cIm1iLTBcIiAqbmdTd2l0Y2hDYXNlPVwiJ2F1dGgvdXNlci1kaXNhYmxlZCdcIj5cbiAgICAgICAgVGhlIGFjY291bnQgYXNzb2NpYXRlZCB3aXRoIHRoZSByZWNvdmVyIGVtYWlsIGxpbmsgeW91IHVzZWQgaGFzIGJlZW4gZGlzYWJsZWQuXG4gICAgICA8L3A+XG4gICAgICA8cCBjbGFzcz1cIm1iLTBcIiAqbmdTd2l0Y2hDYXNlPVwiJ2F1dGgvdXNlci1ub3QtZm91bmQnXCI+XG4gICAgICAgIFRoZSBhY2NvdW50IGFzc29jaWF0ZWQgd2l0aCB0aGUgcmVjb3ZlciBlbWFpbCBsaW5rIHlvdSB1c2VkIGhhcyBiZWVuIHJlbW92ZWQuXG4gICAgICA8L3A+XG4gICAgICA8ZGl2ICpuZ1N3aXRjaERlZmF1bHQ+XG4gICAgICAgIDxwPkNvZGU6IHt7dW5oYW5kbGVkRXJyb3IuY29kZX19PC9wPlxuICAgICAgICA8cCBjbGFzcz1cIm1iLTBcIj5cbiAgICAgICAgICBNZXNzYWdlOiB7e3VuaGFuZGxlZEVycm9yLm1lc3NhZ2V9fVxuICAgICAgICA8L3A+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbmAsXG4gIHN0eWxlczogW2BgXSxcbiAgYW5pbWF0aW9uczogW3NjcmVlbkFuaW1hdGlvbl1cbn0pXG5leHBvcnQgY2xhc3MgT29iUmVjb3ZlckVtYWlsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBvb2JDb2RlOiBzdHJpbmc7XG4gIEBPdXRwdXQoKSBzdWNjZXNzOiBFdmVudEVtaXR0ZXI8SU5neEZpcmViYXNlQXV0aE9vYlN1Y2Nlc3M+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHNjcmVlbjogJ3dhaXQnIHwgJ2Zvcm0nIHwgJ2Vycm9yJyB8ICdzdWNjZXNzJyA9ICd3YWl0JztcbiAgaW5mbzogYXV0aC5BY3Rpb25Db2RlSW5mbztcbiAgc3VibWl0dGluZyA9IGZhbHNlO1xuICB1bmhhbmRsZWRFcnJvcjogYXV0aC5FcnJvcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9hZkF1dGg6IEFuZ3VsYXJGaXJlQXV0aCxcbiAgKSB7IH1cblxuICBnZXQgYXV0aCgpOiBhdXRoLkF1dGgge1xuICAgIHJldHVybiB0aGlzLl9hZkF1dGguYXV0aDtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuXG4gICAgdGhpcy5hdXRoLmNoZWNrQWN0aW9uQ29kZSh0aGlzLm9vYkNvZGUpXG4gICAgICAudGhlbigocmVzdWx0OiBhdXRoLkFjdGlvbkNvZGVJbmZvKSA9PiB7XG4gICAgICAgIHRoaXMuaW5mbyA9IHJlc3VsdDtcbiAgICAgICAgdGhpcy5zY3JlZW4gPSAnZm9ybSc7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKChlcnJvcjogYXV0aC5FcnJvcikgPT4ge1xuICAgICAgICB0aGlzLnVuaGFuZGxlZEVycm9yID0gZXJyb3I7XG4gICAgICAgIHRoaXMuc2NyZWVuID0gJ2Vycm9yJztcbiAgICAgIH0pO1xuICB9XG5cbiAgc3VibWl0KCkge1xuICAgIHRoaXMuYXV0aC5hcHBseUFjdGlvbkNvZGUodGhpcy5vb2JDb2RlKVxuICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLnNjcmVlbiA9ICdzdWNjZXNzJztcbiAgICAgICAgdGhpcy5zdWNjZXNzLmVtaXQoe1xuICAgICAgICAgIG1vZGU6ICdyZWNvdmVyRW1haWwnLFxuICAgICAgICAgIGluZm86IHRoaXMuaW5mbyxcbiAgICAgICAgICB1c2VyOiB0aGlzLmF1dGguY3VycmVudFVzZXJcbiAgICAgICAgfSk7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKChlcnJvcjogYXV0aC5FcnJvcikgPT4ge1xuICAgICAgICB0aGlzLnVuaGFuZGxlZEVycm9yID0gZXJyb3I7XG4gICAgICAgIHRoaXMuc2NyZWVuID0gJ2Vycm9yJztcbiAgICAgIH0pO1xuICB9XG5cblxufVxuIl19