UNPKG

carbon-components-angular

Version:
62 lines 6.86 kB
import { Injectable } from "@angular/core"; import { AlertModal } from "./alert-modal.component"; import { BaseModalService } from "./base-modal.service"; import * as i0 from "@angular/core"; import * as i1 from "carbon-components-angular/placeholder"; /** * Extends Base Modal Service to create Alert Modal with a function call. Placed in a seperate service * to prevent remote scoping (NG3003) which has side effects. Hence, import cycles are not allowed when * compilationMode is set to `partial`. * * * Modal service handles instantiating and destroying modal instances. * Uses PlaceholderService to track open instances, and for it's placeholder view reference. */ export class ModalService extends BaseModalService { /** * Creates an instance of `ModalService`. */ constructor(placeholderService) { super(placeholderService); this.placeholderService = placeholderService; } /** * Creates and renders a new alert modal component. * @param data You can pass in: * `type` - "default" | "danger" = "default", * `label` - a label shown over the title, * `title` - modal's title, * `content` - modal's content, could include HTML tags. * `buttons` is an array of objects * `close` custom close function * ``` * { * text: "Button text", * type: "primary" | "secondary" | "tertiary" | "ghost" | "danger" | "danger--primary" = "primary", * click: clickFunction, * } * ``` */ show(data) { return this.create({ component: AlertModal, inputs: { type: data.type, label: data.label, title: data.title, content: data.content, hasScrollingContent: data.hasScrollingContent !== undefined ? data.hasScrollingContent : null, size: data.size, buttons: data.buttons || [], close: data.close || (() => { }), showCloseButton: data.showCloseButton } }); } } ModalService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ModalService, deps: [{ token: i1.PlaceholderService }], target: i0.ɵɵFactoryTarget.Injectable }); ModalService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ModalService }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ModalService, decorators: [{ type: Injectable }], ctorParameters: function () { return [{ type: i1.PlaceholderService }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RhbC9tb2RhbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUdyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O0FBRXhEOzs7Ozs7OztHQVFHO0FBRUgsTUFBTSxPQUFPLFlBQWEsU0FBUSxnQkFBZ0I7SUFDakQ7O09BRUc7SUFDSCxZQUFtQixrQkFBc0M7UUFDeEQsS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFEUix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO0lBRXpELENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7OztPQWdCRztJQUNILElBQUksQ0FBQyxJQUFvQjtRQUN4QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDbEIsU0FBUyxFQUFFLFVBQVU7WUFDckIsTUFBTSxFQUFFO2dCQUNQLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtnQkFDZixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7Z0JBQ2pCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDakIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO2dCQUNyQixtQkFBbUIsRUFBRSxJQUFJLENBQUMsbUJBQW1CLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLElBQUk7Z0JBQzdGLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtnQkFDZixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFO2dCQUMzQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDaEMsZUFBZSxFQUFFLElBQUksQ0FBQyxlQUFlO2FBQ3JDO1NBQ0QsQ0FBQyxDQUFDO0lBQ0osQ0FBQzs7eUdBeENXLFlBQVk7NkdBQVosWUFBWTsyRkFBWixZQUFZO2tCQUR4QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBBbGVydE1vZGFsIH0gZnJvbSBcIi4vYWxlcnQtbW9kYWwuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBBbGVydE1vZGFsRGF0YSB9IGZyb20gXCIuL2FsZXJ0LW1vZGFsLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgUGxhY2Vob2xkZXJTZXJ2aWNlIH0gZnJvbSBcImNhcmJvbi1jb21wb25lbnRzLWFuZ3VsYXIvcGxhY2Vob2xkZXJcIjtcbmltcG9ydCB7IEJhc2VNb2RhbFNlcnZpY2UgfSBmcm9tIFwiLi9iYXNlLW1vZGFsLnNlcnZpY2VcIjtcblxuLyoqXG4gKiBFeHRlbmRzIEJhc2UgTW9kYWwgU2VydmljZSB0byBjcmVhdGUgQWxlcnQgTW9kYWwgd2l0aCBhIGZ1bmN0aW9uIGNhbGwuIFBsYWNlZCBpbiBhIHNlcGVyYXRlIHNlcnZpY2VcbiAqIHRvIHByZXZlbnQgcmVtb3RlIHNjb3BpbmcgKE5HMzAwMykgd2hpY2ggaGFzIHNpZGUgZWZmZWN0cy4gSGVuY2UsIGltcG9ydCBjeWNsZXMgYXJlIG5vdCBhbGxvd2VkIHdoZW5cbiAqIGNvbXBpbGF0aW9uTW9kZSBpcyBzZXQgdG8gYHBhcnRpYWxgLlxuICpcbiAqXG4gKiBNb2RhbCBzZXJ2aWNlIGhhbmRsZXMgaW5zdGFudGlhdGluZyBhbmQgZGVzdHJveWluZyBtb2RhbCBpbnN0YW5jZXMuXG4gKiBVc2VzIFBsYWNlaG9sZGVyU2VydmljZSB0byB0cmFjayBvcGVuIGluc3RhbmNlcywgYW5kIGZvciBpdCdzIHBsYWNlaG9sZGVyIHZpZXcgcmVmZXJlbmNlLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTW9kYWxTZXJ2aWNlIGV4dGVuZHMgQmFzZU1vZGFsU2VydmljZSB7XG5cdC8qKlxuXHQgKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIGBNb2RhbFNlcnZpY2VgLlxuXHQgKi9cblx0Y29uc3RydWN0b3IocHVibGljIHBsYWNlaG9sZGVyU2VydmljZTogUGxhY2Vob2xkZXJTZXJ2aWNlKSB7XG5cdFx0c3VwZXIocGxhY2Vob2xkZXJTZXJ2aWNlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGFuZCByZW5kZXJzIGEgbmV3IGFsZXJ0IG1vZGFsIGNvbXBvbmVudC5cblx0ICogQHBhcmFtIGRhdGEgWW91IGNhbiBwYXNzIGluOlxuXHQgKiBgdHlwZWAgLSBcImRlZmF1bHRcIiB8IFwiZGFuZ2VyXCIgPSBcImRlZmF1bHRcIixcblx0ICogYGxhYmVsYCAtIGEgbGFiZWwgc2hvd24gb3ZlciB0aGUgdGl0bGUsXG5cdCAqIGB0aXRsZWAgLSBtb2RhbCdzIHRpdGxlLFxuXHQgKiBgY29udGVudGAgLSBtb2RhbCdzIGNvbnRlbnQsIGNvdWxkIGluY2x1ZGUgSFRNTCB0YWdzLlxuXHQgKiBgYnV0dG9uc2AgaXMgYW4gYXJyYXkgb2Ygb2JqZWN0c1xuXHQgKiBgY2xvc2VgIGN1c3RvbSBjbG9zZSBmdW5jdGlvblxuXHQgKiBgYGBcblx0ICoge1xuXHQgKiBcdFx0dGV4dDogXCJCdXR0b24gdGV4dFwiLFxuXHQgKiBcdFx0dHlwZTogXCJwcmltYXJ5XCIgfCBcInNlY29uZGFyeVwiIHwgXCJ0ZXJ0aWFyeVwiIHwgXCJnaG9zdFwiIHwgXCJkYW5nZXJcIiB8IFwiZGFuZ2VyLS1wcmltYXJ5XCIgPSBcInByaW1hcnlcIixcblx0ICogXHRcdGNsaWNrOiBjbGlja0Z1bmN0aW9uLFxuXHQgKiB9XG5cdCAqIGBgYFxuXHQgKi9cblx0c2hvdyhkYXRhOiBBbGVydE1vZGFsRGF0YSkge1xuXHRcdHJldHVybiB0aGlzLmNyZWF0ZSh7XG5cdFx0XHRjb21wb25lbnQ6IEFsZXJ0TW9kYWwsXG5cdFx0XHRpbnB1dHM6IHtcblx0XHRcdFx0dHlwZTogZGF0YS50eXBlLFxuXHRcdFx0XHRsYWJlbDogZGF0YS5sYWJlbCxcblx0XHRcdFx0dGl0bGU6IGRhdGEudGl0bGUsXG5cdFx0XHRcdGNvbnRlbnQ6IGRhdGEuY29udGVudCxcblx0XHRcdFx0aGFzU2Nyb2xsaW5nQ29udGVudDogZGF0YS5oYXNTY3JvbGxpbmdDb250ZW50ICE9PSB1bmRlZmluZWQgPyBkYXRhLmhhc1Njcm9sbGluZ0NvbnRlbnQgOiBudWxsLFxuXHRcdFx0XHRzaXplOiBkYXRhLnNpemUsXG5cdFx0XHRcdGJ1dHRvbnM6IGRhdGEuYnV0dG9ucyB8fCBbXSxcblx0XHRcdFx0Y2xvc2U6IGRhdGEuY2xvc2UgfHwgKCgpID0+IHsgfSksXG5cdFx0XHRcdHNob3dDbG9zZUJ1dHRvbjogZGF0YS5zaG93Q2xvc2VCdXR0b25cblx0XHRcdH1cblx0XHR9KTtcblx0fVxufVxuXG4iXX0=