UNPKG

11.4 kBJavaScriptView Raw
1(function (global, factory) {
2 typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/animations'), require('primeng/api')) :
3 typeof define === 'function' && define.amd ? define('primeng/messages', ['exports', '@angular/core', '@angular/common', '@angular/animations', 'primeng/api'], factory) :
4 (global = global || self, factory((global.primeng = global.primeng || {}, global.primeng.messages = {}), global.ng.core, global.ng.common, global.ng.animations, global.primeng.api));
5}(this, (function (exports, core, common, animations, api) { 'use strict';
6
7 var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
8 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
9 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
10 else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
11 return c > 3 && r && Object.defineProperty(target, key, r), r;
12 };
13 var __param = (this && this.__param) || function (paramIndex, decorator) {
14 return function (target, key) { decorator(target, key, paramIndex); }
15 };
16 var __read = (this && this.__read) || function (o, n) {
17 var m = typeof Symbol === "function" && o[Symbol.iterator];
18 if (!m) return o;
19 var i = m.call(o), r, ar = [], e;
20 try {
21 while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
22 }
23 catch (error) { e = { error: error }; }
24 finally {
25 try {
26 if (r && !r.done && (m = i["return"])) m.call(i);
27 }
28 finally { if (e) throw e.error; }
29 }
30 return ar;
31 };
32 var __spread = (this && this.__spread) || function () {
33 for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));
34 return ar;
35 };
36 var Messages = /** @class */ (function () {
37 function Messages(messageService, el) {
38 this.messageService = messageService;
39 this.el = el;
40 this.closable = true;
41 this.enableService = true;
42 this.escape = true;
43 this.showTransitionOptions = '300ms ease-out';
44 this.hideTransitionOptions = '250ms ease-in';
45 this.valueChange = new core.EventEmitter();
46 }
47 Messages.prototype.ngAfterContentInit = function () {
48 var _this = this;
49 this.templates.forEach(function (item) {
50 switch (item.getType()) {
51 case 'content':
52 _this.contentTemplate = item.template;
53 break;
54 default:
55 _this.contentTemplate = item.template;
56 break;
57 }
58 });
59 if (this.messageService && this.enableService && !this.contentTemplate) {
60 this.messageSubscription = this.messageService.messageObserver.subscribe(function (messages) {
61 if (messages) {
62 if (messages instanceof Array) {
63 var filteredMessages = messages.filter(function (m) { return _this.key === m.key; });
64 _this.value = _this.value ? __spread(_this.value, filteredMessages) : __spread(filteredMessages);
65 }
66 else if (_this.key === messages.key) {
67 _this.value = _this.value ? __spread(_this.value, [messages]) : [messages];
68 }
69 }
70 });
71 this.clearSubscription = this.messageService.clearObserver.subscribe(function (key) {
72 if (key) {
73 if (_this.key === key) {
74 _this.value = null;
75 }
76 }
77 else {
78 _this.value = null;
79 }
80 });
81 }
82 };
83 Messages.prototype.hasMessages = function () {
84 var parentEl = this.el.nativeElement.parentElement;
85 if (parentEl && parentEl.offsetParent) {
86 return this.contentTemplate != null || this.value && this.value.length > 0;
87 }
88 return false;
89 };
90 Messages.prototype.getSeverityClass = function () {
91 if (this.severity) {
92 return 'ui-messages-' + this.severity;
93 }
94 else {
95 var msg_1 = this.value[0];
96 if (msg_1) {
97 var severities = ['info', 'warn', 'error', 'success'];
98 var severity = severities.find(function (item) { return item === msg_1.severity; });
99 return severity && "ui-messages-" + severity;
100 }
101 }
102 return null;
103 };
104 Messages.prototype.clear = function (event) {
105 this.value = [];
106 this.valueChange.emit(this.value);
107 event.preventDefault();
108 };
109 Object.defineProperty(Messages.prototype, "icon", {
110 get: function () {
111 var severity = this.severity || (this.hasMessages() ? this.value[0].severity : null);
112 if (this.hasMessages()) {
113 switch (severity) {
114 case 'success':
115 return 'pi-check';
116 break;
117 case 'info':
118 return 'pi-info-circle';
119 break;
120 case 'error':
121 return 'pi-times';
122 break;
123 case 'warn':
124 return 'pi-exclamation-triangle';
125 break;
126 default:
127 return 'pi-info-circle';
128 break;
129 }
130 }
131 return null;
132 },
133 enumerable: true,
134 configurable: true
135 });
136 Messages.prototype.ngOnDestroy = function () {
137 if (this.messageSubscription) {
138 this.messageSubscription.unsubscribe();
139 }
140 if (this.clearSubscription) {
141 this.clearSubscription.unsubscribe();
142 }
143 };
144 Messages.ctorParameters = function () { return [
145 { type: api.MessageService, decorators: [{ type: core.Optional }] },
146 { type: core.ElementRef }
147 ]; };
148 __decorate([
149 core.Input()
150 ], Messages.prototype, "value", void 0);
151 __decorate([
152 core.Input()
153 ], Messages.prototype, "closable", void 0);
154 __decorate([
155 core.Input()
156 ], Messages.prototype, "style", void 0);
157 __decorate([
158 core.Input()
159 ], Messages.prototype, "styleClass", void 0);
160 __decorate([
161 core.Input()
162 ], Messages.prototype, "enableService", void 0);
163 __decorate([
164 core.Input()
165 ], Messages.prototype, "key", void 0);
166 __decorate([
167 core.Input()
168 ], Messages.prototype, "escape", void 0);
169 __decorate([
170 core.Input()
171 ], Messages.prototype, "severity", void 0);
172 __decorate([
173 core.Input()
174 ], Messages.prototype, "showTransitionOptions", void 0);
175 __decorate([
176 core.Input()
177 ], Messages.prototype, "hideTransitionOptions", void 0);
178 __decorate([
179 core.ContentChildren(api.PrimeTemplate)
180 ], Messages.prototype, "templates", void 0);
181 __decorate([
182 core.Output()
183 ], Messages.prototype, "valueChange", void 0);
184 Messages = __decorate([
185 core.Component({
186 selector: 'p-messages',
187 template: "\n <div *ngIf=\"hasMessages()\" class=\"ui-messages ui-widget ui-corner-all\"\n [ngClass]=\"getSeverityClass()\" role=\"alert\" [ngStyle]=\"style\" [class]=\"styleClass\"\n [@messageAnimation]=\"{value: 'visible', params: {showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions}}\">\n <a tabindex=\"0\" class=\"ui-messages-close\" (click)=\"clear($event)\" (keydown.enter)=\"clear($event)\" *ngIf=\"closable\">\n <i class=\"pi pi-times\"></i>\n </a>\n <span class=\"ui-messages-icon pi\" [ngClass]=\"icon\"></span>\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n <ul *ngIf=\"value && value.length\">\n <li *ngFor=\"let msg of value\">\n <div *ngIf=\"!escape; else escapeOut\">\n <span *ngIf=\"msg.summary\" class=\"ui-messages-summary\" [innerHTML]=\"msg.summary\"></span>\n <span *ngIf=\"msg.detail\" class=\"ui-messages-detail\" [innerHTML]=\"msg.detail\"></span>\n </div>\n <ng-template #escapeOut>\n <span *ngIf=\"msg.summary\" class=\"ui-messages-summary\">{{msg.summary}}</span>\n <span *ngIf=\"msg.detail\" class=\"ui-messages-detail\">{{msg.detail}}</span>\n </ng-template>\n </li>\n </ul>\n </div>\n ",
188 animations: [
189 animations.trigger('messageAnimation', [
190 animations.state('visible', animations.style({
191 transform: 'translateY(0)',
192 opacity: 1
193 })),
194 animations.transition('void => *', [
195 animations.style({ transform: 'translateY(-25%)', opacity: 0 }),
196 animations.animate('{{showTransitionParams}}')
197 ]),
198 animations.transition('* => void', [
199 animations.animate(('{{hideTransitionParams}}'), animations.style({
200 opacity: 0,
201 transform: 'translateY(-25%)'
202 }))
203 ])
204 ])
205 ],
206 changeDetection: core.ChangeDetectionStrategy.Default
207 }),
208 __param(0, core.Optional())
209 ], Messages);
210 return Messages;
211 }());
212 var MessagesModule = /** @class */ (function () {
213 function MessagesModule() {
214 }
215 MessagesModule = __decorate([
216 core.NgModule({
217 imports: [common.CommonModule],
218 exports: [Messages],
219 declarations: [Messages]
220 })
221 ], MessagesModule);
222 return MessagesModule;
223 }());
224
225 exports.Messages = Messages;
226 exports.MessagesModule = MessagesModule;
227
228 Object.defineProperty(exports, '__esModule', { value: true });
229
230})));
231//# sourceMappingURL=primeng-messages.umd.js.map