@universal-material/angular
Version:
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 16.1.0.
47 lines • 6.21 kB
JavaScript
import { Injectable } from '@angular/core';
import { ConfirmDialogBuilder } from '@universal-material/web';
import { fromPromise } from 'rxjs/internal/observable/innerFrom';
import { filter } from 'rxjs/operators';
import * as i0 from "@angular/core";
export class ConfirmDialogService {
open(message, config) {
const builder = ConfirmDialogBuilder.create(message);
if (!config) {
return this.#open(builder);
}
if (config.confirmButton) {
builder.confirmButton({
label: config.confirmButton.text,
variant: config.confirmButton.variant ?? 'text',
color: config.confirmButton.color
});
}
if (config.cancelButton) {
builder.cancelButton({
label: config.cancelButton.text,
variant: config.cancelButton.variant ?? 'text',
color: config.cancelButton.color
});
}
if (config.title) {
builder.headline(config.title);
}
return this.#open(builder);
}
#open(builder) {
const result$ = fromPromise(builder.show());
return {
onConfirm: result$
.pipe(filter(confirmed => confirmed)),
onCancel: result$
.pipe(filter(confirmed => !confirmed))
};
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConfirmDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConfirmDialogService, providedIn: 'root' }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConfirmDialogService, decorators: [{
type: Injectable,
args: [{ providedIn: 'root' }]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1kaWFsb2cuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9kaWFsb2cvY29uZmlybS1kaWFsb2cvY29uZmlybS1kaWFsb2cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxvQkFBb0IsRUFBa0MsTUFBTSx5QkFBeUIsQ0FBQztBQUUvRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDakUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUl4QyxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLElBQUksQ0FBQyxPQUFlLEVBQUUsTUFBNEI7UUFDaEQsTUFBTSxPQUFPLEdBQUcsb0JBQW9CLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXJELElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDNUI7UUFFRCxJQUFJLE1BQU0sQ0FBQyxhQUFhLEVBQUU7WUFDeEIsT0FBTyxDQUFDLGFBQWEsQ0FBQztnQkFDcEIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSTtnQkFDaEMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQUMsT0FBMEIsSUFBSSxNQUFNO2dCQUNsRSxLQUFLLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFzQjthQUNuRCxDQUFDLENBQUE7U0FDSDtRQUVELElBQUksTUFBTSxDQUFDLFlBQVksRUFBRTtZQUN2QixPQUFPLENBQUMsWUFBWSxDQUFDO2dCQUNuQixLQUFLLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJO2dCQUMvQixPQUFPLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxPQUEwQixJQUFJLE1BQU07Z0JBQ2pFLEtBQUssRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQXNCO2FBQ2xELENBQUMsQ0FBQTtTQUNIO1FBRUQsSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFO1lBQ2hCLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ2hDO1FBRUQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBNkI7UUFDakMsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRTVDLE9BQU87WUFDTCxTQUFTLEVBQUUsT0FBTztpQkFDZixJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQW9CO1lBQzFELFFBQVEsRUFBRSxPQUFPO2lCQUNkLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFvQjtTQUM1RCxDQUFBO0lBQ0gsQ0FBQzsrR0F4Q1Usb0JBQW9CO21IQUFwQixvQkFBb0IsY0FEUixNQUFNOzs0RkFDbEIsb0JBQW9CO2tCQURoQyxVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbmZpcm1EaWFsb2dDb25maWcgfSBmcm9tICcuL2NvbmZpcm0tZGlhbG9nLWNvbmZpZy5tb2RlbCc7XG5pbXBvcnQgeyBDb25maXJtRGlhbG9nQnVpbGRlciwgVW1CdXR0b25Db2xvciwgVW1CdXR0b25WYXJpYW50IH0gZnJvbSAnQHVuaXZlcnNhbC1tYXRlcmlhbC93ZWInO1xuaW1wb3J0IHsgQ29uZmlybURpYWxvZ1JlZiB9IGZyb20gJy4vY29uZmlybS1kaWFsb2ctcmVmJztcbmltcG9ydCB7IGZyb21Qcm9taXNlIH0gZnJvbSAncnhqcy9pbnRlcm5hbC9vYnNlcnZhYmxlL2lubmVyRnJvbSc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIENvbmZpcm1EaWFsb2dTZXJ2aWNlIHtcbiAgb3BlbihtZXNzYWdlOiBzdHJpbmcsIGNvbmZpZz86IENvbmZpcm1EaWFsb2dDb25maWcpOiBDb25maXJtRGlhbG9nUmVmIHtcbiAgICBjb25zdCBidWlsZGVyID0gQ29uZmlybURpYWxvZ0J1aWxkZXIuY3JlYXRlKG1lc3NhZ2UpO1xuXG4gICAgaWYgKCFjb25maWcpIHtcbiAgICAgIHJldHVybiB0aGlzLiNvcGVuKGJ1aWxkZXIpO1xuICAgIH1cblxuICAgIGlmIChjb25maWcuY29uZmlybUJ1dHRvbikge1xuICAgICAgYnVpbGRlci5jb25maXJtQnV0dG9uKHtcbiAgICAgICAgbGFiZWw6IGNvbmZpZy5jb25maXJtQnV0dG9uLnRleHQsXG4gICAgICAgIHZhcmlhbnQ6IGNvbmZpZy5jb25maXJtQnV0dG9uLnZhcmlhbnQgYXMgVW1CdXR0b25WYXJpYW50ID8/ICd0ZXh0JyxcbiAgICAgICAgY29sb3I6IGNvbmZpZy5jb25maXJtQnV0dG9uLmNvbG9yIGFzIFVtQnV0dG9uQ29sb3JcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgaWYgKGNvbmZpZy5jYW5jZWxCdXR0b24pIHtcbiAgICAgIGJ1aWxkZXIuY2FuY2VsQnV0dG9uKHtcbiAgICAgICAgbGFiZWw6IGNvbmZpZy5jYW5jZWxCdXR0b24udGV4dCxcbiAgICAgICAgdmFyaWFudDogY29uZmlnLmNhbmNlbEJ1dHRvbi52YXJpYW50IGFzIFVtQnV0dG9uVmFyaWFudCA/PyAndGV4dCcsXG4gICAgICAgIGNvbG9yOiBjb25maWcuY2FuY2VsQnV0dG9uLmNvbG9yIGFzIFVtQnV0dG9uQ29sb3JcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgaWYgKGNvbmZpZy50aXRsZSkge1xuICAgICAgYnVpbGRlci5oZWFkbGluZShjb25maWcudGl0bGUpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLiNvcGVuKGJ1aWxkZXIpO1xuICB9XG5cbiAgI29wZW4oYnVpbGRlcjogQ29uZmlybURpYWxvZ0J1aWxkZXIpOiBDb25maXJtRGlhbG9nUmVmIHtcbiAgICBjb25zdCByZXN1bHQkID0gZnJvbVByb21pc2UoYnVpbGRlci5zaG93KCkpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIG9uQ29uZmlybTogcmVzdWx0JFxuICAgICAgICAucGlwZShmaWx0ZXIoY29uZmlybWVkID0+IGNvbmZpcm1lZCkpIGFzIE9ic2VydmFibGU8YW55PixcbiAgICAgIG9uQ2FuY2VsOiByZXN1bHQkXG4gICAgICAgIC5waXBlKGZpbHRlcihjb25maXJtZWQgPT4gIWNvbmZpcm1lZCkpIGFzIE9ic2VydmFibGU8YW55PlxuICAgIH1cbiAgfVxufVxuIl19