@eurosat/buttons 12.0.0 → 14.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/eurosat-buttons.mjs +5 -0
- package/esm2020/lib/components/dialog-confirm/dialog-confirm.component.mjs +56 -0
- package/esm2020/lib/components/dialog-form/dialog-form.component.mjs +36 -0
- package/esm2020/lib/es-buttons.component.mjs +200 -0
- package/esm2020/lib/es-buttons.module.mjs +59 -0
- package/fesm2015/eurosat-buttons.mjs +342 -0
- package/fesm2015/eurosat-buttons.mjs.map +1 -0
- package/fesm2020/eurosat-buttons.mjs +342 -0
- package/fesm2020/eurosat-buttons.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/components/dialog-confirm/dialog-confirm.component.d.ts +3 -0
- package/lib/components/dialog-form/dialog-form.component.d.ts +3 -0
- package/lib/es-buttons.component.d.ts +3 -0
- package/lib/es-buttons.module.d.ts +16 -0
- package/package.json +25 -13
- package/bundles/eurosat-buttons.umd.js +0 -351
- package/bundles/eurosat-buttons.umd.js.map +0 -1
- package/bundles/eurosat-buttons.umd.min.js +0 -2
- package/bundles/eurosat-buttons.umd.min.js.map +0 -1
- package/esm2015/eurosat-buttons.js +0 -7
- package/esm2015/lib/components/dialog-confirm/dialog-confirm.component.js +0 -56
- package/esm2015/lib/components/dialog-form/dialog-form.component.js +0 -38
- package/esm2015/lib/es-buttons.component.js +0 -198
- package/esm2015/lib/es-buttons.module.js +0 -41
- package/eurosat-buttons.d.ts +0 -6
- package/eurosat-buttons.metadata.json +0 -1
- package/fesm2015/eurosat-buttons.js +0 -338
- package/fesm2015/eurosat-buttons.js.map +0 -1
- /package/{esm2015/lib/components/dialog-result.js → esm2020/lib/components/dialog-result.mjs} +0 -0
- /package/{esm2015/lib/model/es-button-action.js → esm2020/lib/model/es-button-action.mjs} +0 -0
- /package/{esm2015/lib/model/es-button-server-response.js → esm2020/lib/model/es-button-server-response.mjs} +0 -0
- /package/{esm2015/lib/model/es-button.interface.js → esm2020/lib/model/es-button.interface.mjs} +0 -0
- /package/{esm2015/public_api.js → esm2020/public_api.mjs} +0 -0
|
@@ -1,351 +0,0 @@
|
|
|
1
|
-
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/router'), require('@angular/material/snack-bar'), require('@eurosat/snackbar'), require('@eurosat/http'), require('@eurosat/icon'), require('@angular/material/dialog'), require('@eurosat/dialog'), require('@eurosat/form'), require('rxjs/internal/operators'), require('@angular/common'), require('@angular/material/button'), require('@angular/material/menu'), require('@angular/material/tooltip'), require('@ngx-translate/core')) :
|
|
3
|
-
typeof define === 'function' && define.amd ? define('@eurosat/buttons', ['exports', '@angular/core', '@angular/router', '@angular/material/snack-bar', '@eurosat/snackbar', '@eurosat/http', '@eurosat/icon', '@angular/material/dialog', '@eurosat/dialog', '@eurosat/form', 'rxjs/internal/operators', '@angular/common', '@angular/material/button', '@angular/material/menu', '@angular/material/tooltip', '@ngx-translate/core'], factory) :
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.eurosat = global.eurosat || {}, global.eurosat.buttons = {}), global.ng.core, global.ng.router, global.ng.material.snackBar, global.snackbar, global.http, global.icon, global.ng.material.dialog, global.dialog$1, global.form, global.rxjs['internal/operators'], global.ng.common, global.ng.material.button, global.ng.material.menu, global.ng.material.tooltip, global.core$1));
|
|
5
|
-
}(this, (function (exports, core, router, snackBar, snackbar, http, icon, dialog, dialog$1, form, operators, common, button, menu, tooltip, core$1) { 'use strict';
|
|
6
|
-
|
|
7
|
-
var EsButtonAction = /** @class */ (function () {
|
|
8
|
-
function EsButtonAction() {
|
|
9
|
-
}
|
|
10
|
-
return EsButtonAction;
|
|
11
|
-
}());
|
|
12
|
-
EsButtonAction.ACTION_DIALOG_CONFIRM = 'dialog-confirm';
|
|
13
|
-
EsButtonAction.ACTION_DIALOG_DELETE = 'dialog-delete';
|
|
14
|
-
EsButtonAction.ACTION_DIALOG_FORM = 'dialog-form';
|
|
15
|
-
EsButtonAction.ACTION_CARD_CONTENT_FORM = 'card-content-form';
|
|
16
|
-
EsButtonAction.ACTION_CARD_CONTENT_WIZARD = 'card-content-wizard'; // todo asi zrusit
|
|
17
|
-
EsButtonAction.ACTION_CHANGE_CARD_CONTENT = 'change-card-content'; // mozna zrusit ? je kuli neemitu clicku na button
|
|
18
|
-
EsButtonAction.ACTION_DOWNLOAD = 'download';
|
|
19
|
-
EsButtonAction.ACTION_REQUEST = 'request';
|
|
20
|
-
EsButtonAction.ACTION_ROUTER_NAVIGATE = 'router-navigate';
|
|
21
|
-
EsButtonAction.ACTION_WINDOW_LOCATION = 'open-link';
|
|
22
|
-
|
|
23
|
-
var DialogConfirmComponent = /** @class */ (function () {
|
|
24
|
-
function DialogConfirmComponent(dialogRef, snackBar, ds) {
|
|
25
|
-
this.dialogRef = dialogRef;
|
|
26
|
-
this.snackBar = snackBar;
|
|
27
|
-
this.ds = ds;
|
|
28
|
-
this.submit = new core.EventEmitter();
|
|
29
|
-
this.activeRequest = false;
|
|
30
|
-
var data = this.ds.getData();
|
|
31
|
-
this.message = data.message;
|
|
32
|
-
this.url = data.url;
|
|
33
|
-
}
|
|
34
|
-
DialogConfirmComponent.prototype.confirm = function () {
|
|
35
|
-
var _this = this;
|
|
36
|
-
this.activeRequest = true;
|
|
37
|
-
this.ds.httpPost(this.url, null).subscribe(function (response) {
|
|
38
|
-
_this.activeRequest = false;
|
|
39
|
-
var config = new snackBar.MatSnackBarConfig();
|
|
40
|
-
config.duration = 2000;
|
|
41
|
-
if (response.type === form.EsFormResponseMessageType.TYPE_OK) {
|
|
42
|
-
config.panelClass = snackbar.EsSnackBarPanelClass.SUCCESS;
|
|
43
|
-
_this.submit.emit();
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
config.panelClass = snackbar.EsSnackBarPanelClass.DANGER;
|
|
47
|
-
}
|
|
48
|
-
_this.snackBar.open(response.message, null, config);
|
|
49
|
-
var result = {
|
|
50
|
-
clickedYes: true,
|
|
51
|
-
serverResponse: response
|
|
52
|
-
};
|
|
53
|
-
_this.dialogRef.close(result);
|
|
54
|
-
});
|
|
55
|
-
};
|
|
56
|
-
return DialogConfirmComponent;
|
|
57
|
-
}());
|
|
58
|
-
DialogConfirmComponent.decorators = [
|
|
59
|
-
{ type: core.Component, args: [{
|
|
60
|
-
selector: 'dialog-confirm',
|
|
61
|
-
template: "<p>{{message}}</p>\n<div class=\"button-container\">\n <mat-spinner *ngIf=\"activeRequest\" [diameter]=\"36\"></mat-spinner>\n <ng-container *ngIf=\"!activeRequest\">\n <button type=\"button\"\n color=\"accent\"\n mat-raised-button\n (click)=\"confirm()\"> {{'an.common.ano' | translate}}\n </button>\n <button type=\"button\"\n color=\"accent\"\n mat-raised-button\n (click)=\"dialogRef.close({clickedYes: false})\">{{'an.common.ne' | translate}}\n </button>\n </ng-container>\n</div>\n",
|
|
62
|
-
styles: ["button:not(:last-child){margin-right:20px}.button-container{min-height:36px;min-width:196px;position:relative;text-align:center}.button-container mat-spinner{position:absolute!important;left:calc(50% - 18px);top:calc(50% - 18px)}"]
|
|
63
|
-
},] }
|
|
64
|
-
];
|
|
65
|
-
/** @nocollapse */
|
|
66
|
-
DialogConfirmComponent.ctorParameters = function () { return [
|
|
67
|
-
{ type: dialog.MatDialogRef },
|
|
68
|
-
{ type: snackBar.MatSnackBar },
|
|
69
|
-
{ type: dialog$1.EsDialogService }
|
|
70
|
-
]; };
|
|
71
|
-
DialogConfirmComponent.propDecorators = {
|
|
72
|
-
submit: [{ type: core.Output }]
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
var DialogFormComponent = /** @class */ (function () {
|
|
76
|
-
function DialogFormComponent(dialogRef, ds) {
|
|
77
|
-
this.dialogRef = dialogRef;
|
|
78
|
-
this.cols = 1;
|
|
79
|
-
this.maxFormHeight = window.innerHeight - 60;
|
|
80
|
-
var data = ds.getData();
|
|
81
|
-
this.formUrl = data.url;
|
|
82
|
-
}
|
|
83
|
-
DialogFormComponent.prototype.submit = function (value) {
|
|
84
|
-
// sem se to dostane jen pri success ulozeni formu
|
|
85
|
-
var result = {
|
|
86
|
-
clickedYes: true
|
|
87
|
-
};
|
|
88
|
-
this.dialogRef.close(result);
|
|
89
|
-
// pokud bysme chteli form.value
|
|
90
|
-
// this.dialogRef.close(value);
|
|
91
|
-
// console.log('form value v parent', value);
|
|
92
|
-
};
|
|
93
|
-
DialogFormComponent.prototype.getWindowHeight = function () {
|
|
94
|
-
this.maxFormHeight = window.innerHeight - 60;
|
|
95
|
-
};
|
|
96
|
-
return DialogFormComponent;
|
|
97
|
-
}());
|
|
98
|
-
DialogFormComponent.decorators = [
|
|
99
|
-
{ type: core.Component, args: [{
|
|
100
|
-
selector: 'dialog-form',
|
|
101
|
-
template: "<div class=\"es-form-container\" [style.max-height]=\"(maxFormHeight - 106) + 'px'\">\n <es-form [formUrl]=\"formUrl\"\n [dynamicForm]=\"esForm\"\n [cols]=\"cols\"\n (submit)=\"submit($event)\">\n </es-form>\n</div>\n",
|
|
102
|
-
styles: [".es-form-container{overflow:auto;margin-top:24px;position:relative}"]
|
|
103
|
-
},] }
|
|
104
|
-
];
|
|
105
|
-
/** @nocollapse */
|
|
106
|
-
DialogFormComponent.ctorParameters = function () { return [
|
|
107
|
-
{ type: dialog.MatDialogRef },
|
|
108
|
-
{ type: dialog$1.EsDialogService }
|
|
109
|
-
]; };
|
|
110
|
-
|
|
111
|
-
// todo translates
|
|
112
|
-
var EsButtonsComponent = /** @class */ (function () {
|
|
113
|
-
function EsButtonsComponent(router, dialog, snackBar, http) {
|
|
114
|
-
this.router = router;
|
|
115
|
-
this.dialog = dialog;
|
|
116
|
-
this.snackBar = snackBar;
|
|
117
|
-
this.http = http;
|
|
118
|
-
this.parentWidth = 40; // default 40 = 1 button
|
|
119
|
-
this.buttons = []; // normal input
|
|
120
|
-
this.forceMenu = false; // pokud chci zobrazit ... menu i pro jeden buttonek, na realtimu pouzito
|
|
121
|
-
this.buttonClick = new core.EventEmitter();
|
|
122
|
-
this.reload = new core.EventEmitter();
|
|
123
|
-
this.dialogCreated = new core.EventEmitter();
|
|
124
|
-
this.serverResponse = new core.EventEmitter();
|
|
125
|
-
this.menuVisible = false;
|
|
126
|
-
this.buttonWidth = 40; // todo ViewChild, sirka buttonu ?
|
|
127
|
-
this.visibleButtons = [];
|
|
128
|
-
this.hiddenButtons = [];
|
|
129
|
-
this.esIcon = icon.EsIcon;
|
|
130
|
-
this._width = 0;
|
|
131
|
-
}
|
|
132
|
-
EsButtonsComponent.prototype.showMenu = function () {
|
|
133
|
-
return this.getHiddenButtons() && this.getHiddenButtons().length > 0 && this.getHiddenButtons().length !== 1;
|
|
134
|
-
};
|
|
135
|
-
EsButtonsComponent.prototype.countVisible = function () {
|
|
136
|
-
return Math.floor((this._width) / this.buttonWidth) - 1;
|
|
137
|
-
};
|
|
138
|
-
EsButtonsComponent.prototype.getVisibleButtons = function () {
|
|
139
|
-
var _this = this;
|
|
140
|
-
if (this.buttons && this.buttons.length > 0) {
|
|
141
|
-
return this.buttons.filter(function (button) {
|
|
142
|
-
if (_this.buttons.indexOf(button) < _this.countVisible()
|
|
143
|
-
|| (_this.getHiddenButtons().length === 1 && !_this.forceMenu)) {
|
|
144
|
-
return true;
|
|
145
|
-
}
|
|
146
|
-
});
|
|
147
|
-
}
|
|
148
|
-
};
|
|
149
|
-
EsButtonsComponent.prototype.getHiddenButtons = function () {
|
|
150
|
-
var _this = this;
|
|
151
|
-
if (this.buttons && this.buttons.length > 0) {
|
|
152
|
-
return this.buttons.filter(function (button) {
|
|
153
|
-
if (_this.buttons.indexOf(button) >= _this.countVisible()) {
|
|
154
|
-
return true;
|
|
155
|
-
}
|
|
156
|
-
});
|
|
157
|
-
}
|
|
158
|
-
};
|
|
159
|
-
EsButtonsComponent.prototype.ngOnChanges = function (simpleChange) {
|
|
160
|
-
if (simpleChange['parentWidth']) {
|
|
161
|
-
if (this.parentWidth > 0) {
|
|
162
|
-
this._width = this.parentWidth;
|
|
163
|
-
this.recalculateButtons();
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
if (simpleChange['buttons']) {
|
|
167
|
-
if (typeof this.buttons === 'string') {
|
|
168
|
-
this.buttons = JSON.parse(this.buttons);
|
|
169
|
-
}
|
|
170
|
-
this.recalculateButtons();
|
|
171
|
-
}
|
|
172
|
-
};
|
|
173
|
-
EsButtonsComponent.prototype.recalculateButtons = function () {
|
|
174
|
-
this.menuVisible = this.showMenu();
|
|
175
|
-
this.visibleButtons = this.getVisibleButtons();
|
|
176
|
-
this.hiddenButtons = this.getHiddenButtons();
|
|
177
|
-
};
|
|
178
|
-
EsButtonsComponent.prototype.handleAction = function (button) {
|
|
179
|
-
var _this = this;
|
|
180
|
-
if (button.action === EsButtonAction.ACTION_DIALOG_CONFIRM) {
|
|
181
|
-
this.openConfirm(button);
|
|
182
|
-
}
|
|
183
|
-
if (button.action === EsButtonAction.ACTION_DIALOG_DELETE) {
|
|
184
|
-
this.openDelete(button);
|
|
185
|
-
}
|
|
186
|
-
if (button.action === EsButtonAction.ACTION_DIALOG_FORM) {
|
|
187
|
-
this.openForm(button);
|
|
188
|
-
}
|
|
189
|
-
if (button.action === EsButtonAction.ACTION_DOWNLOAD) {
|
|
190
|
-
this.http.get(button.url, { responseType: 'blob', observe: 'response' }).subscribe(function (response) {
|
|
191
|
-
var filename = response.headers.get('Content-Disposition').split('filename=')[1];
|
|
192
|
-
if (window.navigator && window.navigator.msSaveOrOpenBlob) {
|
|
193
|
-
window.navigator.msSaveBlob(response.body, filename);
|
|
194
|
-
}
|
|
195
|
-
else {
|
|
196
|
-
var link = document.createElement('a');
|
|
197
|
-
link.setAttribute('href', window.URL.createObjectURL(response.body));
|
|
198
|
-
link.setAttribute('download', filename);
|
|
199
|
-
link.style.visibility = 'hidden';
|
|
200
|
-
document.body.appendChild(link);
|
|
201
|
-
link.click();
|
|
202
|
-
document.body.removeChild(link);
|
|
203
|
-
}
|
|
204
|
-
});
|
|
205
|
-
}
|
|
206
|
-
if (button.action === EsButtonAction.ACTION_REQUEST) {
|
|
207
|
-
this.http.get(button.url).subscribe(function (response) {
|
|
208
|
-
var config = new snackBar.MatSnackBarConfig();
|
|
209
|
-
config.duration = 2000;
|
|
210
|
-
if (response.type === form.EsFormResponseMessageType.TYPE_OK) {
|
|
211
|
-
config.panelClass = snackbar.EsSnackBarPanelClass.SUCCESS;
|
|
212
|
-
}
|
|
213
|
-
else {
|
|
214
|
-
config.panelClass = snackbar.EsSnackBarPanelClass.DANGER;
|
|
215
|
-
}
|
|
216
|
-
_this.snackBar.open(response.message, null, config);
|
|
217
|
-
_this.reload.emit(true);
|
|
218
|
-
_this.serverResponse.emit({ button: button, response: response });
|
|
219
|
-
});
|
|
220
|
-
}
|
|
221
|
-
if (button.action === EsButtonAction.ACTION_ROUTER_NAVIGATE) {
|
|
222
|
-
this.router.navigateByUrl(button.url);
|
|
223
|
-
}
|
|
224
|
-
if (button.action === EsButtonAction.ACTION_WINDOW_LOCATION) {
|
|
225
|
-
window.location.href = button.url;
|
|
226
|
-
}
|
|
227
|
-
this.buttonClick.emit(button);
|
|
228
|
-
};
|
|
229
|
-
// handleSubMenuAction(button: EsButton) {
|
|
230
|
-
// // todo asi predelat na md2 menu
|
|
231
|
-
// // todo nevim jestli se zpropaguje click kdyz je to zanoreny pres es-card-header
|
|
232
|
-
// this.buttonClick.emit(button);
|
|
233
|
-
// }
|
|
234
|
-
EsButtonsComponent.prototype.openForm = function (button) {
|
|
235
|
-
var _this = this;
|
|
236
|
-
var config = {
|
|
237
|
-
title: button.title,
|
|
238
|
-
data: {
|
|
239
|
-
url: button.url
|
|
240
|
-
}
|
|
241
|
-
};
|
|
242
|
-
var dialogRef = this.dialog.open(DialogFormComponent, config);
|
|
243
|
-
this.dialogCreated.emit(dialogRef);
|
|
244
|
-
dialogRef.afterClosed().pipe(operators.take(1)).subscribe(function (res) {
|
|
245
|
-
if (res && res.clickedYes) {
|
|
246
|
-
_this.reload.emit(true);
|
|
247
|
-
if (res.serverResponse) {
|
|
248
|
-
_this.serverResponse.emit({ button: button, response: res.serverResponse });
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
});
|
|
252
|
-
};
|
|
253
|
-
EsButtonsComponent.prototype.openDelete = function (button) {
|
|
254
|
-
this.openConfirm(button);
|
|
255
|
-
};
|
|
256
|
-
EsButtonsComponent.prototype.openConfirm = function (button) {
|
|
257
|
-
var _this = this;
|
|
258
|
-
var config = {
|
|
259
|
-
title: button.title,
|
|
260
|
-
data: {
|
|
261
|
-
message: button.message,
|
|
262
|
-
url: button.url
|
|
263
|
-
}
|
|
264
|
-
};
|
|
265
|
-
var dialogRef = this.dialog.open(DialogConfirmComponent, config);
|
|
266
|
-
this.dialogCreated.emit(dialogRef);
|
|
267
|
-
dialogRef.afterClosed().pipe(operators.take(1)).subscribe(function (res) {
|
|
268
|
-
if (res && res.clickedYes) {
|
|
269
|
-
_this.reload.emit(true);
|
|
270
|
-
if (res.serverResponse) {
|
|
271
|
-
_this.serverResponse.emit({ button: button, response: res.serverResponse });
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
|
-
});
|
|
275
|
-
};
|
|
276
|
-
return EsButtonsComponent;
|
|
277
|
-
}());
|
|
278
|
-
EsButtonsComponent.decorators = [
|
|
279
|
-
{ type: core.Component, args: [{
|
|
280
|
-
selector: 'es-buttons',
|
|
281
|
-
template: "<ng-container *ngIf=\"visibleButtons && visibleButtons.length > 0\">\n <button *ngIf=\"visibleButtons.length > 0\"\n mat-icon-button\n [disabled]=\"visibleButtons[0].disabled === true\"\n [matTooltip]=\"visibleButtons[0].tooltip? visibleButtons[0].tooltip : visibleButtons[0].title\"\n (click)=\"handleAction(visibleButtons[0])\">\n <es-icon [color]=\"visibleButtons[0].color\"\n [themeColor]=\"visibleButtons[0].themeColor\"\n [icon]=\"visibleButtons[0].icon\"></es-icon>\n </button>\n <button *ngIf=\"visibleButtons.length > 1\"\n mat-icon-button\n [disabled]=\"visibleButtons[1].disabled === true\"\n [matTooltip]=\"visibleButtons[1].tooltip? visibleButtons[1].tooltip : visibleButtons[1].title\"\n (click)=\"handleAction(visibleButtons[1])\">\n <es-icon [color]=\"visibleButtons[1].color\"\n [themeColor]=\"visibleButtons[1].themeColor\"\n [icon]=\"visibleButtons[1].icon\"></es-icon>\n </button>\n <button *ngIf=\"visibleButtons.length > 2\"\n mat-icon-button\n [disabled]=\"visibleButtons[2].disabled === true\"\n [matTooltip]=\"visibleButtons[2].tooltip? visibleButtons[2].tooltip : visibleButtons[2].title\"\n (click)=\"handleAction(visibleButtons[2])\">\n <es-icon [color]=\"visibleButtons[2].color\"\n [themeColor]=\"visibleButtons[2].themeColor\"\n [icon]=\"visibleButtons[2].icon\"></es-icon>\n </button>\n <button *ngIf=\"visibleButtons.length > 3\"\n mat-icon-button\n [disabled]=\"visibleButtons[3].disabled === true\"\n [matTooltip]=\"visibleButtons[3].tooltip? visibleButtons[3].tooltip : visibleButtons[3].title\"\n (click)=\"handleAction(visibleButtons[3])\">\n <es-icon [color]=\"visibleButtons[3].color\"\n [themeColor]=\"visibleButtons[3].themeColor\"\n [icon]=\"visibleButtons[3].icon\"></es-icon>\n </button>\n <button *ngIf=\"visibleButtons.length > 4\"\n mat-icon-button\n [disabled]=\"visibleButtons[4].disabled === true\"\n [matTooltip]=\"visibleButtons[4].tooltip? visibleButtons[4].tooltip : visibleButtons[4].title\"\n (click)=\"handleAction(visibleButtons[4])\">\n <es-icon [color]=\"visibleButtons[4].color\"\n [themeColor]=\"visibleButtons[4].themeColor\"\n [icon]=\"visibleButtons[4].icon\"></es-icon>\n </button>\n <button *ngIf=\"visibleButtons.length > 5\"\n mat-icon-button\n [disabled]=\"visibleButtons[5].disabled === true\"\n [matTooltip]=\"visibleButtons[5].tooltip? visibleButtons[5].tooltip : visibleButtons[5].title\"\n (click)=\"handleAction(visibleButtons[5])\">\n <es-icon [color]=\"visibleButtons[5].color\"\n [themeColor]=\"visibleButtons[5].themeColor\"\n [icon]=\"visibleButtons[5].icon\"></es-icon>\n </button>\n <button *ngIf=\"visibleButtons.length > 6\"\n mat-icon-button\n [disabled]=\"visibleButtons[6].disabled === true\"\n [matTooltip]=\"visibleButtons[6].tooltip? visibleButtons[6].tooltip : visibleButtons[6].title\"\n (click)=\"handleAction(visibleButtons[6])\">\n <es-icon [color]=\"visibleButtons[6].color\"\n [themeColor]=\"visibleButtons[6].themeColor\"\n [icon]=\"visibleButtons[6].icon\"></es-icon>\n </button>\n <button *ngIf=\"visibleButtons.length > 7\"\n mat-icon-button\n [disabled]=\"visibleButtons[7].disabled === true\"\n [matTooltip]=\"visibleButtons[7].tooltip? visibleButtons[7].tooltip : visibleButtons[7].title\"\n (click)=\"handleAction(visibleButtons[7])\">\n <es-icon [color]=\"visibleButtons[7].color\"\n [themeColor]=\"visibleButtons[7].themeColor\"\n [icon]=\"visibleButtons[7].icon\"></es-icon>\n </button>\n <button *ngIf=\"visibleButtons.length > 8\"\n mat-icon-button\n [disabled]=\"visibleButtons[8].disabled === true\"\n [matTooltip]=\"visibleButtons[8].tooltip? visibleButtons[8].tooltip : visibleButtons[8].title\"\n (click)=\"handleAction(visibleButtons[8])\">\n <es-icon [color]=\"visibleButtons[8].color\"\n [themeColor]=\"visibleButtons[8].themeColor\"\n [icon]=\"visibleButtons[8].icon\"></es-icon>\n </button>\n <button *ngIf=\"visibleButtons.length > 9\"\n mat-icon-button\n [disabled]=\"visibleButtons[9].disabled === true\"\n [matTooltip]=\"visibleButtons[9].tooltip? visibleButtons[9].tooltip : visibleButtons[9].title\"\n (click)=\"handleAction(visibleButtons[9])\">\n <es-icon [color]=\"visibleButtons[9].color\"\n [themeColor]=\"visibleButtons[9].themeColor\"\n [icon]=\"visibleButtons[9].icon\"></es-icon>\n </button>\n</ng-container>\n\n\n<button *ngIf=\"menuVisible || forceMenu\"\n mat-icon-button\n [matMenuTriggerFor]=\"menu\"\n [matTooltip]=\"'an.more' | translate\">\n <es-icon [icon]=\"esIcon.MORE_VERT\"></es-icon>\n</button>\n\n\n<mat-menu #menu=\"matMenu\"\n [overlapTrigger]=\"false\"\n yPosition=\"below\"\n xPosition=\"before\">\n <ng-container *ngIf=\"hiddenButtons && hiddenButtons.length > 0\">\n <button *ngIf=\"hiddenButtons.length > 0\"\n mat-menu-item\n [disabled]=\"hiddenButtons[0].disabled === true\"\n (click)=\"handleAction(hiddenButtons[0])\">\n <es-icon [color]=\"hiddenButtons[0].color\"\n [themeColor]=\"hiddenButtons[0].themeColor\"\n [icon]=\"hiddenButtons[0].icon\"></es-icon>\n <span>{{hiddenButtons[0].title}}</span>\n </button>\n <button *ngIf=\"hiddenButtons.length > 1\"\n mat-menu-item\n [disabled]=\"hiddenButtons[1].disabled === true\"\n (click)=\"handleAction(hiddenButtons[1])\">\n <es-icon [color]=\"hiddenButtons[1].color\"\n [themeColor]=\"hiddenButtons[1].themeColor\"\n [icon]=\"hiddenButtons[1].icon\"></es-icon>\n <span>{{hiddenButtons[1].title}}</span>\n </button>\n <button *ngIf=\"hiddenButtons.length > 2\"\n mat-menu-item\n [disabled]=\"hiddenButtons[2].disabled === true\"\n (click)=\"handleAction(hiddenButtons[2])\">\n <es-icon [color]=\"hiddenButtons[2].color\"\n [themeColor]=\"hiddenButtons[2].themeColor\"\n [icon]=\"hiddenButtons[2].icon\"></es-icon>\n <span>{{hiddenButtons[2].title}}</span>\n </button>\n <button *ngIf=\"hiddenButtons.length > 3\"\n mat-menu-item\n [disabled]=\"hiddenButtons[3].disabled === true\"\n (click)=\"handleAction(hiddenButtons[3])\">\n <es-icon [color]=\"hiddenButtons[3].color\"\n [themeColor]=\"hiddenButtons[3].themeColor\"\n [icon]=\"hiddenButtons[3].icon\"></es-icon>\n <span>{{hiddenButtons[3].title}}</span>\n </button>\n <button *ngIf=\"hiddenButtons.length > 4\"\n mat-menu-item\n [disabled]=\"hiddenButtons[4].disabled === true\"\n (click)=\"handleAction(hiddenButtons[4])\">\n <es-icon [color]=\"hiddenButtons[4].color\"\n [themeColor]=\"hiddenButtons[4].themeColor\"\n [icon]=\"hiddenButtons[4].icon\"></es-icon>\n <span>{{hiddenButtons[4].title}}</span>\n </button>\n <button *ngIf=\"hiddenButtons.length > 5\"\n mat-menu-item\n [disabled]=\"hiddenButtons[5].disabled === true\"\n (click)=\"handleAction(hiddenButtons[5])\">\n <es-icon [color]=\"hiddenButtons[5].color\"\n [themeColor]=\"hiddenButtons[5].themeColor\"\n [icon]=\"hiddenButtons[5].icon\"></es-icon>\n <span>{{hiddenButtons[5].title}}</span>\n </button>\n <button *ngIf=\"hiddenButtons.length > 6\"\n mat-menu-item\n [disabled]=\"hiddenButtons[6].disabled === true\"\n (click)=\"handleAction(hiddenButtons[6])\">\n <es-icon [color]=\"hiddenButtons[6].color\"\n [themeColor]=\"hiddenButtons[6].themeColor\"\n [icon]=\"hiddenButtons[6].icon\"></es-icon>\n <span>{{hiddenButtons[6].title}}</span>\n </button>\n <button *ngIf=\"hiddenButtons.length > 7\"\n mat-menu-item\n [disabled]=\"hiddenButtons[7].disabled === true\"\n (click)=\"handleAction(hiddenButtons[7])\">\n <es-icon [color]=\"hiddenButtons[7].color\"\n [themeColor]=\"hiddenButtons[7].themeColor\"\n [icon]=\"hiddenButtons[7].icon\"></es-icon>\n <span>{{hiddenButtons[7].title}}</span>\n </button>\n <button *ngIf=\"hiddenButtons.length > 8\"\n mat-menu-item\n [disabled]=\"hiddenButtons[8].disabled === true\"\n (click)=\"handleAction(hiddenButtons[8])\">\n <es-icon [color]=\"hiddenButtons[8].color\"\n [themeColor]=\"hiddenButtons[8].themeColor\"\n [icon]=\"hiddenButtons[8].icon\"></es-icon>\n <span>{{hiddenButtons[8].title}}</span>\n </button>\n <button *ngIf=\"hiddenButtons.length > 9\"\n mat-menu-item\n [disabled]=\"hiddenButtons[9].disabled === true\"\n (click)=\"handleAction(hiddenButtons[9])\">\n <es-icon [color]=\"hiddenButtons[9].color\"\n [themeColor]=\"hiddenButtons[9].themeColor\"\n [icon]=\"hiddenButtons[9].icon\"></es-icon>\n <span>{{hiddenButtons[9].title}}</span>\n </button>\n </ng-container>\n</mat-menu>\n",
|
|
282
|
-
changeDetection: core.ChangeDetectionStrategy.OnPush,
|
|
283
|
-
styles: [":host{float:right}"]
|
|
284
|
-
},] }
|
|
285
|
-
];
|
|
286
|
-
/** @nocollapse */
|
|
287
|
-
EsButtonsComponent.ctorParameters = function () { return [
|
|
288
|
-
{ type: router.Router },
|
|
289
|
-
{ type: dialog$1.EsDialogService },
|
|
290
|
-
{ type: snackBar.MatSnackBar },
|
|
291
|
-
{ type: http.HttpService }
|
|
292
|
-
]; };
|
|
293
|
-
EsButtonsComponent.propDecorators = {
|
|
294
|
-
parentWidth: [{ type: core.Input }],
|
|
295
|
-
buttons: [{ type: core.Input }],
|
|
296
|
-
forceMenu: [{ type: core.Input }],
|
|
297
|
-
buttonClick: [{ type: core.Output }],
|
|
298
|
-
reload: [{ type: core.Output }],
|
|
299
|
-
dialogCreated: [{ type: core.Output }],
|
|
300
|
-
serverResponse: [{ type: core.Output }]
|
|
301
|
-
};
|
|
302
|
-
|
|
303
|
-
var EsButtonsModule = /** @class */ (function () {
|
|
304
|
-
function EsButtonsModule() {
|
|
305
|
-
}
|
|
306
|
-
return EsButtonsModule;
|
|
307
|
-
}());
|
|
308
|
-
EsButtonsModule.decorators = [
|
|
309
|
-
{ type: core.NgModule, args: [{
|
|
310
|
-
imports: [
|
|
311
|
-
common.CommonModule,
|
|
312
|
-
button.MatButtonModule,
|
|
313
|
-
tooltip.MatTooltipModule,
|
|
314
|
-
menu.MatMenuModule,
|
|
315
|
-
snackBar.MatSnackBarModule,
|
|
316
|
-
core$1.TranslateModule.forChild(),
|
|
317
|
-
icon.EsIconModule,
|
|
318
|
-
dialog$1.EsDialogModule,
|
|
319
|
-
form.EsFormModule,
|
|
320
|
-
],
|
|
321
|
-
declarations: [
|
|
322
|
-
EsButtonsComponent,
|
|
323
|
-
DialogConfirmComponent,
|
|
324
|
-
DialogFormComponent,
|
|
325
|
-
],
|
|
326
|
-
exports: [EsButtonsComponent],
|
|
327
|
-
entryComponents: [
|
|
328
|
-
DialogConfirmComponent,
|
|
329
|
-
DialogFormComponent,
|
|
330
|
-
],
|
|
331
|
-
},] }
|
|
332
|
-
];
|
|
333
|
-
|
|
334
|
-
/*
|
|
335
|
-
* Public API Surface of es-buttons
|
|
336
|
-
*/
|
|
337
|
-
|
|
338
|
-
/**
|
|
339
|
-
* Generated bundle index. Do not edit.
|
|
340
|
-
*/
|
|
341
|
-
|
|
342
|
-
exports.EsButtonAction = EsButtonAction;
|
|
343
|
-
exports.EsButtonsComponent = EsButtonsComponent;
|
|
344
|
-
exports.EsButtonsModule = EsButtonsModule;
|
|
345
|
-
exports.ɵa = DialogConfirmComponent;
|
|
346
|
-
exports.ɵb = DialogFormComponent;
|
|
347
|
-
|
|
348
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
349
|
-
|
|
350
|
-
})));
|
|
351
|
-
//# sourceMappingURL=eurosat-buttons.umd.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"eurosat-buttons.umd.js","sources":["../../../projects/buttons/src/lib/model/es-button-action.ts","../../../projects/buttons/src/lib/components/dialog-confirm/dialog-confirm.component.ts","../../../projects/buttons/src/lib/components/dialog-form/dialog-form.component.ts","../../../projects/buttons/src/lib/es-buttons.component.ts","../../../projects/buttons/src/lib/es-buttons.module.ts","../../../projects/buttons/src/public_api.ts","../../../projects/buttons/src/eurosat-buttons.ts"],"sourcesContent":["export class EsButtonAction {\n\n public static ACTION_DIALOG_CONFIRM = 'dialog-confirm';\n public static ACTION_DIALOG_DELETE = 'dialog-delete';\n public static ACTION_DIALOG_FORM = 'dialog-form';\n public static ACTION_CARD_CONTENT_FORM = 'card-content-form';\n public static ACTION_CARD_CONTENT_WIZARD = 'card-content-wizard'; // todo asi zrusit\n public static ACTION_CHANGE_CARD_CONTENT = 'change-card-content'; // mozna zrusit ? je kuli neemitu clicku na button\n public static ACTION_DOWNLOAD = 'download';\n public static ACTION_REQUEST = 'request';\n public static ACTION_ROUTER_NAVIGATE = 'router-navigate';\n public static ACTION_WINDOW_LOCATION = 'open-link';\n}\n","import {Component, EventEmitter, Output} from '@angular/core';\nimport {MatDialogRef} from '@angular/material/dialog';\nimport {MatSnackBar, MatSnackBarConfig} from '@angular/material/snack-bar';\nimport {EsSnackBarPanelClass} from '@eurosat/snackbar';\nimport {EsDialogService} from '@eurosat/dialog';\nimport { DialogResult } from '../dialog-result';\nimport { EsFormResponseMessage, EsFormResponseMessageType } from '@eurosat/form';\n\n\n@Component({\n selector: 'dialog-confirm',\n templateUrl: './dialog-confirm.component.html',\n styleUrls: ['./dialog-confirm.component.scss']\n})\nexport class DialogConfirmComponent {\n\n @Output() submit: EventEmitter<any> = new EventEmitter<any>();\n public message: string;\n public url: string;\n activeRequest = false;\n\n constructor(\n public dialogRef: MatDialogRef<DialogConfirmComponent>,\n private snackBar: MatSnackBar,\n private ds: EsDialogService\n ) {\n const data = this.ds.getData();\n this.message = data.message;\n this.url = data.url;\n }\n\n confirm() {\n this.activeRequest = true;\n this.ds.httpPost(this.url, null).subscribe((response: EsFormResponseMessage) => {\n this.activeRequest = false;\n const config = new MatSnackBarConfig();\n config.duration = 2000;\n if (response.type === EsFormResponseMessageType.TYPE_OK) {\n config.panelClass = EsSnackBarPanelClass.SUCCESS;\n this.submit.emit();\n } else {\n config.panelClass = EsSnackBarPanelClass.DANGER;\n }\n this.snackBar.open(response.message, null, config);\n\n const result: DialogResult = {\n clickedYes: true,\n serverResponse: response\n };\n this.dialogRef.close(result);\n });\n }\n\n}\n","import {Component} from '@angular/core';\nimport {MatDialogRef} from '@angular/material/dialog';\nimport {EsForm} from '@eurosat/form';\nimport {EsDialogService} from '@eurosat/dialog';\nimport { DialogResult } from '../dialog-result';\n\n@Component({\n selector: 'dialog-form',\n templateUrl: './dialog-form.component.html',\n styleUrls: ['./dialog-form.component.scss']\n})\nexport class DialogFormComponent {\n\n public formUrl: string;\n public cols = 1;\n public esForm: EsForm;\n public maxFormHeight: number = window.innerHeight - 60;\n\n constructor(\n public dialogRef: MatDialogRef<DialogFormComponent>,\n ds: EsDialogService,\n ) {\n const data = ds.getData();\n this.formUrl = data.url;\n }\n\n submit(value: {[name: string]: any}) {\n\n // sem se to dostane jen pri success ulozeni formu\n const result: DialogResult = {\n clickedYes: true\n };\n this.dialogRef.close(result);\n\n\n\n // pokud bysme chteli form.value\n // this.dialogRef.close(value);\n // console.log('form value v parent', value);\n\n\n }\n\n getWindowHeight() {\n this.maxFormHeight = window.innerHeight - 60;\n }\n\n\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport {Router} from '@angular/router';\nimport {EsButton} from './model/es-button.interface';\nimport {EsButtonAction} from './model/es-button-action';\nimport {MatDialogRef} from '@angular/material/dialog';\nimport {MatSnackBar, MatSnackBarConfig} from '@angular/material/snack-bar';\nimport {EsSnackBarPanelClass} from '@eurosat/snackbar';\nimport {HttpService} from '@eurosat/http';\nimport {EsIcon} from '@eurosat/icon';\nimport {DialogConfirmComponent} from './components/dialog-confirm/dialog-confirm.component';\nimport {take} from 'rxjs/internal/operators';\nimport {DialogFormComponent} from './components/dialog-form/dialog-form.component';\nimport {EsDialogService} from '@eurosat/dialog';\nimport {EsDialogConfig} from '@eurosat/dialog';\nimport { DialogResult } from './components/dialog-result';\nimport { EsButtonServerResponse } from './model/es-button-server-response';\nimport { EsFormResponseMessage, EsFormResponseMessageType } from '@eurosat/form';\n\n// todo translates\n\n@Component({\n selector: 'es-buttons',\n templateUrl: './es-buttons.component.html',\n styleUrls: ['./es-buttons.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EsButtonsComponent implements OnChanges {\n\n @Input() parentWidth = 40; // default 40 = 1 button\n @Input() buttons: EsButton[] = []; // normal input\n @Input() forceMenu = false; // pokud chci zobrazit ... menu i pro jeden buttonek, na realtimu pouzito\n\n @Output() buttonClick = new EventEmitter<EsButton>();\n @Output() reload = new EventEmitter<boolean>();\n @Output() dialogCreated = new EventEmitter<MatDialogRef<any>>();\n @Output() serverResponse = new EventEmitter<EsButtonServerResponse>();\n\n menuVisible = false;\n buttonWidth = 40; // todo ViewChild, sirka buttonu ?\n visibleButtons: EsButton[] = [];\n hiddenButtons: EsButton[] = [];\n esIcon = EsIcon;\n _width = 0;\n\n constructor(\n private router: Router,\n private dialog: EsDialogService,\n private snackBar: MatSnackBar,\n private http: HttpService,\n ) { }\n\n showMenu() {\n return this.getHiddenButtons() && this.getHiddenButtons().length > 0 && this.getHiddenButtons().length !== 1;\n }\n\n countVisible() {\n return Math.floor((this._width) / this.buttonWidth) - 1;\n }\n\n getVisibleButtons() {\n if (this.buttons && this.buttons.length > 0) {\n return this.buttons.filter(button => {\n if (this.buttons.indexOf(button) < this.countVisible()\n || (this.getHiddenButtons().length === 1 && !this.forceMenu)) {\n return true;\n }\n });\n }\n }\n\n getHiddenButtons() {\n if (this.buttons && this.buttons.length > 0) {\n return this.buttons.filter(button => {\n if (this.buttons.indexOf(button) >= this.countVisible()) {\n return true;\n }\n });\n }\n }\n\n ngOnChanges(simpleChange: SimpleChanges) {\n if (simpleChange['parentWidth']) {\n if (this.parentWidth > 0) {\n this._width = this.parentWidth;\n this.recalculateButtons();\n }\n }\n\n if (simpleChange['buttons']) {\n if (typeof this.buttons === 'string') {\n this.buttons = JSON.parse(this.buttons);\n }\n this.recalculateButtons();\n }\n }\n\n recalculateButtons() {\n this.menuVisible = this.showMenu();\n this.visibleButtons = this.getVisibleButtons();\n this.hiddenButtons = this.getHiddenButtons();\n }\n\n handleAction(button: EsButton) {\n if (button.action === EsButtonAction.ACTION_DIALOG_CONFIRM) {\n this.openConfirm(button);\n }\n if (button.action === EsButtonAction.ACTION_DIALOG_DELETE) {\n this.openDelete(button);\n }\n if (button.action === EsButtonAction.ACTION_DIALOG_FORM) {\n this.openForm(button);\n }\n if (button.action === EsButtonAction.ACTION_DOWNLOAD) {\n this.http.get(button.url, {responseType: 'blob', observe: 'response'}).subscribe(response => {\n const filename = response.headers.get('Content-Disposition').split('filename=')[1];\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\n window.navigator.msSaveBlob(response.body, filename);\n } else {\n const link = document.createElement('a');\n link.setAttribute('href', window.URL.createObjectURL(response.body));\n link.setAttribute('download', filename);\n link.style.visibility = 'hidden';\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n }\n });\n }\n if (button.action === EsButtonAction.ACTION_REQUEST) {\n this.http.get(button.url).subscribe((response: EsFormResponseMessage) => {\n const config = new MatSnackBarConfig();\n config.duration = 2000;\n if (response.type === EsFormResponseMessageType.TYPE_OK) {\n config.panelClass = EsSnackBarPanelClass.SUCCESS;\n } else {\n config.panelClass = EsSnackBarPanelClass.DANGER;\n }\n this.snackBar.open(response.message, null, config);\n this.reload.emit(true);\n this.serverResponse.emit({button: button, response: response});\n });\n }\n if (button.action === EsButtonAction.ACTION_ROUTER_NAVIGATE) {\n this.router.navigateByUrl(button.url);\n }\n if (button.action === EsButtonAction.ACTION_WINDOW_LOCATION) {\n window.location.href = button.url;\n }\n this.buttonClick.emit(button);\n }\n\n // handleSubMenuAction(button: EsButton) {\n // // todo asi predelat na md2 menu\n // // todo nevim jestli se zpropaguje click kdyz je to zanoreny pres es-card-header\n // this.buttonClick.emit(button);\n // }\n\n openForm(button: EsButton) {\n const config: EsDialogConfig = {\n title: button.title,\n data: {\n url: button.url\n }\n };\n const dialogRef: MatDialogRef<DialogFormComponent> = this.dialog.open(DialogFormComponent, config);\n this.dialogCreated.emit(dialogRef);\n dialogRef.afterClosed().pipe(take(1)).subscribe( (res: DialogResult) => {\n if (res && res.clickedYes) {\n this.reload.emit(true);\n\n if (res.serverResponse) {\n this.serverResponse.emit({button: button, response: res.serverResponse});\n }\n }\n });\n }\n\n openDelete(button: EsButton) {\n this.openConfirm(button);\n }\n\n openConfirm(button: EsButton) {\n const config: EsDialogConfig = {\n title: button.title,\n data: {\n message: button.message,\n url: button.url\n }\n };\n const dialogRef: MatDialogRef<DialogConfirmComponent> = this.dialog.open(DialogConfirmComponent, config);\n this.dialogCreated.emit(dialogRef);\n dialogRef.afterClosed().pipe(take(1)).subscribe( (res: DialogResult) => {\n if (res && res.clickedYes) {\n this.reload.emit(true);\n\n if (res.serverResponse) {\n this.serverResponse.emit({button: button, response: res.serverResponse});\n }\n }\n });\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {EsButtonsComponent} from './es-buttons.component';\nimport {MatButtonModule} from '@angular/material/button';\nimport {MatMenuModule} from '@angular/material/menu';\nimport {MatSnackBarModule} from '@angular/material/snack-bar';\nimport {MatTooltipModule} from '@angular/material/tooltip';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {EsIconModule} from '@eurosat/icon';\nimport {EsDialogModule} from '@eurosat/dialog';\nimport {EsFormModule} from '@eurosat/form';\nimport {DialogConfirmComponent} from './components/dialog-confirm/dialog-confirm.component';\nimport {DialogFormComponent} from './components/dialog-form/dialog-form.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n MatButtonModule,\n MatTooltipModule,\n MatMenuModule,\n MatSnackBarModule,\n TranslateModule.forChild(),\n EsIconModule,\n EsDialogModule,\n EsFormModule,\n ],\n declarations: [\n EsButtonsComponent,\n DialogConfirmComponent,\n DialogFormComponent,\n ],\n exports: [EsButtonsComponent],\n entryComponents: [\n DialogConfirmComponent,\n DialogFormComponent,\n ],\n})\nexport class EsButtonsModule { }\n","/*\n * Public API Surface of es-buttons\n */\n\nexport * from './lib/es-buttons.component';\nexport * from './lib/es-buttons.module';\nexport * from './lib/model/es-button.interface';\nexport * from './lib/model/es-button-action';\nexport * from './lib/model/es-button-server-response';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n\nexport {DialogConfirmComponent as ɵa} from './lib/components/dialog-confirm/dialog-confirm.component';\nexport {DialogFormComponent as ɵb} from './lib/components/dialog-form/dialog-form.component';"],"names":["EventEmitter","MatSnackBarConfig","EsFormResponseMessageType","EsSnackBarPanelClass","Component","MatDialogRef","MatSnackBar","EsDialogService","Output","EsIcon","take","ChangeDetectionStrategy","Router","HttpService","Input","NgModule","CommonModule","MatButtonModule","MatTooltipModule","MatMenuModule","MatSnackBarModule","TranslateModule","EsIconModule","EsDialogModule","EsFormModule"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("@angular/core"),require("@angular/router"),require("@angular/material/snack-bar"),require("@eurosat/snackbar"),require("@eurosat/http"),require("@eurosat/icon"),require("@angular/material/dialog"),require("@eurosat/dialog"),require("@eurosat/form"),require("rxjs/internal/operators"),require("@angular/common"),require("@angular/material/button"),require("@angular/material/menu"),require("@angular/material/tooltip"),require("@ngx-translate/core")):"function"==typeof define&&define.amd?define("@eurosat/buttons",["exports","@angular/core","@angular/router","@angular/material/snack-bar","@eurosat/snackbar","@eurosat/http","@eurosat/icon","@angular/material/dialog","@eurosat/dialog","@eurosat/form","rxjs/internal/operators","@angular/common","@angular/material/button","@angular/material/menu","@angular/material/tooltip","@ngx-translate/core"],n):n(((t="undefined"!=typeof globalThis?globalThis:t||self).eurosat=t.eurosat||{},t.eurosat.buttons={}),t.ng.core,t.ng.router,t.ng.material.snackBar,t.snackbar,t.http,t.icon,t.ng.material.dialog,t.dialog$1,t.form,t.rxjs["internal/operators"],t.ng.common,t.ng.material.button,t.ng.material.menu,t.ng.material.tooltip,t.core$1)}(this,(function(t,n,e,o,i,s,l,u,r,a,c,d,h,b,m,p){"use strict";var B=function(){};B.ACTION_DIALOG_CONFIRM="dialog-confirm",B.ACTION_DIALOG_DELETE="dialog-delete",B.ACTION_DIALOG_FORM="dialog-form",B.ACTION_CARD_CONTENT_FORM="card-content-form",B.ACTION_CARD_CONTENT_WIZARD="card-content-wizard",B.ACTION_CHANGE_CARD_CONTENT="change-card-content",B.ACTION_DOWNLOAD="download",B.ACTION_REQUEST="request",B.ACTION_ROUTER_NAVIGATE="router-navigate",B.ACTION_WINDOW_LOCATION="open-link";var g=function(){function t(t,e,o){this.dialogRef=t,this.snackBar=e,this.ds=o,this.submit=new n.EventEmitter,this.activeRequest=!1;var i=this.ds.getData();this.message=i.message,this.url=i.url}return t.prototype.confirm=function(){var t=this;this.activeRequest=!0,this.ds.httpPost(this.url,null).subscribe((function(n){t.activeRequest=!1;var e=new o.MatSnackBarConfig;e.duration=2e3,n.type===a.EsFormResponseMessageType.TYPE_OK?(e.panelClass=i.EsSnackBarPanelClass.SUCCESS,t.submit.emit()):e.panelClass=i.EsSnackBarPanelClass.DANGER,t.snackBar.open(n.message,null,e);var s={clickedYes:!0,serverResponse:n};t.dialogRef.close(s)}))},t}();g.decorators=[{type:n.Component,args:[{selector:"dialog-confirm",template:'<p>{{message}}</p>\n<div class="button-container">\n <mat-spinner *ngIf="activeRequest" [diameter]="36"></mat-spinner>\n <ng-container *ngIf="!activeRequest">\n <button type="button"\n color="accent"\n mat-raised-button\n (click)="confirm()"> {{\'an.common.ano\' | translate}}\n </button>\n <button type="button"\n color="accent"\n mat-raised-button\n (click)="dialogRef.close({clickedYes: false})">{{\'an.common.ne\' | translate}}\n </button>\n </ng-container>\n</div>\n',styles:["button:not(:last-child){margin-right:20px}.button-container{min-height:36px;min-width:196px;position:relative;text-align:center}.button-container mat-spinner{position:absolute!important;left:calc(50% - 18px);top:calc(50% - 18px)}"]}]}],g.ctorParameters=function(){return[{type:u.MatDialogRef},{type:o.MatSnackBar},{type:r.EsDialogService}]},g.propDecorators={submit:[{type:n.Output}]};var v=function(){function t(t,n){this.dialogRef=t,this.cols=1,this.maxFormHeight=window.innerHeight-60;var e=n.getData();this.formUrl=e.url}return t.prototype.submit=function(t){this.dialogRef.close({clickedYes:!0})},t.prototype.getWindowHeight=function(){this.maxFormHeight=window.innerHeight-60},t}();v.decorators=[{type:n.Component,args:[{selector:"dialog-form",template:'<div class="es-form-container" [style.max-height]="(maxFormHeight - 106) + \'px\'">\n <es-form [formUrl]="formUrl"\n [dynamicForm]="esForm"\n [cols]="cols"\n (submit)="submit($event)">\n </es-form>\n</div>\n',styles:[".es-form-container{overflow:auto;margin-top:24px;position:relative}"]}]}],v.ctorParameters=function(){return[{type:u.MatDialogRef},{type:r.EsDialogService}]};var f=function(){function t(t,e,o,i){this.router=t,this.dialog=e,this.snackBar=o,this.http=i,this.parentWidth=40,this.buttons=[],this.forceMenu=!1,this.buttonClick=new n.EventEmitter,this.reload=new n.EventEmitter,this.dialogCreated=new n.EventEmitter,this.serverResponse=new n.EventEmitter,this.menuVisible=!1,this.buttonWidth=40,this.visibleButtons=[],this.hiddenButtons=[],this.esIcon=l.EsIcon,this._width=0}return t.prototype.showMenu=function(){return this.getHiddenButtons()&&this.getHiddenButtons().length>0&&1!==this.getHiddenButtons().length},t.prototype.countVisible=function(){return Math.floor(this._width/this.buttonWidth)-1},t.prototype.getVisibleButtons=function(){var t=this;if(this.buttons&&this.buttons.length>0)return this.buttons.filter((function(n){if(t.buttons.indexOf(n)<t.countVisible()||1===t.getHiddenButtons().length&&!t.forceMenu)return!0}))},t.prototype.getHiddenButtons=function(){var t=this;if(this.buttons&&this.buttons.length>0)return this.buttons.filter((function(n){if(t.buttons.indexOf(n)>=t.countVisible())return!0}))},t.prototype.ngOnChanges=function(t){t.parentWidth&&this.parentWidth>0&&(this._width=this.parentWidth,this.recalculateButtons()),t.buttons&&("string"==typeof this.buttons&&(this.buttons=JSON.parse(this.buttons)),this.recalculateButtons())},t.prototype.recalculateButtons=function(){this.menuVisible=this.showMenu(),this.visibleButtons=this.getVisibleButtons(),this.hiddenButtons=this.getHiddenButtons()},t.prototype.handleAction=function(t){var n=this;t.action===B.ACTION_DIALOG_CONFIRM&&this.openConfirm(t),t.action===B.ACTION_DIALOG_DELETE&&this.openDelete(t),t.action===B.ACTION_DIALOG_FORM&&this.openForm(t),t.action===B.ACTION_DOWNLOAD&&this.http.get(t.url,{responseType:"blob",observe:"response"}).subscribe((function(t){var n=t.headers.get("Content-Disposition").split("filename=")[1];if(window.navigator&&window.navigator.msSaveOrOpenBlob)window.navigator.msSaveBlob(t.body,n);else{var e=document.createElement("a");e.setAttribute("href",window.URL.createObjectURL(t.body)),e.setAttribute("download",n),e.style.visibility="hidden",document.body.appendChild(e),e.click(),document.body.removeChild(e)}})),t.action===B.ACTION_REQUEST&&this.http.get(t.url).subscribe((function(e){var s=new o.MatSnackBarConfig;s.duration=2e3,e.type===a.EsFormResponseMessageType.TYPE_OK?s.panelClass=i.EsSnackBarPanelClass.SUCCESS:s.panelClass=i.EsSnackBarPanelClass.DANGER,n.snackBar.open(e.message,null,s),n.reload.emit(!0),n.serverResponse.emit({button:t,response:e})})),t.action===B.ACTION_ROUTER_NAVIGATE&&this.router.navigateByUrl(t.url),t.action===B.ACTION_WINDOW_LOCATION&&(window.location.href=t.url),this.buttonClick.emit(t)},t.prototype.openForm=function(t){var n=this,e={title:t.title,data:{url:t.url}},o=this.dialog.open(v,e);this.dialogCreated.emit(o),o.afterClosed().pipe(c.take(1)).subscribe((function(e){e&&e.clickedYes&&(n.reload.emit(!0),e.serverResponse&&n.serverResponse.emit({button:t,response:e.serverResponse}))}))},t.prototype.openDelete=function(t){this.openConfirm(t)},t.prototype.openConfirm=function(t){var n=this,e={title:t.title,data:{message:t.message,url:t.url}},o=this.dialog.open(g,e);this.dialogCreated.emit(o),o.afterClosed().pipe(c.take(1)).subscribe((function(e){e&&e.clickedYes&&(n.reload.emit(!0),e.serverResponse&&n.serverResponse.emit({button:t,response:e.serverResponse}))}))},t}();f.decorators=[{type:n.Component,args:[{selector:"es-buttons",template:'<ng-container *ngIf="visibleButtons && visibleButtons.length > 0">\n <button *ngIf="visibleButtons.length > 0"\n mat-icon-button\n [disabled]="visibleButtons[0].disabled === true"\n [matTooltip]="visibleButtons[0].tooltip? visibleButtons[0].tooltip : visibleButtons[0].title"\n (click)="handleAction(visibleButtons[0])">\n <es-icon [color]="visibleButtons[0].color"\n [themeColor]="visibleButtons[0].themeColor"\n [icon]="visibleButtons[0].icon"></es-icon>\n </button>\n <button *ngIf="visibleButtons.length > 1"\n mat-icon-button\n [disabled]="visibleButtons[1].disabled === true"\n [matTooltip]="visibleButtons[1].tooltip? visibleButtons[1].tooltip : visibleButtons[1].title"\n (click)="handleAction(visibleButtons[1])">\n <es-icon [color]="visibleButtons[1].color"\n [themeColor]="visibleButtons[1].themeColor"\n [icon]="visibleButtons[1].icon"></es-icon>\n </button>\n <button *ngIf="visibleButtons.length > 2"\n mat-icon-button\n [disabled]="visibleButtons[2].disabled === true"\n [matTooltip]="visibleButtons[2].tooltip? visibleButtons[2].tooltip : visibleButtons[2].title"\n (click)="handleAction(visibleButtons[2])">\n <es-icon [color]="visibleButtons[2].color"\n [themeColor]="visibleButtons[2].themeColor"\n [icon]="visibleButtons[2].icon"></es-icon>\n </button>\n <button *ngIf="visibleButtons.length > 3"\n mat-icon-button\n [disabled]="visibleButtons[3].disabled === true"\n [matTooltip]="visibleButtons[3].tooltip? visibleButtons[3].tooltip : visibleButtons[3].title"\n (click)="handleAction(visibleButtons[3])">\n <es-icon [color]="visibleButtons[3].color"\n [themeColor]="visibleButtons[3].themeColor"\n [icon]="visibleButtons[3].icon"></es-icon>\n </button>\n <button *ngIf="visibleButtons.length > 4"\n mat-icon-button\n [disabled]="visibleButtons[4].disabled === true"\n [matTooltip]="visibleButtons[4].tooltip? visibleButtons[4].tooltip : visibleButtons[4].title"\n (click)="handleAction(visibleButtons[4])">\n <es-icon [color]="visibleButtons[4].color"\n [themeColor]="visibleButtons[4].themeColor"\n [icon]="visibleButtons[4].icon"></es-icon>\n </button>\n <button *ngIf="visibleButtons.length > 5"\n mat-icon-button\n [disabled]="visibleButtons[5].disabled === true"\n [matTooltip]="visibleButtons[5].tooltip? visibleButtons[5].tooltip : visibleButtons[5].title"\n (click)="handleAction(visibleButtons[5])">\n <es-icon [color]="visibleButtons[5].color"\n [themeColor]="visibleButtons[5].themeColor"\n [icon]="visibleButtons[5].icon"></es-icon>\n </button>\n <button *ngIf="visibleButtons.length > 6"\n mat-icon-button\n [disabled]="visibleButtons[6].disabled === true"\n [matTooltip]="visibleButtons[6].tooltip? visibleButtons[6].tooltip : visibleButtons[6].title"\n (click)="handleAction(visibleButtons[6])">\n <es-icon [color]="visibleButtons[6].color"\n [themeColor]="visibleButtons[6].themeColor"\n [icon]="visibleButtons[6].icon"></es-icon>\n </button>\n <button *ngIf="visibleButtons.length > 7"\n mat-icon-button\n [disabled]="visibleButtons[7].disabled === true"\n [matTooltip]="visibleButtons[7].tooltip? visibleButtons[7].tooltip : visibleButtons[7].title"\n (click)="handleAction(visibleButtons[7])">\n <es-icon [color]="visibleButtons[7].color"\n [themeColor]="visibleButtons[7].themeColor"\n [icon]="visibleButtons[7].icon"></es-icon>\n </button>\n <button *ngIf="visibleButtons.length > 8"\n mat-icon-button\n [disabled]="visibleButtons[8].disabled === true"\n [matTooltip]="visibleButtons[8].tooltip? visibleButtons[8].tooltip : visibleButtons[8].title"\n (click)="handleAction(visibleButtons[8])">\n <es-icon [color]="visibleButtons[8].color"\n [themeColor]="visibleButtons[8].themeColor"\n [icon]="visibleButtons[8].icon"></es-icon>\n </button>\n <button *ngIf="visibleButtons.length > 9"\n mat-icon-button\n [disabled]="visibleButtons[9].disabled === true"\n [matTooltip]="visibleButtons[9].tooltip? visibleButtons[9].tooltip : visibleButtons[9].title"\n (click)="handleAction(visibleButtons[9])">\n <es-icon [color]="visibleButtons[9].color"\n [themeColor]="visibleButtons[9].themeColor"\n [icon]="visibleButtons[9].icon"></es-icon>\n </button>\n</ng-container>\n\n\n<button *ngIf="menuVisible || forceMenu"\n mat-icon-button\n [matMenuTriggerFor]="menu"\n [matTooltip]="\'an.more\' | translate">\n <es-icon [icon]="esIcon.MORE_VERT"></es-icon>\n</button>\n\n\n<mat-menu #menu="matMenu"\n [overlapTrigger]="false"\n yPosition="below"\n xPosition="before">\n <ng-container *ngIf="hiddenButtons && hiddenButtons.length > 0">\n <button *ngIf="hiddenButtons.length > 0"\n mat-menu-item\n [disabled]="hiddenButtons[0].disabled === true"\n (click)="handleAction(hiddenButtons[0])">\n <es-icon [color]="hiddenButtons[0].color"\n [themeColor]="hiddenButtons[0].themeColor"\n [icon]="hiddenButtons[0].icon"></es-icon>\n <span>{{hiddenButtons[0].title}}</span>\n </button>\n <button *ngIf="hiddenButtons.length > 1"\n mat-menu-item\n [disabled]="hiddenButtons[1].disabled === true"\n (click)="handleAction(hiddenButtons[1])">\n <es-icon [color]="hiddenButtons[1].color"\n [themeColor]="hiddenButtons[1].themeColor"\n [icon]="hiddenButtons[1].icon"></es-icon>\n <span>{{hiddenButtons[1].title}}</span>\n </button>\n <button *ngIf="hiddenButtons.length > 2"\n mat-menu-item\n [disabled]="hiddenButtons[2].disabled === true"\n (click)="handleAction(hiddenButtons[2])">\n <es-icon [color]="hiddenButtons[2].color"\n [themeColor]="hiddenButtons[2].themeColor"\n [icon]="hiddenButtons[2].icon"></es-icon>\n <span>{{hiddenButtons[2].title}}</span>\n </button>\n <button *ngIf="hiddenButtons.length > 3"\n mat-menu-item\n [disabled]="hiddenButtons[3].disabled === true"\n (click)="handleAction(hiddenButtons[3])">\n <es-icon [color]="hiddenButtons[3].color"\n [themeColor]="hiddenButtons[3].themeColor"\n [icon]="hiddenButtons[3].icon"></es-icon>\n <span>{{hiddenButtons[3].title}}</span>\n </button>\n <button *ngIf="hiddenButtons.length > 4"\n mat-menu-item\n [disabled]="hiddenButtons[4].disabled === true"\n (click)="handleAction(hiddenButtons[4])">\n <es-icon [color]="hiddenButtons[4].color"\n [themeColor]="hiddenButtons[4].themeColor"\n [icon]="hiddenButtons[4].icon"></es-icon>\n <span>{{hiddenButtons[4].title}}</span>\n </button>\n <button *ngIf="hiddenButtons.length > 5"\n mat-menu-item\n [disabled]="hiddenButtons[5].disabled === true"\n (click)="handleAction(hiddenButtons[5])">\n <es-icon [color]="hiddenButtons[5].color"\n [themeColor]="hiddenButtons[5].themeColor"\n [icon]="hiddenButtons[5].icon"></es-icon>\n <span>{{hiddenButtons[5].title}}</span>\n </button>\n <button *ngIf="hiddenButtons.length > 6"\n mat-menu-item\n [disabled]="hiddenButtons[6].disabled === true"\n (click)="handleAction(hiddenButtons[6])">\n <es-icon [color]="hiddenButtons[6].color"\n [themeColor]="hiddenButtons[6].themeColor"\n [icon]="hiddenButtons[6].icon"></es-icon>\n <span>{{hiddenButtons[6].title}}</span>\n </button>\n <button *ngIf="hiddenButtons.length > 7"\n mat-menu-item\n [disabled]="hiddenButtons[7].disabled === true"\n (click)="handleAction(hiddenButtons[7])">\n <es-icon [color]="hiddenButtons[7].color"\n [themeColor]="hiddenButtons[7].themeColor"\n [icon]="hiddenButtons[7].icon"></es-icon>\n <span>{{hiddenButtons[7].title}}</span>\n </button>\n <button *ngIf="hiddenButtons.length > 8"\n mat-menu-item\n [disabled]="hiddenButtons[8].disabled === true"\n (click)="handleAction(hiddenButtons[8])">\n <es-icon [color]="hiddenButtons[8].color"\n [themeColor]="hiddenButtons[8].themeColor"\n [icon]="hiddenButtons[8].icon"></es-icon>\n <span>{{hiddenButtons[8].title}}</span>\n </button>\n <button *ngIf="hiddenButtons.length > 9"\n mat-menu-item\n [disabled]="hiddenButtons[9].disabled === true"\n (click)="handleAction(hiddenButtons[9])">\n <es-icon [color]="hiddenButtons[9].color"\n [themeColor]="hiddenButtons[9].themeColor"\n [icon]="hiddenButtons[9].icon"></es-icon>\n <span>{{hiddenButtons[9].title}}</span>\n </button>\n </ng-container>\n</mat-menu>\n',changeDetection:n.ChangeDetectionStrategy.OnPush,styles:[":host{float:right}"]}]}],f.ctorParameters=function(){return[{type:e.Router},{type:r.EsDialogService},{type:o.MatSnackBar},{type:s.HttpService}]},f.propDecorators={parentWidth:[{type:n.Input}],buttons:[{type:n.Input}],forceMenu:[{type:n.Input}],buttonClick:[{type:n.Output}],reload:[{type:n.Output}],dialogCreated:[{type:n.Output}],serverResponse:[{type:n.Output}]};var C=function(){};C.decorators=[{type:n.NgModule,args:[{imports:[d.CommonModule,h.MatButtonModule,m.MatTooltipModule,b.MatMenuModule,o.MatSnackBarModule,p.TranslateModule.forChild(),l.EsIconModule,r.EsDialogModule,a.EsFormModule],declarations:[f,g,v],exports:[f],entryComponents:[g,v]}]}],t.EsButtonAction=B,t.EsButtonsComponent=f,t.EsButtonsModule=C,t.ɵa=g,t.ɵb=v,Object.defineProperty(t,"__esModule",{value:!0})}));
|
|
2
|
-
//# sourceMappingURL=eurosat-buttons.umd.min.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../projects/buttons/src/lib/model/es-button-action.ts","../../../projects/buttons/src/lib/components/dialog-confirm/dialog-confirm.component.ts","../../../projects/buttons/src/lib/components/dialog-form/dialog-form.component.ts","../../../projects/buttons/src/lib/es-buttons.component.ts","../../../projects/buttons/src/lib/es-buttons.module.ts"],"names":["EsButtonAction","ACTION_DIALOG_CONFIRM","ACTION_DIALOG_DELETE","ACTION_DIALOG_FORM","ACTION_CARD_CONTENT_FORM","ACTION_CARD_CONTENT_WIZARD","ACTION_CHANGE_CARD_CONTENT","ACTION_DOWNLOAD","ACTION_REQUEST","ACTION_ROUTER_NAVIGATE","ACTION_WINDOW_LOCATION","DialogConfirmComponent","dialogRef","snackBar","ds","this","submit","EventEmitter","activeRequest","data","getData","message","url","prototype","confirm","_this","httpPost","subscribe","response","config","MatSnackBarConfig","duration","type","EsFormResponseMessageType","TYPE_OK","panelClass","EsSnackBarPanelClass","SUCCESS","emit","DANGER","open","result","clickedYes","serverResponse","close","Component","args","selector","template","MatDialogRef","MatSnackBar","EsDialogService","Output","DialogFormComponent","cols","maxFormHeight","window","innerHeight","formUrl","value","getWindowHeight","EsButtonsComponent","router","dialog","http","parentWidth","buttons","forceMenu","buttonClick","reload","dialogCreated","menuVisible","buttonWidth","visibleButtons","hiddenButtons","esIcon","EsIcon","_width","showMenu","getHiddenButtons","length","countVisible","Math","floor","getVisibleButtons","filter","button","indexOf","ngOnChanges","simpleChange","recalculateButtons","JSON","parse","handleAction","action","openConfirm","openDelete","openForm","get","responseType","observe","filename","headers","split","navigator","msSaveOrOpenBlob","msSaveBlob","body","link","document","createElement","setAttribute","URL","createObjectURL","style","visibility","appendChild","click","removeChild","navigateByUrl","location","href","title","afterClosed","pipe","take","res","changeDetection","ChangeDetectionStrategy","OnPush","Router","HttpService","Input","NgModule","imports","CommonModule","MatButtonModule","MatTooltipModule","MatMenuModule","MatSnackBarModule","TranslateModule","forChild","EsIconModule","EsDialogModule","EsFormModule","declarations","exports","entryComponents"],"mappings":"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","sourcesContent":["export class EsButtonAction {\n\n public static ACTION_DIALOG_CONFIRM = 'dialog-confirm';\n public static ACTION_DIALOG_DELETE = 'dialog-delete';\n public static ACTION_DIALOG_FORM = 'dialog-form';\n public static ACTION_CARD_CONTENT_FORM = 'card-content-form';\n public static ACTION_CARD_CONTENT_WIZARD = 'card-content-wizard'; // todo asi zrusit\n public static ACTION_CHANGE_CARD_CONTENT = 'change-card-content'; // mozna zrusit ? je kuli neemitu clicku na button\n public static ACTION_DOWNLOAD = 'download';\n public static ACTION_REQUEST = 'request';\n public static ACTION_ROUTER_NAVIGATE = 'router-navigate';\n public static ACTION_WINDOW_LOCATION = 'open-link';\n}\n","import {Component, EventEmitter, Output} from '@angular/core';\nimport {MatDialogRef} from '@angular/material/dialog';\nimport {MatSnackBar, MatSnackBarConfig} from '@angular/material/snack-bar';\nimport {EsSnackBarPanelClass} from '@eurosat/snackbar';\nimport {EsDialogService} from '@eurosat/dialog';\nimport { DialogResult } from '../dialog-result';\nimport { EsFormResponseMessage, EsFormResponseMessageType } from '@eurosat/form';\n\n\n@Component({\n selector: 'dialog-confirm',\n templateUrl: './dialog-confirm.component.html',\n styleUrls: ['./dialog-confirm.component.scss']\n})\nexport class DialogConfirmComponent {\n\n @Output() submit: EventEmitter<any> = new EventEmitter<any>();\n public message: string;\n public url: string;\n activeRequest = false;\n\n constructor(\n public dialogRef: MatDialogRef<DialogConfirmComponent>,\n private snackBar: MatSnackBar,\n private ds: EsDialogService\n ) {\n const data = this.ds.getData();\n this.message = data.message;\n this.url = data.url;\n }\n\n confirm() {\n this.activeRequest = true;\n this.ds.httpPost(this.url, null).subscribe((response: EsFormResponseMessage) => {\n this.activeRequest = false;\n const config = new MatSnackBarConfig();\n config.duration = 2000;\n if (response.type === EsFormResponseMessageType.TYPE_OK) {\n config.panelClass = EsSnackBarPanelClass.SUCCESS;\n this.submit.emit();\n } else {\n config.panelClass = EsSnackBarPanelClass.DANGER;\n }\n this.snackBar.open(response.message, null, config);\n\n const result: DialogResult = {\n clickedYes: true,\n serverResponse: response\n };\n this.dialogRef.close(result);\n });\n }\n\n}\n","import {Component} from '@angular/core';\nimport {MatDialogRef} from '@angular/material/dialog';\nimport {EsForm} from '@eurosat/form';\nimport {EsDialogService} from '@eurosat/dialog';\nimport { DialogResult } from '../dialog-result';\n\n@Component({\n selector: 'dialog-form',\n templateUrl: './dialog-form.component.html',\n styleUrls: ['./dialog-form.component.scss']\n})\nexport class DialogFormComponent {\n\n public formUrl: string;\n public cols = 1;\n public esForm: EsForm;\n public maxFormHeight: number = window.innerHeight - 60;\n\n constructor(\n public dialogRef: MatDialogRef<DialogFormComponent>,\n ds: EsDialogService,\n ) {\n const data = ds.getData();\n this.formUrl = data.url;\n }\n\n submit(value: {[name: string]: any}) {\n\n // sem se to dostane jen pri success ulozeni formu\n const result: DialogResult = {\n clickedYes: true\n };\n this.dialogRef.close(result);\n\n\n\n // pokud bysme chteli form.value\n // this.dialogRef.close(value);\n // console.log('form value v parent', value);\n\n\n }\n\n getWindowHeight() {\n this.maxFormHeight = window.innerHeight - 60;\n }\n\n\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport {Router} from '@angular/router';\nimport {EsButton} from './model/es-button.interface';\nimport {EsButtonAction} from './model/es-button-action';\nimport {MatDialogRef} from '@angular/material/dialog';\nimport {MatSnackBar, MatSnackBarConfig} from '@angular/material/snack-bar';\nimport {EsSnackBarPanelClass} from '@eurosat/snackbar';\nimport {HttpService} from '@eurosat/http';\nimport {EsIcon} from '@eurosat/icon';\nimport {DialogConfirmComponent} from './components/dialog-confirm/dialog-confirm.component';\nimport {take} from 'rxjs/internal/operators';\nimport {DialogFormComponent} from './components/dialog-form/dialog-form.component';\nimport {EsDialogService} from '@eurosat/dialog';\nimport {EsDialogConfig} from '@eurosat/dialog';\nimport { DialogResult } from './components/dialog-result';\nimport { EsButtonServerResponse } from './model/es-button-server-response';\nimport { EsFormResponseMessage, EsFormResponseMessageType } from '@eurosat/form';\n\n// todo translates\n\n@Component({\n selector: 'es-buttons',\n templateUrl: './es-buttons.component.html',\n styleUrls: ['./es-buttons.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class EsButtonsComponent implements OnChanges {\n\n @Input() parentWidth = 40; // default 40 = 1 button\n @Input() buttons: EsButton[] = []; // normal input\n @Input() forceMenu = false; // pokud chci zobrazit ... menu i pro jeden buttonek, na realtimu pouzito\n\n @Output() buttonClick = new EventEmitter<EsButton>();\n @Output() reload = new EventEmitter<boolean>();\n @Output() dialogCreated = new EventEmitter<MatDialogRef<any>>();\n @Output() serverResponse = new EventEmitter<EsButtonServerResponse>();\n\n menuVisible = false;\n buttonWidth = 40; // todo ViewChild, sirka buttonu ?\n visibleButtons: EsButton[] = [];\n hiddenButtons: EsButton[] = [];\n esIcon = EsIcon;\n _width = 0;\n\n constructor(\n private router: Router,\n private dialog: EsDialogService,\n private snackBar: MatSnackBar,\n private http: HttpService,\n ) { }\n\n showMenu() {\n return this.getHiddenButtons() && this.getHiddenButtons().length > 0 && this.getHiddenButtons().length !== 1;\n }\n\n countVisible() {\n return Math.floor((this._width) / this.buttonWidth) - 1;\n }\n\n getVisibleButtons() {\n if (this.buttons && this.buttons.length > 0) {\n return this.buttons.filter(button => {\n if (this.buttons.indexOf(button) < this.countVisible()\n || (this.getHiddenButtons().length === 1 && !this.forceMenu)) {\n return true;\n }\n });\n }\n }\n\n getHiddenButtons() {\n if (this.buttons && this.buttons.length > 0) {\n return this.buttons.filter(button => {\n if (this.buttons.indexOf(button) >= this.countVisible()) {\n return true;\n }\n });\n }\n }\n\n ngOnChanges(simpleChange: SimpleChanges) {\n if (simpleChange['parentWidth']) {\n if (this.parentWidth > 0) {\n this._width = this.parentWidth;\n this.recalculateButtons();\n }\n }\n\n if (simpleChange['buttons']) {\n if (typeof this.buttons === 'string') {\n this.buttons = JSON.parse(this.buttons);\n }\n this.recalculateButtons();\n }\n }\n\n recalculateButtons() {\n this.menuVisible = this.showMenu();\n this.visibleButtons = this.getVisibleButtons();\n this.hiddenButtons = this.getHiddenButtons();\n }\n\n handleAction(button: EsButton) {\n if (button.action === EsButtonAction.ACTION_DIALOG_CONFIRM) {\n this.openConfirm(button);\n }\n if (button.action === EsButtonAction.ACTION_DIALOG_DELETE) {\n this.openDelete(button);\n }\n if (button.action === EsButtonAction.ACTION_DIALOG_FORM) {\n this.openForm(button);\n }\n if (button.action === EsButtonAction.ACTION_DOWNLOAD) {\n this.http.get(button.url, {responseType: 'blob', observe: 'response'}).subscribe(response => {\n const filename = response.headers.get('Content-Disposition').split('filename=')[1];\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\n window.navigator.msSaveBlob(response.body, filename);\n } else {\n const link = document.createElement('a');\n link.setAttribute('href', window.URL.createObjectURL(response.body));\n link.setAttribute('download', filename);\n link.style.visibility = 'hidden';\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n }\n });\n }\n if (button.action === EsButtonAction.ACTION_REQUEST) {\n this.http.get(button.url).subscribe((response: EsFormResponseMessage) => {\n const config = new MatSnackBarConfig();\n config.duration = 2000;\n if (response.type === EsFormResponseMessageType.TYPE_OK) {\n config.panelClass = EsSnackBarPanelClass.SUCCESS;\n } else {\n config.panelClass = EsSnackBarPanelClass.DANGER;\n }\n this.snackBar.open(response.message, null, config);\n this.reload.emit(true);\n this.serverResponse.emit({button: button, response: response});\n });\n }\n if (button.action === EsButtonAction.ACTION_ROUTER_NAVIGATE) {\n this.router.navigateByUrl(button.url);\n }\n if (button.action === EsButtonAction.ACTION_WINDOW_LOCATION) {\n window.location.href = button.url;\n }\n this.buttonClick.emit(button);\n }\n\n // handleSubMenuAction(button: EsButton) {\n // // todo asi predelat na md2 menu\n // // todo nevim jestli se zpropaguje click kdyz je to zanoreny pres es-card-header\n // this.buttonClick.emit(button);\n // }\n\n openForm(button: EsButton) {\n const config: EsDialogConfig = {\n title: button.title,\n data: {\n url: button.url\n }\n };\n const dialogRef: MatDialogRef<DialogFormComponent> = this.dialog.open(DialogFormComponent, config);\n this.dialogCreated.emit(dialogRef);\n dialogRef.afterClosed().pipe(take(1)).subscribe( (res: DialogResult) => {\n if (res && res.clickedYes) {\n this.reload.emit(true);\n\n if (res.serverResponse) {\n this.serverResponse.emit({button: button, response: res.serverResponse});\n }\n }\n });\n }\n\n openDelete(button: EsButton) {\n this.openConfirm(button);\n }\n\n openConfirm(button: EsButton) {\n const config: EsDialogConfig = {\n title: button.title,\n data: {\n message: button.message,\n url: button.url\n }\n };\n const dialogRef: MatDialogRef<DialogConfirmComponent> = this.dialog.open(DialogConfirmComponent, config);\n this.dialogCreated.emit(dialogRef);\n dialogRef.afterClosed().pipe(take(1)).subscribe( (res: DialogResult) => {\n if (res && res.clickedYes) {\n this.reload.emit(true);\n\n if (res.serverResponse) {\n this.serverResponse.emit({button: button, response: res.serverResponse});\n }\n }\n });\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {EsButtonsComponent} from './es-buttons.component';\nimport {MatButtonModule} from '@angular/material/button';\nimport {MatMenuModule} from '@angular/material/menu';\nimport {MatSnackBarModule} from '@angular/material/snack-bar';\nimport {MatTooltipModule} from '@angular/material/tooltip';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {EsIconModule} from '@eurosat/icon';\nimport {EsDialogModule} from '@eurosat/dialog';\nimport {EsFormModule} from '@eurosat/form';\nimport {DialogConfirmComponent} from './components/dialog-confirm/dialog-confirm.component';\nimport {DialogFormComponent} from './components/dialog-form/dialog-form.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n MatButtonModule,\n MatTooltipModule,\n MatMenuModule,\n MatSnackBarModule,\n TranslateModule.forChild(),\n EsIconModule,\n EsDialogModule,\n EsFormModule,\n ],\n declarations: [\n EsButtonsComponent,\n DialogConfirmComponent,\n DialogFormComponent,\n ],\n exports: [EsButtonsComponent],\n entryComponents: [\n DialogConfirmComponent,\n DialogFormComponent,\n ],\n})\nexport class EsButtonsModule { }\n"]}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public_api';
|
|
5
|
-
export { DialogConfirmComponent as ɵa } from './lib/components/dialog-confirm/dialog-confirm.component';
|
|
6
|
-
export { DialogFormComponent as ɵb } from './lib/components/dialog-form/dialog-form.component';
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVyb3NhdC1idXR0b25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvYnV0dG9ucy9zcmMvZXVyb3NhdC1idXR0b25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUM7QUFFN0IsT0FBTyxFQUFDLHNCQUFzQixJQUFJLEVBQUUsRUFBQyxNQUFNLDBEQUEwRCxDQUFDO0FBQ3RHLE9BQU8sRUFBQyxtQkFBbUIsSUFBSSxFQUFFLEVBQUMsTUFBTSxvREFBb0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcblxuZXhwb3J0IHtEaWFsb2dDb25maXJtQ29tcG9uZW50IGFzIMm1YX0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9kaWFsb2ctY29uZmlybS9kaWFsb2ctY29uZmlybS5jb21wb25lbnQnO1xuZXhwb3J0IHtEaWFsb2dGb3JtQ29tcG9uZW50IGFzIMm1Yn0gZnJvbSAnLi9saWIvY29tcG9uZW50cy9kaWFsb2ctZm9ybS9kaWFsb2ctZm9ybS5jb21wb25lbnQnOyJdfQ==
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Output } from '@angular/core';
|
|
2
|
-
import { MatDialogRef } from '@angular/material/dialog';
|
|
3
|
-
import { MatSnackBar, MatSnackBarConfig } from '@angular/material/snack-bar';
|
|
4
|
-
import { EsSnackBarPanelClass } from '@eurosat/snackbar';
|
|
5
|
-
import { EsDialogService } from '@eurosat/dialog';
|
|
6
|
-
import { EsFormResponseMessageType } from '@eurosat/form';
|
|
7
|
-
export class DialogConfirmComponent {
|
|
8
|
-
constructor(dialogRef, snackBar, ds) {
|
|
9
|
-
this.dialogRef = dialogRef;
|
|
10
|
-
this.snackBar = snackBar;
|
|
11
|
-
this.ds = ds;
|
|
12
|
-
this.submit = new EventEmitter();
|
|
13
|
-
this.activeRequest = false;
|
|
14
|
-
const data = this.ds.getData();
|
|
15
|
-
this.message = data.message;
|
|
16
|
-
this.url = data.url;
|
|
17
|
-
}
|
|
18
|
-
confirm() {
|
|
19
|
-
this.activeRequest = true;
|
|
20
|
-
this.ds.httpPost(this.url, null).subscribe((response) => {
|
|
21
|
-
this.activeRequest = false;
|
|
22
|
-
const config = new MatSnackBarConfig();
|
|
23
|
-
config.duration = 2000;
|
|
24
|
-
if (response.type === EsFormResponseMessageType.TYPE_OK) {
|
|
25
|
-
config.panelClass = EsSnackBarPanelClass.SUCCESS;
|
|
26
|
-
this.submit.emit();
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
config.panelClass = EsSnackBarPanelClass.DANGER;
|
|
30
|
-
}
|
|
31
|
-
this.snackBar.open(response.message, null, config);
|
|
32
|
-
const result = {
|
|
33
|
-
clickedYes: true,
|
|
34
|
-
serverResponse: response
|
|
35
|
-
};
|
|
36
|
-
this.dialogRef.close(result);
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
DialogConfirmComponent.decorators = [
|
|
41
|
-
{ type: Component, args: [{
|
|
42
|
-
selector: 'dialog-confirm',
|
|
43
|
-
template: "<p>{{message}}</p>\n<div class=\"button-container\">\n <mat-spinner *ngIf=\"activeRequest\" [diameter]=\"36\"></mat-spinner>\n <ng-container *ngIf=\"!activeRequest\">\n <button type=\"button\"\n color=\"accent\"\n mat-raised-button\n (click)=\"confirm()\"> {{'an.common.ano' | translate}}\n </button>\n <button type=\"button\"\n color=\"accent\"\n mat-raised-button\n (click)=\"dialogRef.close({clickedYes: false})\">{{'an.common.ne' | translate}}\n </button>\n </ng-container>\n</div>\n",
|
|
44
|
-
styles: ["button:not(:last-child){margin-right:20px}.button-container{min-height:36px;min-width:196px;position:relative;text-align:center}.button-container mat-spinner{position:absolute!important;left:calc(50% - 18px);top:calc(50% - 18px)}"]
|
|
45
|
-
},] }
|
|
46
|
-
];
|
|
47
|
-
/** @nocollapse */
|
|
48
|
-
DialogConfirmComponent.ctorParameters = () => [
|
|
49
|
-
{ type: MatDialogRef },
|
|
50
|
-
{ type: MatSnackBar },
|
|
51
|
-
{ type: EsDialogService }
|
|
52
|
-
];
|
|
53
|
-
DialogConfirmComponent.propDecorators = {
|
|
54
|
-
submit: [{ type: Output }]
|
|
55
|
-
};
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWNvbmZpcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnV0dG9ucy9zcmMvbGliL2NvbXBvbmVudHMvZGlhbG9nLWNvbmZpcm0vZGlhbG9nLWNvbmZpcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDdEQsT0FBTyxFQUFDLFdBQVcsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQzNFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUVoRCxPQUFPLEVBQXlCLHlCQUF5QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBUWpGLE1BQU0sT0FBTyxzQkFBc0I7SUFPL0IsWUFDVyxTQUErQyxFQUM5QyxRQUFxQixFQUNyQixFQUFtQjtRQUZwQixjQUFTLEdBQVQsU0FBUyxDQUFzQztRQUM5QyxhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQ3JCLE9BQUUsR0FBRixFQUFFLENBQWlCO1FBUnJCLFdBQU0sR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUc5RCxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQU9sQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUM1QixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDeEIsQ0FBQztJQUVELE9BQU87UUFDSCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUMxQixJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQStCLEVBQUUsRUFBRTtZQUMzRSxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztZQUMzQixNQUFNLE1BQU0sR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7WUFDdkMsTUFBTSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFDdkIsSUFBSSxRQUFRLENBQUMsSUFBSSxLQUFLLHlCQUF5QixDQUFDLE9BQU8sRUFBRTtnQkFDckQsTUFBTSxDQUFDLFVBQVUsR0FBRyxvQkFBb0IsQ0FBQyxPQUFPLENBQUM7Z0JBQ2pELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDdEI7aUJBQU07Z0JBQ0gsTUFBTSxDQUFDLFVBQVUsR0FBRyxvQkFBb0IsQ0FBQyxNQUFNLENBQUM7YUFDbkQ7WUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztZQUVuRCxNQUFNLE1BQU0sR0FBaUI7Z0JBQ3pCLFVBQVUsRUFBRSxJQUFJO2dCQUNoQixjQUFjLEVBQUUsUUFBUTthQUMzQixDQUFDO1lBQ0YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzs7WUExQ0osU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLGtuQkFBOEM7O2FBRWpEOzs7O1lBWk8sWUFBWTtZQUNaLFdBQVc7WUFFWCxlQUFlOzs7cUJBWWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNYXREaWFsb2dSZWZ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQge01hdFNuYWNrQmFyLCBNYXRTbmFja0JhckNvbmZpZ30gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcbmltcG9ydCB7RXNTbmFja0JhclBhbmVsQ2xhc3N9IGZyb20gJ0BldXJvc2F0L3NuYWNrYmFyJztcbmltcG9ydCB7RXNEaWFsb2dTZXJ2aWNlfSBmcm9tICdAZXVyb3NhdC9kaWFsb2cnO1xuaW1wb3J0IHsgRGlhbG9nUmVzdWx0IH0gZnJvbSAnLi4vZGlhbG9nLXJlc3VsdCc7XG5pbXBvcnQgeyBFc0Zvcm1SZXNwb25zZU1lc3NhZ2UsIEVzRm9ybVJlc3BvbnNlTWVzc2FnZVR5cGUgfSBmcm9tICdAZXVyb3NhdC9mb3JtJztcblxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RpYWxvZy1jb25maXJtJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGlhbG9nLWNvbmZpcm0uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RpYWxvZy1jb25maXJtLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRGlhbG9nQ29uZmlybUNvbXBvbmVudCB7XG5cbiAgICBAT3V0cHV0KCkgc3VibWl0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIHB1YmxpYyBtZXNzYWdlOiBzdHJpbmc7XG4gICAgcHVibGljIHVybDogc3RyaW5nO1xuICAgIGFjdGl2ZVJlcXVlc3QgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8RGlhbG9nQ29uZmlybUNvbXBvbmVudD4sXG4gICAgICAgIHByaXZhdGUgc25hY2tCYXI6IE1hdFNuYWNrQmFyLFxuICAgICAgICBwcml2YXRlIGRzOiBFc0RpYWxvZ1NlcnZpY2VcbiAgICApIHtcbiAgICAgICAgY29uc3QgZGF0YSA9IHRoaXMuZHMuZ2V0RGF0YSgpO1xuICAgICAgICB0aGlzLm1lc3NhZ2UgPSBkYXRhLm1lc3NhZ2U7XG4gICAgICAgIHRoaXMudXJsID0gZGF0YS51cmw7XG4gICAgfVxuXG4gICAgY29uZmlybSgpIHtcbiAgICAgICAgdGhpcy5hY3RpdmVSZXF1ZXN0ID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5kcy5odHRwUG9zdCh0aGlzLnVybCwgbnVsbCkuc3Vic2NyaWJlKChyZXNwb25zZTogRXNGb3JtUmVzcG9uc2VNZXNzYWdlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZVJlcXVlc3QgPSBmYWxzZTtcbiAgICAgICAgICAgIGNvbnN0IGNvbmZpZyA9IG5ldyBNYXRTbmFja0JhckNvbmZpZygpO1xuICAgICAgICAgICAgY29uZmlnLmR1cmF0aW9uID0gMjAwMDtcbiAgICAgICAgICAgIGlmIChyZXNwb25zZS50eXBlID09PSBFc0Zvcm1SZXNwb25zZU1lc3NhZ2VUeXBlLlRZUEVfT0spIHtcbiAgICAgICAgICAgICAgICBjb25maWcucGFuZWxDbGFzcyA9IEVzU25hY2tCYXJQYW5lbENsYXNzLlNVQ0NFU1M7XG4gICAgICAgICAgICAgICAgdGhpcy5zdWJtaXQuZW1pdCgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25maWcucGFuZWxDbGFzcyA9IEVzU25hY2tCYXJQYW5lbENsYXNzLkRBTkdFUjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuc25hY2tCYXIub3BlbihyZXNwb25zZS5tZXNzYWdlLCBudWxsLCBjb25maWcpO1xuXG4gICAgICAgICAgICBjb25zdCByZXN1bHQ6IERpYWxvZ1Jlc3VsdCA9IHtcbiAgICAgICAgICAgICAgICBjbGlja2VkWWVzOiB0cnVlLFxuICAgICAgICAgICAgICAgIHNlcnZlclJlc3BvbnNlOiByZXNwb25zZVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHJlc3VsdCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxufVxuIl19
|