UNPKG

seerbit-angular

Version:

<p align="center"> <img width="500" valign="top" src="https://res.cloudinary.com/dpejkbof5/image/upload/v1620323718/Seerbit_logo_png_ddcor4.png" data-canonical-src="https://res.cloudinary.com/dpejkbof5/image/upload/v1620323718/Seerbit_logo_png_ddcor4.png"

85 lines 9.12 kB
import { Component, Output, Input, EventEmitter, HostListener } from '@angular/core'; import * as i0 from "@angular/core"; import * as i1 from "./seerbit-service"; import * as i2 from "@angular/common"; const _c0 = ["*"]; export default class SeerBitComponent { seerBitService; class; style; options; callback = new EventEmitter(); close = new EventEmitter(); validationError = new EventEmitter(); // tslint:disable-next-line:variable-name _options; closeFn; callbackFn; constructor(seerBitService) { this.seerBitService = seerBitService; } generateOptions(obj) { this._options = this.seerBitService.getSeerBitOptions(obj); this.closeFn = (...response) => { if (this.close.observers.length) { this.close.emit(...response); } }; this.callbackFn = (response, closeModal) => { this.callback.emit({ response, closeModal }); }; } validateInput(obj) { if (!this.callback.observers.length) { return 'SeerBit: Insert a callback output like so (callback)=\'PaymentComplete($event)\' to check payment status'; } return this.seerBitService.checkInput(obj); } async buttonClick() { this.pay(); } async pay() { const errorText = this.validateInput(this.options); this.generateOptions(this.options); if (errorText) { this.validationError.emit(errorText); return errorText; } await this.seerBitService.loadScript(); window.SeerbitPay(this._options, this.callbackFn, this.closeFn); } /** @nocollapse */ static ɵfac = function SeerBitComponent_Factory(t) { return new (t || SeerBitComponent)(i0.ɵɵdirectiveInject(i1.SeerbitService)); }; /** @nocollapse */ static ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: SeerBitComponent, selectors: [["seerbit-ng"]], hostBindings: function SeerBitComponent_HostBindings(rf, ctx) { if (rf & 1) { i0.ɵɵlistener("click", function SeerBitComponent_click_HostBindingHandler() { return ctx.buttonClick(); }); } }, inputs: { class: "class", style: "style", options: "options" }, outputs: { callback: "callback", close: "close", validationError: "validationError" }, ngContentSelectors: _c0, decls: 2, vars: 2, consts: [[3, "ngClass", "ngStyle"]], template: function SeerBitComponent_Template(rf, ctx) { if (rf & 1) { i0.ɵɵprojectionDef(); i0.ɵɵelementStart(0, "button", 0); i0.ɵɵprojection(1); i0.ɵɵelementEnd(); } if (rf & 2) { i0.ɵɵproperty("ngClass", ctx.class)("ngStyle", ctx.style); } }, dependencies: [i2.NgClass, i2.NgStyle], encapsulation: 2 }); } (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SeerBitComponent, [{ type: Component, args: [{ selector: 'seerbit-ng', template: `<button [ngClass]="class" [ngStyle]="style"><ng-content></ng-content></button>` }] }], function () { return [{ type: i1.SeerbitService }]; }, { class: [{ type: Input }], style: [{ type: Input }], options: [{ type: Input }], callback: [{ type: Output }], close: [{ type: Output }], validationError: [{ type: Output }], buttonClick: [{ type: HostListener, args: ['click'] }] }); })(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vlci1iaXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2VlcmJpdC1hbmd1bGFyL3NyYy9saWIvc2Vlci1iaXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQWdCckYsTUFBTSxDQUFDLE9BQU8sT0FBTyxnQkFBZ0I7SUFZaEI7SUFYVixLQUFLLENBQVM7SUFDZCxLQUFLLENBQVM7SUFDZCxPQUFPLENBQWlCO0lBQ3ZCLFFBQVEsR0FBbUQsSUFBSSxZQUFZLEVBQW9DLENBQUM7SUFDaEgsS0FBSyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ25ELGVBQWUsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztJQUN2RSx5Q0FBeUM7SUFDbEMsUUFBUSxDQUFpQztJQUNoRCxPQUFPLENBQU07SUFDYixVQUFVLENBQU07SUFFaEIsWUFBbUIsY0FBOEI7UUFBOUIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO0lBRWpELENBQUM7SUFFRCxlQUFlLENBQUMsR0FBUTtRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLEdBQUcsUUFBUSxFQUFFLEVBQUU7WUFDN0IsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUM7YUFDOUI7UUFDSCxDQUFDLENBQUM7UUFDRixJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxFQUFFO1lBQ3pDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUMsUUFBUSxFQUFFLFVBQVUsRUFBQyxDQUFDLENBQUM7UUFDN0MsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUNELGFBQWEsQ0FBQyxHQUFtQjtRQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFO1lBQ25DLE9BQU8sMEdBQTBHLENBQUM7U0FDbkg7UUFDRCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFJRCxLQUFLLENBQUMsV0FBVztRQUNmLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNiLENBQUM7SUFDQyxLQUFLLENBQUMsR0FBRztRQUNULE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25DLElBQUksU0FBUyxFQUFFO1lBQ2IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDckMsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFDRCxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDdkMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xFLENBQUM7NkZBaERrQixnQkFBZ0I7NEZBQWhCLGdCQUFnQjtpR0FBaEIsaUJBQWE7OztZQUZyQixpQ0FBNEM7WUFBQSxrQkFBeUI7WUFBQSxpQkFBUzs7WUFBdEUsbUNBQWlCLHNCQUFBOzs7dUZBRWpCLGdCQUFnQjtjQUpwQyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLFFBQVEsRUFBRSxnRkFBZ0Y7YUFDM0Y7aUVBRVUsS0FBSztrQkFBYixLQUFLO1lBQ0csS0FBSztrQkFBYixLQUFLO1lBQ0csT0FBTztrQkFBZixLQUFLO1lBQ0ksUUFBUTtrQkFBakIsTUFBTTtZQUNHLEtBQUs7a0JBQWQsTUFBTTtZQUNHLGVBQWU7a0JBQXhCLE1BQU07WUE4QkQsV0FBVztrQkFGaEIsWUFBWTttQkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPdXRwdXQsIElucHV0LCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJpdmF0ZVNlZXJCaXRPcHRpb25zLCBTZWVyQml0T3B0aW9ucyB9IGZyb20gJy4vbW9kZWxzL1NlZXJCaXRPcHRpb25zJztcbmltcG9ydCB7IFNlZXJiaXRTZXJ2aWNlIH0gZnJvbSAnLi9zZWVyYml0LXNlcnZpY2UnO1xuXG5pbnRlcmZhY2UgTXlXaW5kb3cgZXh0ZW5kcyBXaW5kb3cge1xuICBTZWVyYml0UGF5OlxuICB7XG4gICAgKG9wdGlvbnM6IGFueSwgY2FsbGJhY2s6IGFueSwgY2xvc2U6IGFueSlcbiAgfTtcbn1cblxuZGVjbGFyZSB2YXIgd2luZG93OiBNeVdpbmRvdztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NlZXJiaXQtbmcnLFxuICB0ZW1wbGF0ZTogYDxidXR0b24gW25nQ2xhc3NdPVwiY2xhc3NcIiBbbmdTdHlsZV09XCJzdHlsZVwiPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L2J1dHRvbj5gXG59KVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2VlckJpdENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGNsYXNzOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHN0eWxlOiBvYmplY3Q7XG4gIEBJbnB1dCgpIG9wdGlvbnM6IFNlZXJCaXRPcHRpb25zO1xuICBAT3V0cHV0KCkgY2FsbGJhY2s6IEV2ZW50RW1pdHRlcjx7cmVzcG9uc2U6IGFueSwgY2xvc2VNb2RhbDogYW55fT4gPSBuZXcgRXZlbnRFbWl0dGVyPHtyZXNwb25zZTogYW55LCBjbG9zZU1vZGFsOiBhbnl9PigpO1xuICBAT3V0cHV0KCkgY2xvc2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBPdXRwdXQoKSB2YWxpZGF0aW9uRXJyb3I6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp2YXJpYWJsZS1uYW1lXG4gIHB1YmxpYyBfb3B0aW9uczogUGFydGlhbDxQcml2YXRlU2VlckJpdE9wdGlvbnM+O1xuICBjbG9zZUZuOiBhbnk7XG4gIGNhbGxiYWNrRm46IGFueTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgc2VlckJpdFNlcnZpY2U6IFNlZXJiaXRTZXJ2aWNlKSB7XG5cbiAgfVxuXG4gIGdlbmVyYXRlT3B0aW9ucyhvYmo6IGFueSkge1xuICAgIHRoaXMuX29wdGlvbnMgPSB0aGlzLnNlZXJCaXRTZXJ2aWNlLmdldFNlZXJCaXRPcHRpb25zKG9iaik7XG4gICAgdGhpcy5jbG9zZUZuID0gKC4uLnJlc3BvbnNlKSA9PiB7XG4gICAgICBpZiAodGhpcy5jbG9zZS5vYnNlcnZlcnMubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuY2xvc2UuZW1pdCguLi5yZXNwb25zZSk7XG4gICAgICB9XG4gICAgfTtcbiAgICB0aGlzLmNhbGxiYWNrRm4gPSAocmVzcG9uc2UsIGNsb3NlTW9kYWwpID0+IHtcbiAgICAgIHRoaXMuY2FsbGJhY2suZW1pdCh7cmVzcG9uc2UsIGNsb3NlTW9kYWx9KTtcbiAgICB9O1xuICB9XG4gIHZhbGlkYXRlSW5wdXQob2JqOiBTZWVyQml0T3B0aW9ucykge1xuICAgIGlmICghdGhpcy5jYWxsYmFjay5vYnNlcnZlcnMubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gJ1NlZXJCaXQ6IEluc2VydCBhIGNhbGxiYWNrIG91dHB1dCBsaWtlIHNvIChjYWxsYmFjayk9XFwnUGF5bWVudENvbXBsZXRlKCRldmVudClcXCcgdG8gY2hlY2sgcGF5bWVudCBzdGF0dXMnO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5zZWVyQml0U2VydmljZS5jaGVja0lucHV0KG9iaik7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycpXG5cbiAgYXN5bmMgYnV0dG9uQ2xpY2soKSB7XG4gICAgdGhpcy5wYXkoKTtcbiAgfVxuICAgIGFzeW5jIHBheSgpIHtcbiAgICBjb25zdCBlcnJvclRleHQgPSB0aGlzLnZhbGlkYXRlSW5wdXQodGhpcy5vcHRpb25zKTtcbiAgICB0aGlzLmdlbmVyYXRlT3B0aW9ucyh0aGlzLm9wdGlvbnMpO1xuICAgIGlmIChlcnJvclRleHQpIHtcbiAgICAgIHRoaXMudmFsaWRhdGlvbkVycm9yLmVtaXQoZXJyb3JUZXh0KTtcbiAgICAgIHJldHVybiBlcnJvclRleHQ7XG4gICAgfVxuICAgIGF3YWl0IHRoaXMuc2VlckJpdFNlcnZpY2UubG9hZFNjcmlwdCgpO1xuICAgIHdpbmRvdy5TZWVyYml0UGF5KHRoaXMuX29wdGlvbnMsIHRoaXMuY2FsbGJhY2tGbiwgdGhpcy5jbG9zZUZuKTtcbiAgfVxufVxuIl19