@universal-material/angular
Version:
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 16.1.0.
51 lines • 5.81 kB
JavaScript
import { Inject, Injectable, Optional } from '@angular/core';
import { SNACKBAR_DEFAULT_OPTIONS } from './snackbar-config.model';
import { SnackbarDuration } from './snackbar-duration';
import { UmSnackbar } from '@universal-material/web';
import { fromEvent } from 'rxjs';
import * as i0 from "@angular/core";
const _defaultConfig = {
duration: SnackbarDuration.long
};
export class SnackbarService {
constructor(userOptions) {
this._defaultConfig = { ..._defaultConfig, ...userOptions };
}
open(message, config) {
const snackbar = UmSnackbar.show({
message: message,
action: config?.actionLabel,
duration: config?.duration || this._defaultConfig.duration,
});
return {
get message() {
return snackbar.message;
},
set message(value) {
snackbar.message = value;
},
get action() {
return snackbar.action;
},
set action(value) {
snackbar.action = value;
},
dismiss: () => snackbar.dismiss(),
onAction: fromEvent(snackbar, 'actionClick')
};
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SnackbarService, deps: [{ token: SNACKBAR_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SnackbarService, providedIn: 'root' }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SnackbarService, decorators: [{
type: Injectable,
args: [{
providedIn: 'root'
}]
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
type: Optional
}, {
type: Inject,
args: [SNACKBAR_DEFAULT_OPTIONS]
}] }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9zbmFja2Jhci9zbmFja2Jhci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsd0JBQXdCLEVBQWtCLE1BQU0seUJBQXlCLENBQUM7QUFDbkYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxNQUFNLENBQUM7O0FBRTdDLE1BQU0sY0FBYyxHQUFtQjtJQUNyQyxRQUFRLEVBQUUsZ0JBQWdCLENBQUMsSUFBSTtDQUNoQyxDQUFDO0FBS0YsTUFBTSxPQUFPLGVBQWU7SUFJMUIsWUFBMEQsV0FBMkI7UUFHbkYsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLEdBQUcsY0FBYyxFQUFFLEdBQUksV0FBVyxFQUFFLENBQUM7SUFFL0QsQ0FBQztJQUVELElBQUksQ0FBQyxPQUFlLEVBQUUsTUFBdUI7UUFFM0MsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQztZQUMvQixPQUFPLEVBQUUsT0FBTztZQUNoQixNQUFNLEVBQUUsTUFBTSxFQUFFLFdBQVk7WUFDNUIsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRO1NBQzNELENBQUMsQ0FBQztRQUVILE9BQU87WUFDTCxJQUFJLE9BQU87Z0JBQ1QsT0FBTyxRQUFRLENBQUMsT0FBTyxDQUFBO1lBQ3pCLENBQUM7WUFDRCxJQUFJLE9BQU8sQ0FBQyxLQUFhO2dCQUN2QixRQUFRLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUMzQixDQUFDO1lBQ0QsSUFBSSxNQUFNO2dCQUNSLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQTtZQUN4QixDQUFDO1lBQ0QsSUFBSSxNQUFNLENBQUMsS0FBYTtnQkFDdEIsUUFBUSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDMUIsQ0FBQztZQUNELE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFO1lBQ2pDLFFBQVEsRUFBRSxTQUFTLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQztTQUM3QyxDQUFBO0lBQ0gsQ0FBQzsrR0FuQ1UsZUFBZSxrQkFJTSx3QkFBd0I7bUhBSjdDLGVBQWUsY0FGZCxNQUFNOzs0RkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBS2MsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTTkFDS0JBUl9ERUZBVUxUX09QVElPTlMsIFNuYWNrYmFyQ29uZmlnIH0gZnJvbSAnLi9zbmFja2Jhci1jb25maWcubW9kZWwnO1xuaW1wb3J0IHsgU25hY2tiYXJEdXJhdGlvbiB9IGZyb20gJy4vc25hY2tiYXItZHVyYXRpb24nO1xuaW1wb3J0IHsgU25hY2tiYXJSZWYgfSBmcm9tICcuL3NuYWNrYmFyLXJlZi5tb2RlbCc7XG5pbXBvcnQgeyBVbVNuYWNrYmFyIH0gZnJvbSAnQHVuaXZlcnNhbC1tYXRlcmlhbC93ZWInO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmNvbnN0IF9kZWZhdWx0Q29uZmlnOiBTbmFja2JhckNvbmZpZyA9IHtcbiAgZHVyYXRpb246IFNuYWNrYmFyRHVyYXRpb24ubG9uZ1xufTtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU25hY2tiYXJTZXJ2aWNlIHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9kZWZhdWx0Q29uZmlnOiBTbmFja2JhckNvbmZpZztcblxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBASW5qZWN0KFNOQUNLQkFSX0RFRkFVTFRfT1BUSU9OUykgdXNlck9wdGlvbnM6IFNuYWNrYmFyQ29uZmlnKSB7XG5cblxuICAgIHRoaXMuX2RlZmF1bHRDb25maWcgPSB7IC4uLl9kZWZhdWx0Q29uZmlnLCAuLi4gdXNlck9wdGlvbnMgfTtcblxuICB9XG5cbiAgb3BlbihtZXNzYWdlOiBzdHJpbmcsIGNvbmZpZz86IFNuYWNrYmFyQ29uZmlnKTogU25hY2tiYXJSZWYge1xuXG4gICAgY29uc3Qgc25hY2tiYXIgPSBVbVNuYWNrYmFyLnNob3coe1xuICAgICAgbWVzc2FnZTogbWVzc2FnZSxcbiAgICAgIGFjdGlvbjogY29uZmlnPy5hY3Rpb25MYWJlbCEsXG4gICAgICBkdXJhdGlvbjogY29uZmlnPy5kdXJhdGlvbiB8fCB0aGlzLl9kZWZhdWx0Q29uZmlnLmR1cmF0aW9uLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGdldCBtZXNzYWdlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBzbmFja2Jhci5tZXNzYWdlXG4gICAgICB9LFxuICAgICAgc2V0IG1lc3NhZ2UodmFsdWU6IHN0cmluZykge1xuICAgICAgICBzbmFja2Jhci5tZXNzYWdlID0gdmFsdWU7XG4gICAgICB9LFxuICAgICAgZ2V0IGFjdGlvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gc25hY2tiYXIuYWN0aW9uXG4gICAgICB9LFxuICAgICAgc2V0IGFjdGlvbih2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIHNuYWNrYmFyLmFjdGlvbiA9IHZhbHVlO1xuICAgICAgfSxcbiAgICAgIGRpc21pc3M6ICgpID0+IHNuYWNrYmFyLmRpc21pc3MoKSxcbiAgICAgIG9uQWN0aW9uOiBmcm9tRXZlbnQoc25hY2tiYXIsICdhY3Rpb25DbGljaycpXG4gICAgfVxuICB9XG59XG4iXX0=