@taiga-ui/kit
Version:
Taiga UI Angular main components kit
32 lines • 3.96 kB
JavaScript
import { inject, Injectable } from '@angular/core';
import { TuiDialogService } from '@taiga-ui/core/components/dialog';
import { defer, of } from 'rxjs';
import { TUI_CONFIRM_DIALOG } from './confirm.component';
import * as i0 from "@angular/core";
class TuiConfirmService {
constructor() {
this.dialogs = inject(TuiDialogService);
this.component = inject(TUI_CONFIRM_DIALOG);
this.dirty = false;
}
markAsDirty() {
this.dirty = true;
}
markAsPristine() {
this.dirty = false;
}
withConfirm(
// TODO: Replace with NoInfer in v5
options) {
return defer(() => this.dirty
? this.dialogs.open(this.component, { size: 's', ...options })
: of(true));
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiConfirmService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiConfirmService }); }
}
export { TuiConfirmService };
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiConfirmService, decorators: [{
type: Injectable
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvY29uZmlybS9jb25maXJtLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUF3QixnQkFBZ0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ3pGLE9BQU8sRUFBQyxLQUFLLEVBQW1CLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUVoRCxPQUFPLEVBQUMsa0JBQWtCLEVBQXNCLE1BQU0scUJBQXFCLENBQUM7O0FBRTVFLE1BQ2EsaUJBQWlCO0lBRDlCO1FBRXFCLFlBQU8sR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNuQyxjQUFTLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDaEQsVUFBSyxHQUFHLEtBQUssQ0FBQztLQW9CekI7SUFsQlUsV0FBVztRQUNkLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLENBQUM7SUFFTSxjQUFjO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxXQUFXO0lBQ2QsbUNBQW1DO0lBQ25DLE9BQWlFO1FBRWpFLE9BQU8sS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUNkLElBQUksQ0FBQyxLQUFLO1lBQ04sQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFVLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsT0FBTyxFQUFDLENBQUM7WUFDckUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FDakIsQ0FBQztJQUNOLENBQUM7K0dBdEJRLGlCQUFpQjttSEFBakIsaUJBQWlCOztTQUFqQixpQkFBaUI7NEZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0LCBJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHlwZSBUdWlEaWFsb2dPcHRpb25zLCBUdWlEaWFsb2dTZXJ2aWNlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2RpYWxvZyc7XG5pbXBvcnQge2RlZmVyLCB0eXBlIE9ic2VydmFibGUsIG9mfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUVUlfQ09ORklSTV9ESUFMT0csIHR5cGUgVHVpQ29uZmlybURhdGF9IGZyb20gJy4vY29uZmlybS5jb21wb25lbnQnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVHVpQ29uZmlybVNlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGlhbG9ncyA9IGluamVjdChUdWlEaWFsb2dTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbXBvbmVudCA9IGluamVjdChUVUlfQ09ORklSTV9ESUFMT0cpO1xuICAgIHByaXZhdGUgZGlydHkgPSBmYWxzZTtcblxuICAgIHB1YmxpYyBtYXJrQXNEaXJ0eSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaXJ0eSA9IHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIG1hcmtBc1ByaXN0aW5lKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRpcnR5ID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhDb25maXJtPFQgPSBUdWlDb25maXJtRGF0YT4oXG4gICAgICAgIC8vIFRPRE86IFJlcGxhY2Ugd2l0aCBOb0luZmVyIGluIHY1XG4gICAgICAgIG9wdGlvbnM6IFBhcnRpYWw8VHVpRGlhbG9nT3B0aW9uczxUIGV4dGVuZHMgaW5mZXIgVSA/IFUgOiBuZXZlcj4+LFxuICAgICk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gZGVmZXIoKCkgPT5cbiAgICAgICAgICAgIHRoaXMuZGlydHlcbiAgICAgICAgICAgICAgICA/IHRoaXMuZGlhbG9ncy5vcGVuPGJvb2xlYW4+KHRoaXMuY29tcG9uZW50LCB7c2l6ZTogJ3MnLCAuLi5vcHRpb25zfSlcbiAgICAgICAgICAgICAgICA6IG9mKHRydWUpLFxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==