source: trip-planner-front/node_modules/primeng/fesm2015/primeng-button.mjs@ 8d391a1

Last change on this file since 8d391a1 was 59329aa, checked in by Ema <ema_spirova@…>, 3 years ago

adding photos

  • Property mode set to 100644
File size: 13.2 KB
Line 
1import * as i0 from '@angular/core';
2import { Directive, Input, EventEmitter, Component, ChangeDetectionStrategy, ViewEncapsulation, ContentChildren, Output, NgModule } from '@angular/core';
3import { DomHandler } from 'primeng/dom';
4import * as i2 from '@angular/common';
5import { CommonModule } from '@angular/common';
6import * as i1 from 'primeng/ripple';
7import { RippleModule } from 'primeng/ripple';
8import { PrimeTemplate } from 'primeng/api';
9
10class ButtonDirective {
11 constructor(el) {
12 this.el = el;
13 this.iconPos = 'left';
14 this.loadingIcon = "pi pi-spinner pi-spin";
15 this._loading = false;
16 }
17 ngAfterViewInit() {
18 this._initialStyleClass = this.el.nativeElement.className;
19 DomHandler.addMultipleClasses(this.el.nativeElement, this.getStyleClass());
20 if (this.icon || this.loading) {
21 this.createIconEl();
22 }
23 let labelElement = document.createElement("span");
24 if (this.icon && !this.label) {
25 labelElement.setAttribute('aria-hidden', 'true');
26 }
27 labelElement.className = 'p-button-label';
28 if (this.label)
29 labelElement.appendChild(document.createTextNode(this.label));
30 else
31 labelElement.innerHTML = '&nbsp;';
32 this.el.nativeElement.appendChild(labelElement);
33 this.initialized = true;
34 }
35 getStyleClass() {
36 let styleClass = 'p-button p-component';
37 if (this.icon && !this.label) {
38 styleClass = styleClass + ' p-button-icon-only';
39 }
40 if (this.loading) {
41 styleClass = styleClass + ' p-disabled p-button-loading';
42 if (!this.icon && this.label)
43 styleClass = styleClass + ' p-button-loading-label-only';
44 }
45 return styleClass;
46 }
47 setStyleClass() {
48 let styleClass = this.getStyleClass();
49 this.el.nativeElement.className = styleClass + ' ' + this._initialStyleClass;
50 }
51 createIconEl() {
52 let iconElement = document.createElement("span");
53 iconElement.className = 'p-button-icon';
54 iconElement.setAttribute("aria-hidden", "true");
55 let iconPosClass = this.label ? 'p-button-icon-' + this.iconPos : null;
56 if (iconPosClass) {
57 DomHandler.addClass(iconElement, iconPosClass);
58 }
59 let iconClass = this.getIconClass();
60 if (iconClass) {
61 DomHandler.addMultipleClasses(iconElement, iconClass);
62 }
63 let labelEl = DomHandler.findSingle(this.el.nativeElement, '.p-button-label');
64 if (labelEl)
65 this.el.nativeElement.insertBefore(iconElement, labelEl);
66 else
67 this.el.nativeElement.appendChild(iconElement);
68 }
69 getIconClass() {
70 return this.loading ? 'p-button-loading-icon ' + this.loadingIcon : this._icon;
71 }
72 setIconClass() {
73 let iconElement = DomHandler.findSingle(this.el.nativeElement, '.p-button-icon');
74 if (iconElement) {
75 if (this.iconPos)
76 iconElement.className = 'p-button-icon p-button-icon-' + this.iconPos + ' ' + this.getIconClass();
77 else
78 iconElement.className = 'p-button-icon ' + this.getIconClass();
79 }
80 else {
81 this.createIconEl();
82 }
83 }
84 removeIconElement() {
85 let iconElement = DomHandler.findSingle(this.el.nativeElement, '.p-button-icon');
86 this.el.nativeElement.removeChild(iconElement);
87 }
88 get label() {
89 return this._label;
90 }
91 set label(val) {
92 this._label = val;
93 if (this.initialized) {
94 DomHandler.findSingle(this.el.nativeElement, '.p-button-label').textContent = this._label || '&nbsp;';
95 if (this.loading || this.icon) {
96 this.setIconClass();
97 }
98 this.setStyleClass();
99 }
100 }
101 get icon() {
102 return this._icon;
103 }
104 set icon(val) {
105 this._icon = val;
106 if (this.initialized) {
107 this.setIconClass();
108 this.setStyleClass();
109 }
110 }
111 get loading() {
112 return this._loading;
113 }
114 set loading(val) {
115 this._loading = val;
116 if (this.initialized) {
117 if (this.loading || this.icon)
118 this.setIconClass();
119 else
120 this.removeIconElement();
121 this.setStyleClass();
122 }
123 }
124 ngOnDestroy() {
125 this.initialized = false;
126 }
127}
128ButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ButtonDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
129ButtonDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0", type: ButtonDirective, selector: "[pButton]", inputs: { iconPos: "iconPos", loadingIcon: "loadingIcon", label: "label", icon: "icon", loading: "loading" }, host: { classAttribute: "p-element" }, ngImport: i0 });
130i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ButtonDirective, decorators: [{
131 type: Directive,
132 args: [{
133 selector: '[pButton]',
134 host: {
135 'class': 'p-element'
136 }
137 }]
138 }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { iconPos: [{
139 type: Input
140 }], loadingIcon: [{
141 type: Input
142 }], label: [{
143 type: Input
144 }], icon: [{
145 type: Input
146 }], loading: [{
147 type: Input
148 }] } });
149class Button {
150 constructor() {
151 this.type = "button";
152 this.iconPos = 'left';
153 this.loading = false;
154 this.loadingIcon = "pi pi-spinner pi-spin";
155 this.onClick = new EventEmitter();
156 this.onFocus = new EventEmitter();
157 this.onBlur = new EventEmitter();
158 }
159 ngAfterContentInit() {
160 this.templates.forEach((item) => {
161 switch (item.getType()) {
162 case 'content':
163 this.contentTemplate = item.template;
164 break;
165 default:
166 this.contentTemplate = item.template;
167 break;
168 }
169 });
170 }
171 badgeStyleClass() {
172 return {
173 'p-badge p-component': true,
174 'p-badge-no-gutter': this.badge && String(this.badge).length === 1
175 };
176 }
177}
178Button.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: Button, deps: [], target: i0.ɵɵFactoryTarget.Component });
179Button.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: Button, selector: "p-button", inputs: { type: "type", iconPos: "iconPos", icon: "icon", badge: "badge", label: "label", disabled: "disabled", loading: "loading", loadingIcon: "loadingIcon", style: "style", styleClass: "styleClass", badgeClass: "badgeClass" }, outputs: { onClick: "onClick", onFocus: "onFocus", onBlur: "onBlur" }, host: { classAttribute: "p-element" }, queries: [{ propertyName: "templates", predicate: PrimeTemplate }], ngImport: i0, template: `
180 <button [attr.type]="type" [class]="styleClass" [ngStyle]="style" [disabled]="disabled || loading"
181 [ngClass]="{'p-button p-component':true,
182 'p-button-icon-only': (icon && !label),
183 'p-button-vertical': (iconPos === 'top' || iconPos === 'bottom') && label,
184 'p-disabled': this.disabled || this.loading,
185 'p-button-loading': this.loading,
186 'p-button-loading-label-only': this.loading && !this.icon && this.label}"
187 (click)="onClick.emit($event)" (focus)="onFocus.emit($event)" (blur)="onBlur.emit($event)" pRipple>
188 <ng-content></ng-content>
189 <ng-container *ngTemplateOutlet="contentTemplate"></ng-container>
190 <span [ngClass]="{'p-button-icon': true,
191 'p-button-icon-left': iconPos === 'left' && label,
192 'p-button-icon-right': iconPos === 'right' && label,
193 'p-button-icon-top': iconPos === 'top' && label,
194 'p-button-icon-bottom': iconPos === 'bottom' && label}"
195 [class]="loading ? 'p-button-loading-icon ' + loadingIcon : icon" *ngIf="!contentTemplate && (icon||loading)" [attr.aria-hidden]="true"></span>
196 <span class="p-button-label" [attr.aria-hidden]="icon && !label" *ngIf="!contentTemplate">{{label||'&nbsp;'}}</span>
197 <span [ngClass]="badgeStyleClass()" [class]="badgeClass" *ngIf="!contentTemplate && badge">{{badge}}</span>
198 </button>
199 `, isInline: true, directives: [{ type: i1.Ripple, selector: "[pRipple]" }, { type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
200i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: Button, decorators: [{
201 type: Component,
202 args: [{
203 selector: 'p-button',
204 template: `
205 <button [attr.type]="type" [class]="styleClass" [ngStyle]="style" [disabled]="disabled || loading"
206 [ngClass]="{'p-button p-component':true,
207 'p-button-icon-only': (icon && !label),
208 'p-button-vertical': (iconPos === 'top' || iconPos === 'bottom') && label,
209 'p-disabled': this.disabled || this.loading,
210 'p-button-loading': this.loading,
211 'p-button-loading-label-only': this.loading && !this.icon && this.label}"
212 (click)="onClick.emit($event)" (focus)="onFocus.emit($event)" (blur)="onBlur.emit($event)" pRipple>
213 <ng-content></ng-content>
214 <ng-container *ngTemplateOutlet="contentTemplate"></ng-container>
215 <span [ngClass]="{'p-button-icon': true,
216 'p-button-icon-left': iconPos === 'left' && label,
217 'p-button-icon-right': iconPos === 'right' && label,
218 'p-button-icon-top': iconPos === 'top' && label,
219 'p-button-icon-bottom': iconPos === 'bottom' && label}"
220 [class]="loading ? 'p-button-loading-icon ' + loadingIcon : icon" *ngIf="!contentTemplate && (icon||loading)" [attr.aria-hidden]="true"></span>
221 <span class="p-button-label" [attr.aria-hidden]="icon && !label" *ngIf="!contentTemplate">{{label||'&nbsp;'}}</span>
222 <span [ngClass]="badgeStyleClass()" [class]="badgeClass" *ngIf="!contentTemplate && badge">{{badge}}</span>
223 </button>
224 `,
225 changeDetection: ChangeDetectionStrategy.OnPush,
226 encapsulation: ViewEncapsulation.None,
227 host: {
228 'class': 'p-element'
229 }
230 }]
231 }], propDecorators: { type: [{
232 type: Input
233 }], iconPos: [{
234 type: Input
235 }], icon: [{
236 type: Input
237 }], badge: [{
238 type: Input
239 }], label: [{
240 type: Input
241 }], disabled: [{
242 type: Input
243 }], loading: [{
244 type: Input
245 }], loadingIcon: [{
246 type: Input
247 }], style: [{
248 type: Input
249 }], styleClass: [{
250 type: Input
251 }], badgeClass: [{
252 type: Input
253 }], templates: [{
254 type: ContentChildren,
255 args: [PrimeTemplate]
256 }], onClick: [{
257 type: Output
258 }], onFocus: [{
259 type: Output
260 }], onBlur: [{
261 type: Output
262 }] } });
263class ButtonModule {
264}
265ButtonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
266ButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ButtonModule, declarations: [ButtonDirective, Button], imports: [CommonModule, RippleModule], exports: [ButtonDirective, Button] });
267ButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ButtonModule, imports: [[CommonModule, RippleModule]] });
268i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: ButtonModule, decorators: [{
269 type: NgModule,
270 args: [{
271 imports: [CommonModule, RippleModule],
272 exports: [ButtonDirective, Button],
273 declarations: [ButtonDirective, Button]
274 }]
275 }] });
276
277/**
278 * Generated bundle index. Do not edit.
279 */
280
281export { Button, ButtonDirective, ButtonModule };
Note: See TracBrowser for help on using the repository browser.