@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
JavaScript
/**
* @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