ontimize-web-ngx
Version:
Ontimize Web framework using Angular 15
45 lines • 6.7 kB
JavaScript
import { Injectable, Injector } from '@angular/core';
import { MatSnackBar } from '@angular/material/snack-bar';
import { Observable } from 'rxjs';
import { OSnackBarComponent } from '../shared/components/snackbar/o-snackbar.component';
import * as i0 from "@angular/core";
export class SnackBarService {
constructor(injector) {
this.injector = injector;
this.matSnackBar = this.injector.get(MatSnackBar);
}
open(message, config) {
const self = this;
const observable = new Observable(observer => {
const containerClasses = [SnackBarService.DEFAULT_CONTAINER_CLASS];
if (config && config.cssClass) {
containerClasses.push(config.cssClass);
}
const matConfig = {
duration: config && config.milliseconds ? config.milliseconds : SnackBarService.DEFAULT_DURATION,
panelClass: containerClasses
};
self.snackBarRef = self.matSnackBar.openFromComponent(OSnackBarComponent, matConfig);
self.snackBarRef.onAction().subscribe(arg => {
observer.next(arg);
});
self.snackBarRef.afterDismissed().subscribe(() => {
observer.complete();
self.snackBarRef = null;
});
self.snackBarRef.instance.open(message, config);
});
return observable.toPromise();
}
}
SnackBarService.DEFAULT_DURATION = 2000;
SnackBarService.DEFAULT_CONTAINER_CLASS = 'o-snackbar-container';
SnackBarService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SnackBarService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
SnackBarService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SnackBarService, providedIn: 'root' });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SnackBarService, decorators: [{
type: Injectable,
args: [{
providedIn: 'root'
}]
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9zZXJ2aWNlcy9zbmFja2Jhci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQXFDLE1BQU0sNkJBQTZCLENBQUM7QUFDN0YsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVsQyxPQUFPLEVBQUUsa0JBQWtCLEVBQW1CLE1BQU0sb0RBQW9ELENBQUM7O0FBS3pHLE1BQU0sT0FBTyxlQUFlO0lBUTFCLFlBQ1ksUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUU1QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFTSxJQUFJLENBQUMsT0FBZSxFQUFFLE1BQXdCO1FBQ25ELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQztRQUNsQixNQUFNLFVBQVUsR0FBb0IsSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDNUQsTUFBTSxnQkFBZ0IsR0FBYSxDQUFDLGVBQWUsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1lBQzdFLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUU7Z0JBQzdCLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDeEM7WUFFRCxNQUFNLFNBQVMsR0FBc0I7Z0JBQ25DLFFBQVEsRUFBRSxNQUFNLElBQUksTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLGdCQUFnQjtnQkFDaEcsVUFBVSxFQUFFLGdCQUFnQjthQUM3QixDQUFDO1lBRUYsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBRXJGLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUMxQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3JCLENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUMvQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1lBQzFCLENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNsRCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sVUFBVSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2hDLENBQUM7O0FBdkNnQixnQ0FBZ0IsR0FBVyxJQUFJLENBQUM7QUFDaEMsdUNBQXVCLEdBQVcsc0JBQXNCLENBQUM7NkdBSC9ELGVBQWU7aUhBQWYsZUFBZSxjQUZkLE1BQU07NEZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0U25hY2tCYXIsIE1hdFNuYWNrQmFyQ29uZmlnLCBNYXRTbmFja0JhclJlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IE9TbmFja0JhckNvbXBvbmVudCwgT1NuYWNrQmFyQ29uZmlnIH0gZnJvbSAnLi4vc2hhcmVkL2NvbXBvbmVudHMvc25hY2tiYXIvby1zbmFja2Jhci5jb21wb25lbnQnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTbmFja0JhclNlcnZpY2Uge1xuXG4gIHByb3RlY3RlZCBzdGF0aWMgREVGQVVMVF9EVVJBVElPTjogbnVtYmVyID0gMjAwMDtcbiAgcHJvdGVjdGVkIHN0YXRpYyBERUZBVUxUX0NPTlRBSU5FUl9DTEFTUzogc3RyaW5nID0gJ28tc25hY2tiYXItY29udGFpbmVyJztcblxuICBwcm90ZWN0ZWQgbWF0U25hY2tCYXI6IE1hdFNuYWNrQmFyO1xuICBwcm90ZWN0ZWQgc25hY2tCYXJSZWY6IE1hdFNuYWNrQmFyUmVmPE9TbmFja0JhckNvbXBvbmVudD47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3RvcixcbiAgKSB7XG4gICAgdGhpcy5tYXRTbmFja0JhciA9IHRoaXMuaW5qZWN0b3IuZ2V0KE1hdFNuYWNrQmFyKTtcbiAgfVxuXG4gIHB1YmxpYyBvcGVuKG1lc3NhZ2U6IHN0cmluZywgY29uZmlnPzogT1NuYWNrQmFyQ29uZmlnKTogUHJvbWlzZTxhbnk+IHtcbiAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICBjb25zdCBvYnNlcnZhYmxlOiBPYnNlcnZhYmxlPGFueT4gPSBuZXcgT2JzZXJ2YWJsZShvYnNlcnZlciA9PiB7XG4gICAgICBjb25zdCBjb250YWluZXJDbGFzc2VzOiBzdHJpbmdbXSA9IFtTbmFja0JhclNlcnZpY2UuREVGQVVMVF9DT05UQUlORVJfQ0xBU1NdO1xuICAgICAgaWYgKGNvbmZpZyAmJiBjb25maWcuY3NzQ2xhc3MpIHtcbiAgICAgICAgY29udGFpbmVyQ2xhc3Nlcy5wdXNoKGNvbmZpZy5jc3NDbGFzcyk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG1hdENvbmZpZzogTWF0U25hY2tCYXJDb25maWcgPSB7XG4gICAgICAgIGR1cmF0aW9uOiBjb25maWcgJiYgY29uZmlnLm1pbGxpc2Vjb25kcyA/IGNvbmZpZy5taWxsaXNlY29uZHMgOiBTbmFja0JhclNlcnZpY2UuREVGQVVMVF9EVVJBVElPTixcbiAgICAgICAgcGFuZWxDbGFzczogY29udGFpbmVyQ2xhc3Nlc1xuICAgICAgfTtcblxuICAgICAgc2VsZi5zbmFja0JhclJlZiA9IHNlbGYubWF0U25hY2tCYXIub3BlbkZyb21Db21wb25lbnQoT1NuYWNrQmFyQ29tcG9uZW50LCBtYXRDb25maWcpO1xuXG4gICAgICBzZWxmLnNuYWNrQmFyUmVmLm9uQWN0aW9uKCkuc3Vic2NyaWJlKGFyZyA9PiB7XG4gICAgICAgIG9ic2VydmVyLm5leHQoYXJnKTtcbiAgICAgIH0pO1xuXG4gICAgICBzZWxmLnNuYWNrQmFyUmVmLmFmdGVyRGlzbWlzc2VkKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgc2VsZi5zbmFja0JhclJlZiA9IG51bGw7XG4gICAgICB9KTtcblxuICAgICAgc2VsZi5zbmFja0JhclJlZi5pbnN0YW5jZS5vcGVuKG1lc3NhZ2UsIGNvbmZpZyk7XG4gICAgfSk7XG4gICAgcmV0dXJuIG9ic2VydmFibGUudG9Qcm9taXNlKCk7XG4gIH1cblxuXG5cbn1cbiJdfQ==