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
JavaScript
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