UNPKG

ynkap-payment

Version:

Module de paiement Y-Nkap pour Angular - Intégration simple des paiements mobiles (Orange Money, MTN Mobile Money)

62 lines 6.38 kB
import { Injectable } from '@angular/core'; import * as i0 from "@angular/core"; /** * Service pour gérer la stabilité des modals et éviter les problèmes de détection de changements */ export class ModalStabilityService { constructor(ngZone) { this.ngZone = ngZone; } /** * Ouvre un modal de manière stable * @param callback Fonction qui change l'état du modal * @param cdr ChangeDetectorRef du composant */ openModalStable(callback, cdr) { // Force l'exécution dans la zone Angular pour les applications tierces this.ngZone.run(() => { callback(); // Détection immédiate cdr.detectChanges(); // Détection après micro-tick pour les applications tierces Promise.resolve().then(() => { cdr.detectChanges(); }); // Détection de sécurité pour les cas complexes d'applications tierces setTimeout(() => { cdr.detectChanges(); }, 16); // 1 frame à 60fps }); } /** * Ferme un modal de manière stable * @param callback Fonction qui change l'état du modal * @param cdr ChangeDetectorRef du composant */ closeModalStable(callback, cdr) { this.ngZone.run(() => { callback(); cdr.detectChanges(); }); } /** * Exécute une action liée au modal de manière stable * @param callback Fonction à exécuter * @param cdr ChangeDetectorRef du composant */ executeModalAction(callback, cdr) { this.ngZone.run(() => { callback(); cdr.detectChanges(); }); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ModalStabilityService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ModalStabilityService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ModalStabilityService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: function () { return [{ type: i0.NgZone }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtc3RhYmlsaXR5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy95bmthcC9zcmMvbGliL3NoYXJlZC9tb2RhbC1zdGFiaWxpdHkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUE2QixNQUFNLGVBQWUsQ0FBQzs7QUFFdEU7O0dBRUc7QUFJSCxNQUFNLE9BQU8scUJBQXFCO0lBRWhDLFlBQW9CLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQUcsQ0FBQztJQUV0Qzs7OztPQUlHO0lBQ0gsZUFBZSxDQUFDLFFBQW9CLEVBQUUsR0FBc0I7UUFDMUQsdUVBQXVFO1FBQ3ZFLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNuQixRQUFRLEVBQUUsQ0FBQztZQUVYLHNCQUFzQjtZQUN0QixHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7WUFFcEIsMkRBQTJEO1lBQzNELE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUMxQixHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdEIsQ0FBQyxDQUFDLENBQUM7WUFFSCxzRUFBc0U7WUFDdEUsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdEIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsa0JBQWtCO1FBQzVCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxnQkFBZ0IsQ0FBQyxRQUFvQixFQUFFLEdBQXNCO1FBQzNELElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNuQixRQUFRLEVBQUUsQ0FBQztZQUNYLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsa0JBQWtCLENBQUMsUUFBb0IsRUFBRSxHQUFzQjtRQUM3RCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDbkIsUUFBUSxFQUFFLENBQUM7WUFDWCxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOytHQW5EVSxxQkFBcUI7bUhBQXJCLHFCQUFxQixjQUZwQixNQUFNOzs0RkFFUCxxQkFBcUI7a0JBSGpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgTmdab25lLCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIFNlcnZpY2UgcG91ciBnw6lyZXIgbGEgc3RhYmlsaXTDqSBkZXMgbW9kYWxzIGV0IMOpdml0ZXIgbGVzIHByb2Jsw6htZXMgZGUgZMOpdGVjdGlvbiBkZSBjaGFuZ2VtZW50c1xuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBNb2RhbFN0YWJpbGl0eVNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbmdab25lOiBOZ1pvbmUpIHt9XG5cbiAgLyoqXG4gICAqIE91dnJlIHVuIG1vZGFsIGRlIG1hbmnDqHJlIHN0YWJsZVxuICAgKiBAcGFyYW0gY2FsbGJhY2sgRm9uY3Rpb24gcXVpIGNoYW5nZSBsJ8OpdGF0IGR1IG1vZGFsXG4gICAqIEBwYXJhbSBjZHIgQ2hhbmdlRGV0ZWN0b3JSZWYgZHUgY29tcG9zYW50XG4gICAqL1xuICBvcGVuTW9kYWxTdGFibGUoY2FsbGJhY2s6ICgpID0+IHZvaWQsIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpOiB2b2lkIHtcbiAgICAvLyBGb3JjZSBsJ2V4w6ljdXRpb24gZGFucyBsYSB6b25lIEFuZ3VsYXIgcG91ciBsZXMgYXBwbGljYXRpb25zIHRpZXJjZXNcbiAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgY2FsbGJhY2soKTtcblxuICAgICAgLy8gRMOpdGVjdGlvbiBpbW3DqWRpYXRlXG4gICAgICBjZHIuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgICAvLyBEw6l0ZWN0aW9uIGFwcsOocyBtaWNyby10aWNrIHBvdXIgbGVzIGFwcGxpY2F0aW9ucyB0aWVyY2VzXG4gICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHtcbiAgICAgICAgY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pO1xuXG4gICAgICAvLyBEw6l0ZWN0aW9uIGRlIHPDqWN1cml0w6kgcG91ciBsZXMgY2FzIGNvbXBsZXhlcyBkJ2FwcGxpY2F0aW9ucyB0aWVyY2VzXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0sIDE2KTsgLy8gMSBmcmFtZSDDoCA2MGZwc1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEZlcm1lIHVuIG1vZGFsIGRlIG1hbmnDqHJlIHN0YWJsZVxuICAgKiBAcGFyYW0gY2FsbGJhY2sgRm9uY3Rpb24gcXVpIGNoYW5nZSBsJ8OpdGF0IGR1IG1vZGFsXG4gICAqIEBwYXJhbSBjZHIgQ2hhbmdlRGV0ZWN0b3JSZWYgZHUgY29tcG9zYW50XG4gICAqL1xuICBjbG9zZU1vZGFsU3RhYmxlKGNhbGxiYWNrOiAoKSA9PiB2b2lkLCBjZHI6IENoYW5nZURldGVjdG9yUmVmKTogdm9pZCB7XG4gICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgIGNhbGxiYWNrKCk7XG4gICAgICBjZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4w6ljdXRlIHVuZSBhY3Rpb24gbGnDqWUgYXUgbW9kYWwgZGUgbWFuacOocmUgc3RhYmxlXG4gICAqIEBwYXJhbSBjYWxsYmFjayBGb25jdGlvbiDDoCBleMOpY3V0ZXJcbiAgICogQHBhcmFtIGNkciBDaGFuZ2VEZXRlY3RvclJlZiBkdSBjb21wb3NhbnRcbiAgICovXG4gIGV4ZWN1dGVNb2RhbEFjdGlvbihjYWxsYmFjazogKCkgPT4gdm9pZCwgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZik6IHZvaWQge1xuICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICBjYWxsYmFjaygpO1xuICAgICAgY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9KTtcbiAgfVxufVxuIl19