UNPKG

angular-rave

Version:

Angular wrapper for integrating rave transactions

75 lines 8.64 kB
import { __awaiter } from "tslib"; import { Component, EventEmitter, Input, Output } from '@angular/core'; import { AngularRaveService } from './angular-rave.service'; export class AngularRaveComponent { constructor(raveService) { this.raveService = raveService; this.onclose = new EventEmitter(); this.callback = new EventEmitter(); this.init = new EventEmitter(); } pay() { return __awaiter(this, void 0, void 0, function* () { let raveOptionsError = ''; if (this.raveOptions && Object.keys(this.raveOptions).length > 1) { raveOptionsError = this.raveService.isInvalidOptions(this.raveOptions); this.insertRaveOptions(this.raveOptions); } else { raveOptionsError = this.raveService.isInvalidOptions(this); this.insertRaveOptions(this); } if (!!raveOptionsError) { console.error(raveOptionsError); return raveOptionsError; } yield this.raveService.loadScript(); this.raveService.checkout(this._raveOptions); if (this.init.observers.length > 0) { this.init.emit(); } }); } insertRaveOptions(object) { const onclose = () => { if (this.onclose.observers.length) { this.onclose.emit(); } }; const callback = (res) => { this.callback.emit(res); }; this._raveOptions = this.raveService.createRaveOptionsObject(object, callback, onclose); } ngOnInit() { this.pay(); } } AngularRaveComponent.decorators = [ { type: Component, args: [{ selector: 'angular-rave', template: `<ng-content></ng-content>` },] } ]; AngularRaveComponent.ctorParameters = () => [ { type: AngularRaveService } ]; AngularRaveComponent.propDecorators = { amount: [{ type: Input }], public_key: [{ type: Input }], currency: [{ type: Input }], customer: [{ type: Input }], customizations: [{ type: Input }], integrity_hash: [{ type: Input }], meta: [{ type: Input }], paymentOptions: [{ type: Input }], payment_plan: [{ type: Input }], redirect_url: [{ type: Input }], subaccounts: [{ type: Input }], tx_ref: [{ type: Input }], raveOptions: [{ type: Input }], onclose: [{ type: Output }], callback: [{ type: Output }], init: [{ type: Output }] }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1yYXZlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItcmF2ZS9zcmMvbGliL2FuZ3VsYXItcmF2ZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFHL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFRNUQsTUFBTSxPQUFPLG9CQUFvQjtJQW1CL0IsWUFBb0IsV0FBK0I7UUFBL0IsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBTHpDLFlBQU8sR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUN2RCxhQUFRLEdBQWtDLElBQUksWUFBWSxFQUFtQixDQUFDO1FBQzlFLFNBQUksR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUdQLENBQUM7SUFFbEQsR0FBRzs7WUFDUCxJQUFJLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztZQUMxQixJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDaEUsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ3ZFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDMUM7aUJBQU07Z0JBQ0wsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFtQixDQUFDLENBQUM7Z0JBQzFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFtQixDQUFDLENBQUM7YUFDN0M7WUFDRCxJQUFJLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRTtnQkFDdEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2dCQUNoQyxPQUFPLGdCQUFnQixDQUFDO2FBQ3pCO1lBQ0QsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUM3QyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDbEI7UUFDSCxDQUFDO0tBQUE7SUFFRCxpQkFBaUIsQ0FBQyxNQUE0QjtRQUM1QyxNQUFNLE9BQU8sR0FBRyxHQUFHLEVBQUU7WUFDbkIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUU7Z0JBQ2pDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDckI7UUFDSCxDQUFDLENBQUM7UUFFRixNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQW9CLEVBQUUsRUFBRTtZQUN4QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxQixDQUFDLENBQUM7UUFFRixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsdUJBQXVCLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMxRixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNiLENBQUM7OztZQTlERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGNBQWM7Z0JBQ3hCLFFBQVEsRUFBRSwyQkFBMkI7YUFDdEM7OztZQU5RLGtCQUFrQjs7O3FCQVN4QixLQUFLO3lCQUNMLEtBQUs7dUJBQ0wsS0FBSzt1QkFDTCxLQUFLOzZCQUNMLEtBQUs7NkJBQ0wsS0FBSzttQkFDTCxLQUFLOzZCQUNMLEtBQUs7MkJBQ0wsS0FBSzsyQkFDTCxLQUFLOzBCQUNMLEtBQUs7cUJBQ0wsS0FBSzswQkFDTCxLQUFLO3NCQUNMLE1BQU07dUJBQ04sTUFBTTttQkFDTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgUGF5bWVudE9wdGlvbnNFbnVtLCBSYXZlQ3VzdG9tZXIsIFJhdmVDdXN0b21pemF0aW9uLCBSYXZlT3B0aW9ucywgUmF2ZVN1YkFjY2NvdW50IH0gZnJvbSAnLi9yYXZlLW9wdGlvbnMnO1xyXG5pbXBvcnQgeyBBbmd1bGFyUmF2ZVNlcnZpY2UgfSBmcm9tICcuL2FuZ3VsYXItcmF2ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUHJpdmF0ZVJhdmVPcHRpb25zLCBSYXZlUGF5bWVudERhdGEgfSBmcm9tICcuL3ByaXZhdGUtcmF2ZS1vcHRpb25zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYW5ndWxhci1yYXZlJywgLy8gdHNsaW50OmRpc2FibGUtbGluZVxyXG4gIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmBcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBBbmd1bGFyUmF2ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgYW1vdW50OiBudW1iZXI7XHJcbiAgQElucHV0KCkgcHVibGljX2tleTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGN1cnJlbmN5OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgY3VzdG9tZXI6IFJhdmVDdXN0b21lcjtcclxuICBASW5wdXQoKSBjdXN0b21pemF0aW9uczogUmF2ZUN1c3RvbWl6YXRpb247XHJcbiAgQElucHV0KCkgaW50ZWdyaXR5X2hhc2g6IHN0cmluZztcclxuICBASW5wdXQoKSBtZXRhOiBvYmplY3Q7XHJcbiAgQElucHV0KCkgcGF5bWVudE9wdGlvbnM6IFBheW1lbnRPcHRpb25zRW51bVtdO1xyXG4gIEBJbnB1dCgpIHBheW1lbnRfcGxhbjogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHJlZGlyZWN0X3VybDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHN1YmFjY291bnRzOiBSYXZlU3ViQWNjY291bnRbXTtcclxuICBASW5wdXQoKSB0eF9yZWY6IHN0cmluZztcclxuICBASW5wdXQoKSByYXZlT3B0aW9uczogUmF2ZU9wdGlvbnM7XHJcbiAgQE91dHB1dCgpIG9uY2xvc2U6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuICBAT3V0cHV0KCkgY2FsbGJhY2s6IEV2ZW50RW1pdHRlcjxSYXZlUGF5bWVudERhdGE+ID0gbmV3IEV2ZW50RW1pdHRlcjxSYXZlUGF5bWVudERhdGE+KCk7XHJcbiAgQE91dHB1dCgpIGluaXQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuICBwcml2YXRlIF9yYXZlT3B0aW9uczogUHJpdmF0ZVJhdmVPcHRpb25zO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJhdmVTZXJ2aWNlOiBBbmd1bGFyUmF2ZVNlcnZpY2UpIHsgfVxyXG5cclxuICBhc3luYyBwYXkoKSB7XHJcbiAgICBsZXQgcmF2ZU9wdGlvbnNFcnJvciA9ICcnO1xyXG4gICAgaWYgKHRoaXMucmF2ZU9wdGlvbnMgJiYgT2JqZWN0LmtleXModGhpcy5yYXZlT3B0aW9ucykubGVuZ3RoID4gMSkge1xyXG4gICAgICByYXZlT3B0aW9uc0Vycm9yID0gdGhpcy5yYXZlU2VydmljZS5pc0ludmFsaWRPcHRpb25zKHRoaXMucmF2ZU9wdGlvbnMpO1xyXG4gICAgICB0aGlzLmluc2VydFJhdmVPcHRpb25zKHRoaXMucmF2ZU9wdGlvbnMpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmF2ZU9wdGlvbnNFcnJvciA9IHRoaXMucmF2ZVNlcnZpY2UuaXNJbnZhbGlkT3B0aW9ucyh0aGlzIGFzIFJhdmVPcHRpb25zKTtcclxuICAgICAgdGhpcy5pbnNlcnRSYXZlT3B0aW9ucyh0aGlzIGFzIFJhdmVPcHRpb25zKTtcclxuICAgIH1cclxuICAgIGlmICghIXJhdmVPcHRpb25zRXJyb3IpIHtcclxuICAgICAgY29uc29sZS5lcnJvcihyYXZlT3B0aW9uc0Vycm9yKTtcclxuICAgICAgcmV0dXJuIHJhdmVPcHRpb25zRXJyb3I7XHJcbiAgICB9XHJcbiAgICBhd2FpdCB0aGlzLnJhdmVTZXJ2aWNlLmxvYWRTY3JpcHQoKTtcclxuICAgIHRoaXMucmF2ZVNlcnZpY2UuY2hlY2tvdXQodGhpcy5fcmF2ZU9wdGlvbnMpO1xyXG4gICAgaWYgKHRoaXMuaW5pdC5vYnNlcnZlcnMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLmluaXQuZW1pdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaW5zZXJ0UmF2ZU9wdGlvbnMob2JqZWN0OiBQYXJ0aWFsPFJhdmVPcHRpb25zPikge1xyXG4gICAgY29uc3Qgb25jbG9zZSA9ICgpID0+IHtcclxuICAgICAgaWYgKHRoaXMub25jbG9zZS5vYnNlcnZlcnMubGVuZ3RoKSB7XHJcbiAgICAgICAgdGhpcy5vbmNsb3NlLmVtaXQoKTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBjYWxsYmFjayA9IChyZXM6IFJhdmVQYXltZW50RGF0YSkgPT4ge1xyXG4gICAgICB0aGlzLmNhbGxiYWNrLmVtaXQocmVzKTtcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5fcmF2ZU9wdGlvbnMgPSB0aGlzLnJhdmVTZXJ2aWNlLmNyZWF0ZVJhdmVPcHRpb25zT2JqZWN0KG9iamVjdCwgY2FsbGJhY2ssIG9uY2xvc2UpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnBheSgpO1xyXG4gIH1cclxufVxyXG4iXX0=