@netgrif/components-core
Version:
Netgrif Application engine frontend core Angular library
78 lines • 10.5 kB
JavaScript
import { Injectable } from '@angular/core';
import { ConfirmDialogComponent } from '../components/confirm-dialog/confirm-dialog.component';
import { AlertDialogComponent } from '../components/alert-dialog/alert-dialog.component';
import { PromptDialogComponent } from '../components/prompt-dialog/prompt-dialog.component';
import * as i0 from "@angular/core";
import * as i1 from "@angular/material/dialog";
/** Service to open own modal interacting dialog components based on Material Design via [MatDialog]{@link MatDialog} service. */
export class DialogService {
dialog;
/**
* Only inject service.
* @param dialog Service to open Material Design modal dialogs.
*/
constructor(dialog) {
this.dialog = dialog;
}
/**
* Open the alert modal dialog and show his content.
* Alert dialog should be used to show the user a crucial message.
* @param title Dialog title.
* @param content Informs user about message.
* @param configMatDialog Extra configuration options.
* @returns Reference to the newly-opened alert dialog. When dialog closes an empty object is returned.
*/
openAlertDialog(title, content, configMatDialog) {
return this.dialog.open(AlertDialogComponent, Object.assign({
data: {
title,
content
}
}, configMatDialog));
}
/**
* Open question model dialog with positive and negative answer button.
* @param title Dialog title.
* @param question Question forming the idea of the whole dialogue with the user.
* @param negativeChoiceLabel Negative answer label
* @param positiveChoiceLabel Positive answer label
* @param configMatDialog Extra configuration options.
* @returns Reference to the newly-opened question dialog. When dialog is closed made choice is returned.
*/
openConfirmDialog(title, question, negativeChoiceLabel, positiveChoiceLabel, configMatDialog) {
return this.dialog.open(ConfirmDialogComponent, Object.assign({
data: {
title,
content: question,
negativeLabel: negativeChoiceLabel,
positiveLabel: positiveChoiceLabel
}
}, configMatDialog));
}
/**
* Open question model dialog with answer from user as message response.
* @param title Dialog title.
* @param question Question forming the idea of the whole dialogue with the user.
* @param placeholder Label for answer input box.
* @param configMatDialog Extra configuration options.
* @returns Reference to the newly-opened question with answer dialog.
*/
openPromptDialog(title, question, placeholder, configMatDialog) {
return this.dialog.open(PromptDialogComponent, Object.assign({
data: {
title,
content: question,
placeholder
}
}, configMatDialog));
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DialogService, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DialogService, providedIn: 'root' });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DialogService, decorators: [{
type: Injectable,
args: [{
providedIn: 'root'
}]
}], ctorParameters: () => [{ type: i1.MatDialog }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXRncmlmLWNvbXBvbmVudHMtY29yZS9zcmMvbGliL2RpYWxvZy9zZXJ2aWNlcy9kaWFsb2cuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHVEQUF1RCxDQUFDO0FBQzdGLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLHFEQUFxRCxDQUFDOzs7QUFLMUYsa0lBQWtJO0FBSWxJLE1BQU0sT0FBTyxhQUFhO0lBS0Y7SUFKcEI7OztPQUdHO0lBQ0gsWUFBb0IsTUFBaUI7UUFBakIsV0FBTSxHQUFOLE1BQU0sQ0FBVztJQUNyQyxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLGVBQWUsQ0FBQyxLQUFhLEVBQUUsT0FBZSxFQUM5QixlQUE2QztRQUNoRSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFpRCxvQkFBb0IsRUFDeEYsTUFBTSxDQUFDLE1BQU0sQ0FBQztZQUNWLElBQUksRUFBRTtnQkFDRixLQUFLO2dCQUNMLE9BQU87YUFDVjtTQUNKLEVBQUUsZUFBZSxDQUFDLENBQ3RCLENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxpQkFBaUIsQ0FBQyxLQUFhLEVBQUUsUUFBZ0IsRUFBRSxtQkFBMkIsRUFBRSxtQkFBMkIsRUFDekYsZUFBNkM7UUFDM0QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBbUQsc0JBQXNCLEVBQzVGLE1BQU0sQ0FBQyxNQUFNLENBQUM7WUFDVixJQUFJLEVBQUU7Z0JBQ0YsS0FBSztnQkFDTCxPQUFPLEVBQUUsUUFBUTtnQkFDakIsYUFBYSxFQUFFLG1CQUFtQjtnQkFDbEMsYUFBYSxFQUFFLG1CQUFtQjthQUNyQztTQUNKLEVBQUUsZUFBZSxDQUFDLENBQ3RCLENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILGdCQUFnQixDQUFDLEtBQWEsRUFBRSxRQUFnQixFQUFFLFdBQW1CLEVBQUUsZUFBNkM7UUFDaEgsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFDekMsTUFBTSxDQUFDLE1BQU0sQ0FBQztZQUNWLElBQUksRUFBRTtnQkFDRixLQUFLO2dCQUNMLE9BQU8sRUFBRSxRQUFRO2dCQUNqQixXQUFXO2FBQ2Q7U0FDSixFQUFFLGVBQWUsQ0FBQyxDQUN0QixDQUFDO0lBQ04sQ0FBQzt3R0FyRVEsYUFBYTs0R0FBYixhQUFhLGNBRlYsTUFBTTs7NEZBRVQsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb25maXJtRGlhbG9nQ29tcG9uZW50fSBmcm9tICcuLi9jb21wb25lbnRzL2NvbmZpcm0tZGlhbG9nL2NvbmZpcm0tZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQge0FsZXJ0RGlhbG9nQ29tcG9uZW50fSBmcm9tICcuLi9jb21wb25lbnRzL2FsZXJ0LWRpYWxvZy9hbGVydC1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7UHJvbXB0RGlhbG9nQ29tcG9uZW50fSBmcm9tICcuLi9jb21wb25lbnRzL3Byb21wdC1kaWFsb2cvcHJvbXB0LWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHtEaWFsb2dEYXRhfSBmcm9tICcuLi9tb2RlbHMvRGlhbG9nRGF0YSc7XG5pbXBvcnQge0RpYWxvZ1Jlc3VsdH0gZnJvbSAnLi4vbW9kZWxzL0RpYWxvZ1Jlc3VsdCc7XG5pbXBvcnQge01hdERpYWxvZywgTWF0RGlhbG9nQ29uZmlnLCBNYXREaWFsb2dSZWZ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5cbi8qKiAgU2VydmljZSB0byBvcGVuIG93biBtb2RhbCBpbnRlcmFjdGluZyBkaWFsb2cgY29tcG9uZW50cyBiYXNlZCBvbiBNYXRlcmlhbCBEZXNpZ24gdmlhIFtNYXREaWFsb2dde0BsaW5rIE1hdERpYWxvZ30gc2VydmljZS4gKi9cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRGlhbG9nU2VydmljZSB7XG4gICAgLyoqXG4gICAgICogT25seSBpbmplY3Qgc2VydmljZS5cbiAgICAgKiBAcGFyYW0gZGlhbG9nIFNlcnZpY2UgdG8gb3BlbiBNYXRlcmlhbCBEZXNpZ24gbW9kYWwgZGlhbG9ncy5cbiAgICAgKi9cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nKSB7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogT3BlbiB0aGUgYWxlcnQgbW9kYWwgZGlhbG9nIGFuZCBzaG93IGhpcyBjb250ZW50LlxuICAgICAqIEFsZXJ0IGRpYWxvZyBzaG91bGQgYmUgdXNlZCB0byBzaG93IHRoZSB1c2VyIGEgY3J1Y2lhbCBtZXNzYWdlLlxuICAgICAqIEBwYXJhbSB0aXRsZSBEaWFsb2cgdGl0bGUuXG4gICAgICogQHBhcmFtIGNvbnRlbnQgSW5mb3JtcyB1c2VyIGFib3V0IG1lc3NhZ2UuXG4gICAgICogQHBhcmFtIGNvbmZpZ01hdERpYWxvZyBFeHRyYSBjb25maWd1cmF0aW9uIG9wdGlvbnMuXG4gICAgICogQHJldHVybnMgUmVmZXJlbmNlIHRvIHRoZSBuZXdseS1vcGVuZWQgYWxlcnQgZGlhbG9nLiBXaGVuIGRpYWxvZyBjbG9zZXMgYW4gZW1wdHkgb2JqZWN0IGlzIHJldHVybmVkLlxuICAgICAqL1xuICAgIHB1YmxpYyBvcGVuQWxlcnREaWFsb2codGl0bGU6IHN0cmluZywgY29udGVudDogc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnTWF0RGlhbG9nPzogTWF0RGlhbG9nQ29uZmlnPERpYWxvZ0RhdGE+KTogTWF0RGlhbG9nUmVmPEFsZXJ0RGlhbG9nQ29tcG9uZW50LCBEaWFsb2dSZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGlhbG9nLm9wZW48QWxlcnREaWFsb2dDb21wb25lbnQsIERpYWxvZ0RhdGEsIERpYWxvZ1Jlc3VsdD4oQWxlcnREaWFsb2dDb21wb25lbnQsXG4gICAgICAgICAgICBPYmplY3QuYXNzaWduKHtcbiAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlLFxuICAgICAgICAgICAgICAgICAgICBjb250ZW50XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgY29uZmlnTWF0RGlhbG9nKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE9wZW4gcXVlc3Rpb24gbW9kZWwgZGlhbG9nIHdpdGggcG9zaXRpdmUgYW5kIG5lZ2F0aXZlIGFuc3dlciBidXR0b24uXG4gICAgICogQHBhcmFtIHRpdGxlIERpYWxvZyB0aXRsZS5cbiAgICAgKiBAcGFyYW0gcXVlc3Rpb24gUXVlc3Rpb24gZm9ybWluZyB0aGUgaWRlYSBvZiB0aGUgd2hvbGUgZGlhbG9ndWUgd2l0aCB0aGUgdXNlci5cbiAgICAgKiBAcGFyYW0gbmVnYXRpdmVDaG9pY2VMYWJlbCBOZWdhdGl2ZSBhbnN3ZXIgbGFiZWxcbiAgICAgKiBAcGFyYW0gcG9zaXRpdmVDaG9pY2VMYWJlbCBQb3NpdGl2ZSBhbnN3ZXIgbGFiZWxcbiAgICAgKiBAcGFyYW0gY29uZmlnTWF0RGlhbG9nIEV4dHJhIGNvbmZpZ3VyYXRpb24gb3B0aW9ucy5cbiAgICAgKiBAcmV0dXJucyBSZWZlcmVuY2UgdG8gdGhlIG5ld2x5LW9wZW5lZCBxdWVzdGlvbiBkaWFsb2cuIFdoZW4gZGlhbG9nIGlzIGNsb3NlZCBtYWRlIGNob2ljZSBpcyByZXR1cm5lZC5cbiAgICAgKi9cbiAgICBvcGVuQ29uZmlybURpYWxvZyh0aXRsZTogc3RyaW5nLCBxdWVzdGlvbjogc3RyaW5nLCBuZWdhdGl2ZUNob2ljZUxhYmVsOiBzdHJpbmcsIHBvc2l0aXZlQ2hvaWNlTGFiZWw6IHN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgICBjb25maWdNYXREaWFsb2c/OiBNYXREaWFsb2dDb25maWc8RGlhbG9nRGF0YT4pOiBNYXREaWFsb2dSZWY8Q29uZmlybURpYWxvZ0NvbXBvbmVudCwgRGlhbG9nUmVzdWx0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRpYWxvZy5vcGVuPENvbmZpcm1EaWFsb2dDb21wb25lbnQsIERpYWxvZ0RhdGEsIERpYWxvZ1Jlc3VsdD4oQ29uZmlybURpYWxvZ0NvbXBvbmVudCxcbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oe1xuICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGUsXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHF1ZXN0aW9uLFxuICAgICAgICAgICAgICAgICAgICBuZWdhdGl2ZUxhYmVsOiBuZWdhdGl2ZUNob2ljZUxhYmVsLFxuICAgICAgICAgICAgICAgICAgICBwb3NpdGl2ZUxhYmVsOiBwb3NpdGl2ZUNob2ljZUxhYmVsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgY29uZmlnTWF0RGlhbG9nKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE9wZW4gcXVlc3Rpb24gbW9kZWwgZGlhbG9nIHdpdGggYW5zd2VyIGZyb20gdXNlciBhcyBtZXNzYWdlIHJlc3BvbnNlLlxuICAgICAqIEBwYXJhbSB0aXRsZSBEaWFsb2cgdGl0bGUuXG4gICAgICogQHBhcmFtIHF1ZXN0aW9uIFF1ZXN0aW9uIGZvcm1pbmcgdGhlIGlkZWEgb2YgdGhlIHdob2xlIGRpYWxvZ3VlIHdpdGggdGhlIHVzZXIuXG4gICAgICogQHBhcmFtIHBsYWNlaG9sZGVyIExhYmVsIGZvciBhbnN3ZXIgaW5wdXQgYm94LlxuICAgICAqIEBwYXJhbSBjb25maWdNYXREaWFsb2cgRXh0cmEgY29uZmlndXJhdGlvbiBvcHRpb25zLlxuICAgICAqIEByZXR1cm5zIFJlZmVyZW5jZSB0byB0aGUgbmV3bHktb3BlbmVkIHF1ZXN0aW9uIHdpdGggYW5zd2VyIGRpYWxvZy5cbiAgICAgKi9cbiAgICBvcGVuUHJvbXB0RGlhbG9nKHRpdGxlOiBzdHJpbmcsIHF1ZXN0aW9uOiBzdHJpbmcsIHBsYWNlaG9sZGVyOiBzdHJpbmcsIGNvbmZpZ01hdERpYWxvZz86IE1hdERpYWxvZ0NvbmZpZzxEaWFsb2dEYXRhPikge1xuICAgICAgICByZXR1cm4gdGhpcy5kaWFsb2cub3BlbihQcm9tcHREaWFsb2dDb21wb25lbnQsXG4gICAgICAgICAgICBPYmplY3QuYXNzaWduKHtcbiAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlLFxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBxdWVzdGlvbixcbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXJcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCBjb25maWdNYXREaWFsb2cpXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19