@rosoftlab/material 1.0.0-alpha-10 → 1.0.0-alpha-12
Sign up to get free protection for your applications and to get access to all the features.
- package/esm2022/lib/components/generic-table/generic-table.component.mjs +8 -9
- package/esm2022/lib/components/searchable-dropdown/searchable-dropdown.component.mjs +8 -9
- package/esm2022/lib/decorators/grid-layout.decorator.mjs +1 -1
- package/esm2022/lib/models/grid-layout.mjs +1 -1
- package/esm2022/lib/models/material-base-model.mjs +1 -1
- package/esm2022/lib/rsl-material-module.mjs +18 -12
- package/esm2022/lib/services/dialog.service-implementation.mjs +110 -0
- package/esm2022/lib/services/grid-layout.service.mjs +5 -5
- package/esm2022/lib/services/index.mjs +2 -1
- package/esm2022/public-api.mjs +2 -2
- package/fesm2022/rosoftlab-material.mjs +108 -101
- package/fesm2022/rosoftlab-material.mjs.map +1 -1
- package/lib/components/generic-table/generic-table.component.d.ts +2 -2
- package/lib/components/searchable-dropdown/searchable-dropdown.component.d.ts +1 -1
- package/lib/rsl-material-module.d.ts +42 -41
- package/lib/services/index.d.ts +1 -0
- package/package.json +2 -2
- package/public-api.d.ts +1 -1
- package/esm2022/services/dialog.service-implementation.mjs +0 -110
- /package/{services → lib/services}/dialog.service-implementation.d.ts +0 -0
@@ -1,110 +0,0 @@
|
|
1
|
-
import { HttpErrorResponse } from '@angular/common/http';
|
2
|
-
import { Injectable } from '@angular/core';
|
3
|
-
import { from } from 'rxjs';
|
4
|
-
import Swal from 'sweetalert2';
|
5
|
-
import * as i0 from "@angular/core";
|
6
|
-
/**
|
7
|
-
* Async modal dialog service
|
8
|
-
* DialogService makes this app easier to test by faking this service.
|
9
|
-
* TODO: better modal implementation that doesn't use window.confirm
|
10
|
-
*/
|
11
|
-
export class DialogServiceMaterial {
|
12
|
-
/**
|
13
|
-
* Ask user to confirm an action. `message` explains the action and choices.
|
14
|
-
* Returns observable resolving to `true`=confirm or `false`=cancel
|
15
|
-
*/
|
16
|
-
constructor() { }
|
17
|
-
confirm(message, text, confirmButtonText = 'Delete', cancelButtonText = 'Cancel') {
|
18
|
-
const confirmation = Swal.fire({
|
19
|
-
title: message || 'Are you sure?',
|
20
|
-
icon: 'warning',
|
21
|
-
text: text || '',
|
22
|
-
showCancelButton: true,
|
23
|
-
confirmButtonText: confirmButtonText,
|
24
|
-
cancelButtonText: cancelButtonText,
|
25
|
-
customClass: {
|
26
|
-
confirmButton: 'btn btn-red btn-fill btn-wd',
|
27
|
-
cancelButton: 'btn btn-grey btn-fill btn-wd',
|
28
|
-
},
|
29
|
-
buttonsStyling: false,
|
30
|
-
reverseButtons: true
|
31
|
-
})
|
32
|
-
.then((result) => {
|
33
|
-
if (result.value) {
|
34
|
-
return true;
|
35
|
-
}
|
36
|
-
else {
|
37
|
-
return false;
|
38
|
-
}
|
39
|
-
}).catch();
|
40
|
-
return from(confirmation);
|
41
|
-
}
|
42
|
-
showSaveMessage(message, title) {
|
43
|
-
const confirmation = Swal.fire({
|
44
|
-
icon: 'success',
|
45
|
-
title: message,
|
46
|
-
timer: 2000,
|
47
|
-
showConfirmButton: false,
|
48
|
-
// customClass: 'overflow-hidden',
|
49
|
-
buttonsStyling: false
|
50
|
-
}).then(() => {
|
51
|
-
return true;
|
52
|
-
}, () => {
|
53
|
-
return false;
|
54
|
-
}).catch();
|
55
|
-
return from(confirmation);
|
56
|
-
}
|
57
|
-
showRegisteredMessage(message, title) {
|
58
|
-
const confirmation = Swal.fire({
|
59
|
-
icon: 'success',
|
60
|
-
title: message,
|
61
|
-
showConfirmButton: true,
|
62
|
-
customClass: {
|
63
|
-
confirmButton: 'btn btn-success',
|
64
|
-
},
|
65
|
-
buttonsStyling: false
|
66
|
-
}).then(() => {
|
67
|
-
return true;
|
68
|
-
}, () => {
|
69
|
-
return false;
|
70
|
-
}).catch();
|
71
|
-
return from(confirmation);
|
72
|
-
}
|
73
|
-
showErrorMessage(e, message) {
|
74
|
-
if (!message) {
|
75
|
-
message = 'Validation errors';
|
76
|
-
}
|
77
|
-
if (e instanceof HttpErrorResponse) {
|
78
|
-
// Validation errors
|
79
|
-
if (e.status === 400) {
|
80
|
-
const errors = e.error.errors;
|
81
|
-
if (errors) {
|
82
|
-
errors.forEach(error => {
|
83
|
-
message += error.field + ' ' + error.detail + '\n';
|
84
|
-
});
|
85
|
-
}
|
86
|
-
}
|
87
|
-
}
|
88
|
-
const confirmation = Swal.fire({
|
89
|
-
icon: 'error',
|
90
|
-
title: message,
|
91
|
-
// timer: 2000,
|
92
|
-
showConfirmButton: true,
|
93
|
-
customClass: {
|
94
|
-
confirmButton: 'btn btn-success',
|
95
|
-
},
|
96
|
-
buttonsStyling: false
|
97
|
-
}).then(() => {
|
98
|
-
return true;
|
99
|
-
}, () => {
|
100
|
-
return false;
|
101
|
-
}).catch();
|
102
|
-
return from(confirmation);
|
103
|
-
}
|
104
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: DialogServiceMaterial, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
105
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: DialogServiceMaterial }); }
|
106
|
-
}
|
107
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: DialogServiceMaterial, decorators: [{
|
108
|
-
type: Injectable
|
109
|
-
}], ctorParameters: function () { return []; } });
|
110
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UtaW1wbGVtZW50YXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvbWF0ZXJpYWwvc3JjL3NlcnZpY2VzL2RpYWxvZy5zZXJ2aWNlLWltcGxlbWVudGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLElBQUksRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN4QyxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7O0FBRy9COzs7O0dBSUc7QUFFSCxNQUFNLE9BQU8scUJBQXFCO0lBQ2hDOzs7T0FHRztJQUNILGdCQUFnQixDQUFDO0lBQ2pCLE9BQU8sQ0FBQyxPQUFnQixFQUFFLElBQWEsRUFDckMsb0JBQTRCLFFBQVEsRUFDcEMsbUJBQTJCLFFBQVE7UUFDbkMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztZQUM3QixLQUFLLEVBQUUsT0FBTyxJQUFJLGVBQWU7WUFDakMsSUFBSSxFQUFFLFNBQVM7WUFDZixJQUFJLEVBQUUsSUFBSSxJQUFJLEVBQUU7WUFDaEIsZ0JBQWdCLEVBQUUsSUFBSTtZQUN0QixpQkFBaUIsRUFBRSxpQkFBaUI7WUFDcEMsZ0JBQWdCLEVBQUUsZ0JBQWdCO1lBQ2xDLFdBQVcsRUFBRTtnQkFDWCxhQUFhLEVBQUUsNkJBQTZCO2dCQUM1QyxZQUFZLEVBQUUsOEJBQThCO2FBQzdDO1lBQ0QsY0FBYyxFQUFFLEtBQUs7WUFDckIsY0FBYyxFQUFFLElBQUk7U0FDckIsQ0FBQzthQUVDLElBQUksQ0FBQyxDQUFDLE1BQVcsRUFBRSxFQUFFO1lBQ3BCLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRTtnQkFDaEIsT0FBTyxJQUFJLENBQUM7YUFDYjtpQkFBTTtnQkFDTCxPQUFPLEtBQUssQ0FBQzthQUNkO1FBQ0gsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBQ0QsZUFBZSxDQUFDLE9BQWdCLEVBQUUsS0FBYztRQUM5QyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQzdCLElBQUksRUFBRSxTQUFTO1lBQ2YsS0FBSyxFQUFFLE9BQU87WUFDZCxLQUFLLEVBQUUsSUFBSTtZQUNYLGlCQUFpQixFQUFFLEtBQUs7WUFDeEIsa0NBQWtDO1lBQ2xDLGNBQWMsRUFBRSxLQUFLO1NBQ3RCLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1gsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLEVBQUUsR0FBRyxFQUFFO1lBQ04sT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNYLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFDRCxxQkFBcUIsQ0FBQyxPQUFnQixFQUFFLEtBQWM7UUFDcEQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztZQUM3QixJQUFJLEVBQUUsU0FBUztZQUNmLEtBQUssRUFBRSxPQUFPO1lBQ2QsaUJBQWlCLEVBQUUsSUFBSTtZQUN2QixXQUFXLEVBQUU7Z0JBQ1gsYUFBYSxFQUFFLGlCQUFpQjthQUNqQztZQUNELGNBQWMsRUFBRSxLQUFLO1NBQ3RCLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1gsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLEVBQUUsR0FBRyxFQUFFO1lBQ04sT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNYLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxDQUFNLEVBQUUsT0FBZ0I7UUFDdkMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNaLE9BQU8sR0FBRyxtQkFBbUIsQ0FBQztTQUMvQjtRQUNELElBQUksQ0FBQyxZQUFZLGlCQUFpQixFQUFFO1lBQ2xDLG9CQUFvQjtZQUNwQixJQUFJLENBQUMsQ0FBQyxNQUFNLEtBQUssR0FBRyxFQUFFO2dCQUNwQixNQUFNLE1BQU0sR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztnQkFDOUIsSUFBSSxNQUFNLEVBQUU7b0JBQ1YsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTt3QkFDckIsT0FBTyxJQUFJLEtBQUssQ0FBQyxLQUFLLEdBQUcsR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO29CQUNyRCxDQUFDLENBQUMsQ0FBQztpQkFDSjthQUNGO1NBQ0Y7UUFDRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQzdCLElBQUksRUFBRSxPQUFPO1lBQ2IsS0FBSyxFQUFFLE9BQU87WUFDZCxlQUFlO1lBQ2YsaUJBQWlCLEVBQUUsSUFBSTtZQUN2QixXQUFXLEVBQUU7Z0JBQ1gsYUFBYSxFQUFFLGlCQUFpQjthQUNqQztZQUNELGNBQWMsRUFBRSxLQUFLO1NBQ3RCLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1gsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLEVBQUUsR0FBRyxFQUFFO1lBQ04sT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNYLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzVCLENBQUM7K0dBL0ZVLHFCQUFxQjttSEFBckIscUJBQXFCOzs0RkFBckIscUJBQXFCO2tCQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gJ0Byb3NvZnRsYWIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCBTd2FsIGZyb20gJ3N3ZWV0YWxlcnQyJztcclxuZGVjbGFyZSB2YXIgJDogYW55O1xyXG5cclxuLyoqXHJcbiAqIEFzeW5jIG1vZGFsIGRpYWxvZyBzZXJ2aWNlXHJcbiAqIERpYWxvZ1NlcnZpY2UgbWFrZXMgdGhpcyBhcHAgZWFzaWVyIHRvIHRlc3QgYnkgZmFraW5nIHRoaXMgc2VydmljZS5cclxuICogVE9ETzogYmV0dGVyIG1vZGFsIGltcGxlbWVudGF0aW9uIHRoYXQgZG9lc24ndCB1c2Ugd2luZG93LmNvbmZpcm1cclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIERpYWxvZ1NlcnZpY2VNYXRlcmlhbCBpbXBsZW1lbnRzIERpYWxvZ1NlcnZpY2Uge1xyXG4gIC8qKlxyXG4gICAqIEFzayB1c2VyIHRvIGNvbmZpcm0gYW4gYWN0aW9uLiBgbWVzc2FnZWAgZXhwbGFpbnMgdGhlIGFjdGlvbiBhbmQgY2hvaWNlcy5cclxuICAgKiBSZXR1cm5zIG9ic2VydmFibGUgcmVzb2x2aW5nIHRvIGB0cnVlYD1jb25maXJtIG9yIGBmYWxzZWA9Y2FuY2VsXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuICBjb25maXJtKG1lc3NhZ2U/OiBzdHJpbmcsIHRleHQ/OiBzdHJpbmcsXHJcbiAgICBjb25maXJtQnV0dG9uVGV4dDogc3RyaW5nID0gJ0RlbGV0ZScsXHJcbiAgICBjYW5jZWxCdXR0b25UZXh0OiBzdHJpbmcgPSAnQ2FuY2VsJyk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG4gICAgY29uc3QgY29uZmlybWF0aW9uID0gU3dhbC5maXJlKHtcclxuICAgICAgdGl0bGU6IG1lc3NhZ2UgfHwgJ0FyZSB5b3Ugc3VyZT8nLFxyXG4gICAgICBpY29uOiAnd2FybmluZycsXHJcbiAgICAgIHRleHQ6IHRleHQgfHwgJycsXHJcbiAgICAgIHNob3dDYW5jZWxCdXR0b246IHRydWUsXHJcbiAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiBjb25maXJtQnV0dG9uVGV4dCxcclxuICAgICAgY2FuY2VsQnV0dG9uVGV4dDogY2FuY2VsQnV0dG9uVGV4dCxcclxuICAgICAgY3VzdG9tQ2xhc3M6IHtcclxuICAgICAgICBjb25maXJtQnV0dG9uOiAnYnRuIGJ0bi1yZWQgYnRuLWZpbGwgYnRuLXdkJyxcclxuICAgICAgICBjYW5jZWxCdXR0b246ICdidG4gYnRuLWdyZXkgYnRuLWZpbGwgYnRuLXdkJyxcclxuICAgICAgfSxcclxuICAgICAgYnV0dG9uc1N0eWxpbmc6IGZhbHNlLFxyXG4gICAgICByZXZlcnNlQnV0dG9uczogdHJ1ZVxyXG4gICAgfSlcclxuXHJcbiAgICAgIC50aGVuKChyZXN1bHQ6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQudmFsdWUpIHtcclxuICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KS5jYXRjaCgpO1xyXG4gICAgcmV0dXJuIGZyb20oY29uZmlybWF0aW9uKTtcclxuICB9XHJcbiAgc2hvd1NhdmVNZXNzYWdlKG1lc3NhZ2U/OiBzdHJpbmcsIHRpdGxlPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcbiAgICBjb25zdCBjb25maXJtYXRpb24gPSBTd2FsLmZpcmUoe1xyXG4gICAgICBpY29uOiAnc3VjY2VzcycsXHJcbiAgICAgIHRpdGxlOiBtZXNzYWdlLFxyXG4gICAgICB0aW1lcjogMjAwMCxcclxuICAgICAgc2hvd0NvbmZpcm1CdXR0b246IGZhbHNlLFxyXG4gICAgICAvLyBjdXN0b21DbGFzczogJ292ZXJmbG93LWhpZGRlbicsXHJcbiAgICAgIGJ1dHRvbnNTdHlsaW5nOiBmYWxzZVxyXG4gICAgfSkudGhlbigoKSA9PiB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSwgKCkgPT4ge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9KS5jYXRjaCgpO1xyXG4gICAgcmV0dXJuIGZyb20oY29uZmlybWF0aW9uKTtcclxuICB9XHJcbiAgc2hvd1JlZ2lzdGVyZWRNZXNzYWdlKG1lc3NhZ2U/OiBzdHJpbmcsIHRpdGxlPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcbiAgICBjb25zdCBjb25maXJtYXRpb24gPSBTd2FsLmZpcmUoe1xyXG4gICAgICBpY29uOiAnc3VjY2VzcycsXHJcbiAgICAgIHRpdGxlOiBtZXNzYWdlLFxyXG4gICAgICBzaG93Q29uZmlybUJ1dHRvbjogdHJ1ZSxcclxuICAgICAgY3VzdG9tQ2xhc3M6IHtcclxuICAgICAgICBjb25maXJtQnV0dG9uOiAnYnRuIGJ0bi1zdWNjZXNzJyxcclxuICAgICAgfSxcclxuICAgICAgYnV0dG9uc1N0eWxpbmc6IGZhbHNlXHJcbiAgICB9KS50aGVuKCgpID0+IHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9LCAoKSA9PiB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH0pLmNhdGNoKCk7XHJcbiAgICByZXR1cm4gZnJvbShjb25maXJtYXRpb24pO1xyXG4gIH1cclxuXHJcbiAgc2hvd0Vycm9yTWVzc2FnZShlOiBhbnksIG1lc3NhZ2U/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgIGlmICghbWVzc2FnZSkge1xyXG4gICAgICBtZXNzYWdlID0gJ1ZhbGlkYXRpb24gZXJyb3JzJztcclxuICAgIH1cclxuICAgIGlmIChlIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UpIHtcclxuICAgICAgLy8gVmFsaWRhdGlvbiBlcnJvcnNcclxuICAgICAgaWYgKGUuc3RhdHVzID09PSA0MDApIHtcclxuICAgICAgICBjb25zdCBlcnJvcnMgPSBlLmVycm9yLmVycm9ycztcclxuICAgICAgICBpZiAoZXJyb3JzKSB7XHJcbiAgICAgICAgICBlcnJvcnMuZm9yRWFjaChlcnJvciA9PiB7XHJcbiAgICAgICAgICAgIG1lc3NhZ2UgKz0gZXJyb3IuZmllbGQgKyAnICcgKyBlcnJvci5kZXRhaWwgKyAnXFxuJztcclxuICAgICAgICAgIH0pOyAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBjb25zdCBjb25maXJtYXRpb24gPSBTd2FsLmZpcmUoe1xyXG4gICAgICBpY29uOiAnZXJyb3InLFxyXG4gICAgICB0aXRsZTogbWVzc2FnZSxcclxuICAgICAgLy8gdGltZXI6IDIwMDAsXHJcbiAgICAgIHNob3dDb25maXJtQnV0dG9uOiB0cnVlLFxyXG4gICAgICBjdXN0b21DbGFzczoge1xyXG4gICAgICAgIGNvbmZpcm1CdXR0b246ICdidG4gYnRuLXN1Y2Nlc3MnLFxyXG4gICAgICB9LFxyXG4gICAgICBidXR0b25zU3R5bGluZzogZmFsc2VcclxuICAgIH0pLnRoZW4oKCkgPT4ge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0sICgpID0+IHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfSkuY2F0Y2goKTtcclxuICAgIHJldHVybiBmcm9tKGNvbmZpcm1hdGlvbik7XHJcbiAgfSBcclxufVxyXG5cclxuIl19
|
File without changes
|