@seniorsistemas/angular-components 17.8.7 → 17.8.8
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/bundles/seniorsistemas-angular-components.umd.js +19 -17
- package/bundles/seniorsistemas-angular-components.umd.js.map +1 -1
- package/bundles/seniorsistemas-angular-components.umd.min.js +1 -1
- package/bundles/seniorsistemas-angular-components.umd.min.js.map +1 -1
- package/components/profile-picture-picker/models/profile-picture-picker-data.d.ts +1 -1
- package/components/profile-picture-picker/profile-picture-picker.component.d.ts +4 -3
- package/esm2015/components/dynamic-form/components/fields/profile-picture/profile-picture-field.component.js +2 -2
- package/esm2015/components/password-strength/password-strength.directive.js +1 -4
- package/esm2015/components/profile-picture-picker/index.js +1 -1
- package/esm2015/components/profile-picture-picker/models/profile-picture-picker-data.js +1 -1
- package/esm2015/components/profile-picture-picker/profile-picture-picker.component.js +19 -14
- package/esm5/components/dynamic-form/components/fields/profile-picture/profile-picture-field.component.js +2 -2
- package/esm5/components/password-strength/password-strength.directive.js +1 -4
- package/esm5/components/profile-picture-picker/index.js +1 -1
- package/esm5/components/profile-picture-picker/models/profile-picture-picker-data.js +1 -1
- package/esm5/components/profile-picture-picker/profile-picture-picker.component.js +19 -14
- package/fesm2015/seniorsistemas-angular-components.js +19 -17
- package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
- package/fesm5/seniorsistemas-angular-components.js +19 -17
- package/fesm5/seniorsistemas-angular-components.js.map +1 -1
- package/package.json +1 -1
- package/seniorsistemas-angular-components.metadata.json +1 -1
|
@@ -11,13 +11,8 @@ var ProfilePicturePickerComponent = /** @class */ (function () {
|
|
|
11
11
|
this.confirmationService = confirmationService;
|
|
12
12
|
this.translateService = translateService;
|
|
13
13
|
this.aspectRatio = 1;
|
|
14
|
-
this.confirmationTexts = {
|
|
15
|
-
removalHeader: this.translateService.instant("platform.angular_components.remove_image"),
|
|
16
|
-
removalMessage: this.translateService.instant("platform.angular_components.confirmation_remove_image"),
|
|
17
|
-
removalAcceptLabel: this.translateService.instant("platform.angular_components.remove"),
|
|
18
|
-
removalRejectLabel: this.translateService.instant("platform.angular_components.cancel"),
|
|
19
|
-
};
|
|
20
14
|
this.supportedExtensions = [];
|
|
15
|
+
this.imageChange = new EventEmitter();
|
|
21
16
|
this.changedImage = new EventEmitter();
|
|
22
17
|
this.removedImage = new EventEmitter();
|
|
23
18
|
this.invalidFile = new EventEmitter();
|
|
@@ -25,6 +20,9 @@ var ProfilePicturePickerComponent = /** @class */ (function () {
|
|
|
25
20
|
ProfilePicturePickerComponent_1 = ProfilePicturePickerComponent;
|
|
26
21
|
ProfilePicturePickerComponent.prototype.writeValue = function (value) {
|
|
27
22
|
this._value = value;
|
|
23
|
+
if (value) {
|
|
24
|
+
this.image = value.base64;
|
|
25
|
+
}
|
|
28
26
|
};
|
|
29
27
|
ProfilePicturePickerComponent.prototype.registerOnChange = function (onChange) {
|
|
30
28
|
this._onChange = onChange;
|
|
@@ -78,15 +76,17 @@ var ProfilePicturePickerComponent = /** @class */ (function () {
|
|
|
78
76
|
};
|
|
79
77
|
ProfilePicturePickerComponent.prototype.removePhoto = function () {
|
|
80
78
|
var _this = this;
|
|
79
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
81
80
|
this.confirmationService.confirm({
|
|
82
|
-
message: this.confirmationTexts.removalMessage,
|
|
83
|
-
acceptLabel: this.confirmationTexts.removalAcceptLabel,
|
|
84
|
-
rejectLabel: this.confirmationTexts.removalRejectLabel,
|
|
85
|
-
header: this.confirmationTexts.removalHeader,
|
|
81
|
+
message: (_b = (_a = this.confirmationTexts) === null || _a === void 0 ? void 0 : _a.removalMessage) !== null && _b !== void 0 ? _b : this.translateService.instant("platform.angular_components.confirmation_remove_image"),
|
|
82
|
+
acceptLabel: (_d = (_c = this.confirmationTexts) === null || _c === void 0 ? void 0 : _c.removalAcceptLabel) !== null && _d !== void 0 ? _d : this.translateService.instant("platform.angular_components.remove"),
|
|
83
|
+
rejectLabel: (_f = (_e = this.confirmationTexts) === null || _e === void 0 ? void 0 : _e.removalRejectLabel) !== null && _f !== void 0 ? _f : this.translateService.instant("platform.angular_components.cancel"),
|
|
84
|
+
header: (_h = (_g = this.confirmationTexts) === null || _g === void 0 ? void 0 : _g.removalHeader) !== null && _h !== void 0 ? _h : this.translateService.instant("platform.angular_components.remove_image"),
|
|
85
|
+
rejectButtonStyleClass: "ui-button-secondary",
|
|
86
86
|
accept: function () {
|
|
87
87
|
var fileInputElement = _this.fileInput.nativeElement;
|
|
88
88
|
fileInputElement.value = "";
|
|
89
|
-
_this.image =
|
|
89
|
+
_this.image = null;
|
|
90
90
|
_this.removedImage.emit();
|
|
91
91
|
},
|
|
92
92
|
});
|
|
@@ -105,9 +105,11 @@ var ProfilePicturePickerComponent = /** @class */ (function () {
|
|
|
105
105
|
fileReader.onloadend = function (fileEvent) {
|
|
106
106
|
_this.imageCropperService.show(__assign({ imageSource: fileEvent.target.result, croppedImage: function (image) {
|
|
107
107
|
var _a;
|
|
108
|
+
var data = { source: file, base64: image };
|
|
108
109
|
_this.image = image;
|
|
110
|
+
_this.imageChange.emit(data);
|
|
109
111
|
_this.changedImage.emit(image);
|
|
110
|
-
_this._value = {
|
|
112
|
+
_this._value = { source: file, base64: image };
|
|
111
113
|
(_a = _this._onChange) === null || _a === void 0 ? void 0 : _a.call(_this, _this._value);
|
|
112
114
|
}, changeImage: function () { return _this.selectPhoto(); }, allowSelectAnother: false, aspectRatio: _this.aspectRatio }, _this.cropperLabelsConfig));
|
|
113
115
|
};
|
|
@@ -149,7 +151,7 @@ var ProfilePicturePickerComponent = /** @class */ (function () {
|
|
|
149
151
|
};
|
|
150
152
|
ProfilePicturePickerComponent.prototype._validateFileSize = function (file) {
|
|
151
153
|
if (this.maxFileSize) {
|
|
152
|
-
return file.size
|
|
154
|
+
return file.size <= this.maxFileSize;
|
|
153
155
|
}
|
|
154
156
|
return true;
|
|
155
157
|
};
|
|
@@ -211,6 +213,9 @@ var ProfilePicturePickerComponent = /** @class */ (function () {
|
|
|
211
213
|
__decorate([
|
|
212
214
|
ViewChild("fileInput", { read: ElementRef })
|
|
213
215
|
], ProfilePicturePickerComponent.prototype, "fileInput", void 0);
|
|
216
|
+
__decorate([
|
|
217
|
+
Output()
|
|
218
|
+
], ProfilePicturePickerComponent.prototype, "imageChange", void 0);
|
|
214
219
|
__decorate([
|
|
215
220
|
Output()
|
|
216
221
|
], ProfilePicturePickerComponent.prototype, "changedImage", void 0);
|
|
@@ -247,4 +252,4 @@ var ProfilePicturePickerComponent = /** @class */ (function () {
|
|
|
247
252
|
return ProfilePicturePickerComponent;
|
|
248
253
|
}());
|
|
249
254
|
export { ProfilePicturePickerComponent };
|
|
250
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS1waWN0dXJlLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9wcm9maWxlLXBpY3R1cmUtcGlja2VyL3Byb2ZpbGUtcGljdHVyZS1waWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0osU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRWxELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzdFLE9BQU8sRUFBMEMsY0FBYyxFQUFrRCxNQUFNLGdCQUFnQixDQUFDO0FBWXhJO0lBbUVHLHVDQUNvQixtQkFBd0MsRUFDeEMsbUJBQXdDLEVBQ3hDLGdCQUFrQztRQUZsQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQTNEL0MsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFZaEIsc0JBQWlCLEdBQXNCO1lBQzNDLGFBQWEsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLDBDQUEwQyxDQUFDO1lBQ3hGLGNBQWMsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLHVEQUF1RCxDQUFDO1lBQ3RHLGtCQUFrQixFQUFFLElBQUksQ0FBQyxn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LEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDO29FQUNoQjtJQUc3QjtRQURDLE1BQU0sRUFBRTt1RUFDc0Q7SUFHL0Q7UUFEQyxNQUFNLEVBQUU7dUVBQ2dDO0lBR3pDO1FBREMsTUFBTSxFQUFFO3NFQUNtRTtJQTZCNUU7UUFEQyxZQUFZLENBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7bUVBSXBDO0lBR0Q7UUFEQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7b0VBSXJDO0lBR0Q7UUFEQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7K0RBZWhDO0lBSUQ7UUFEQyxZQUFZLENBQUMsZUFBZSxDQUFDO2lFQWE3QjtJQXBJUyw2QkFBNkI7UUFWekMsU0FBUyxDQUFDO1lBQ1IsUUFBUSxFQUFFLDBCQUEwQjtZQUNwQyw2M0NBQW9EO1lBRXBELFNBQVMsRUFBRSxDQUFDO29CQUNULE9BQU8sRUFBRSxpQkFBaUI7b0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsY0FBTSxPQUFBLCtCQUE2QixFQUE3QixDQUE2QixDQUFDO29CQUM1RCxLQUFLLEVBQUUsSUFBSTtpQkFDYixDQUFDOztTQUNKLENBQUM7T0FDVyw2QkFBNkIsQ0FpUHpDO0lBQUQsb0NBQUM7Q0FBQSxBQWpQRCxJQWlQQztTQWpQWSw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgQ29tcG9uZW50LFxuICAgRWxlbWVudFJlZixcbiAgIEV2ZW50RW1pdHRlcixcbiAgIGZvcndhcmRSZWYsXG4gICBIb3N0TGlzdGVuZXIsXG4gICBJbnB1dCxcbiAgIE9uSW5pdCxcbiAgIE91dHB1dCxcbiAgIFZpZXdDaGlsZCxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbmltcG9ydCB7IENvbmZpcm1hdGlvblNlcnZpY2UgfSBmcm9tIFwicHJpbWVuZy9hcGlcIjtcblxuaW1wb3J0IHsgSW1hZ2VDcm9wcGVyU2VydmljZSB9IGZyb20gXCIuLi9pbWFnZS1jcm9wcGVyL2ltYWdlLWNyb3BwZXIuc2VydmljZVwiO1xuaW1wb3J0IHsgQ29uZmlybWF0aW9uVGV4dHMsIENyb3BwZXJMYWJlbHNDb25maWcsIEZpbGVWYWxpZGF0aW9uLCBGaWxlVmFsaWRhdGlvbkVycm9ycywgUHJvZmlsZVBpY3R1cmVQaWNrZXJEYXRhIH0gZnJvbSBcIi4vbW9kZWxzL2luZGV4XCI7XG5cbkBDb21wb25lbnQoe1xuICAgc2VsZWN0b3I6IFwicy1wcm9maWxlLXBpY3R1cmUtcGlja2VyXCIsXG4gICB0ZW1wbGF0ZVVybDogXCJwcm9maWxlLXBpY3R1cmUtcGlja2VyLmNvbXBvbmVudC5odG1sXCIsXG4gICBzdHlsZVVybHM6IFtcInByb2ZpbGUtcGljdHVyZS1waWNrZXIuY29tcG9uZW50LnNjc3NcIl0sXG4gICBwcm92aWRlcnM6IFt7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFByb2ZpbGVQaWN0dXJlUGlja2VyQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgfV0sXG59KVxuZXhwb3J0IGNsYXNzIFByb2ZpbGVQaWN0dXJlUGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gICBASW5wdXQoKVxuICAgcHVibGljIHNpbXBsZVRpdGxlOiBzdHJpbmc7XG5cbiAgIEBJbnB1dCgpXG4gICBwdWJsaWMgYWN0aW9uVGl0bGU6IHN0cmluZztcblxuICAgQElucHV0KClcbiAgIHB1YmxpYyBzdWJ0aXRsZTogc3RyaW5nO1xuXG4gICBASW5wdXQoKVxuICAgcHVibGljIGFzcGVjdFJhdGlvID0gMTtcblxuICAgQElucHV0KClcbiAgIHB1YmxpYyBjcm9wcGVyTGFiZWxzQ29uZmlnOiBDcm9wcGVyTGFiZWxzQ29uZmlnO1xuXG4gICBASW5wdXQoKVxuICAgcHVibGljIHJlbW92ZUJ1dHRvbkxhYmVsOiBzdHJpbmc7XG5cbiAgIEBJbnB1dCgpXG4gICBwdWJsaWMgY2hhbmdlQnV0dG9uTGFiZWw6IHN0cmluZztcblxuICAgQElucHV0KClcbiAgIHB1YmxpYyBjb25maXJtYXRpb25UZXh0czogQ29uZmlybWF0aW9uVGV4dHMgPSB7XG4gICAgICByZW1vdmFsSGVhZGVyOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcInBsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5yZW1vdmVfaW1hZ2VcIiksXG4gICAgICByZW1vdmFsTWVzc2FnZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMuY29uZmlybWF0aW9uX3JlbW92ZV9pbWFnZVwiKSxcbiAgICAgIHJlbW92YWxBY2NlcHRMYWJlbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMucmVtb3ZlXCIpLFxuICAgICAgcmVtb3ZhbFJlamVjdExhYmVsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcInBsYXRmb3JtLmFuZ3VsYXJfY29tcG9uZW50cy5jYW5jZWxcIiksXG4gICB9O1xuXG4gICBASW5wdXQoKVxuICAgcHVibGljIG1heEZpbGVTaXplOiBudW1iZXI7XG5cbiAgIEBJbnB1dCgpXG4gICBwdWJsaWMgYWNjZXB0OiBzdHJpbmc7XG5cbiAgIEBJbnB1dCgpXG4gICBwdWJsaWMgc3VwcG9ydGVkRXh0ZW5zaW9uczogc3RyaW5nW10gPSBbXTtcblxuICAgQElucHV0KClcbiAgIHB1YmxpYyBpbWFnZTogc3RyaW5nO1xuXG4gICBAVmlld0NoaWxkKFwidXBsb2FkUGljdHVyZVwiKVxuICAgcHVibGljIHVwbG9hZFBpY3R1cmU6IEVsZW1lbnRSZWY7XG5cbiAgIEBWaWV3Q2hpbGQoXCJpbmZvXCIpXG4gICBwdWJsaWMgaW5mbzogRWxlbWVudFJlZjtcblxuICAgQFZpZXdDaGlsZChcInRodW1ibmFpbFwiLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgIHB1YmxpYyB0aHVtYm5haWw6IEVsZW1lbnRSZWY7XG5cbiAgIEBWaWV3Q2hpbGQoXCJmaWxlSW5wdXRcIiwgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gICBwdWJsaWMgZmlsZUlucHV0OiBFbGVtZW50UmVmO1xuXG4gICBAT3V0cHV0KClcbiAgIHB1YmxpYyBjaGFuZ2VkSW1hZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICBAT3V0cHV0KClcbiAgIHB1YmxpYyByZW1vdmVkSW1hZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgIEBPdXRwdXQoKVxuICAgcHVibGljIGludmFsaWRGaWxlOiBFdmVudEVtaXR0ZXI8RmlsZVZhbGlkYXRpb25FcnJvcnM+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICBwcml2YXRlIF92YWx1ZTogUHJvZmlsZVBpY3R1cmVQaWNrZXJEYXRhO1xuICAgcHJpdmF0ZSBfb25DaGFuZ2U6ICh2YWx1ZTogUHJvZmlsZVBpY3R1cmVQaWNrZXJEYXRhKSA9PiB2b2lkO1xuICAgcHJpdmF0ZSBfb25Ub3VjaGVkOiAoKSA9PiB2b2lkO1xuXG4gICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgcmVhZG9ubHkgaW1hZ2VDcm9wcGVyU2VydmljZTogSW1hZ2VDcm9wcGVyU2VydmljZSxcbiAgICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlybWF0aW9uU2VydmljZTogQ29uZmlybWF0aW9uU2VydmljZSxcbiAgICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICkgeyB9XG5cbiAgIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XG4gICB9XG5cbiAgIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKG9uQ2hhbmdlOiAodmFsdWU6IGFueSkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgdGhpcy5fb25DaGFuZ2UgPSBvbkNoYW5nZTtcbiAgIH1cblxuICAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKG9uVG91Y2hlZDogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgdGhpcy5fb25Ub3VjaGVkID0gb25Ub3VjaGVkO1xuICAgfVxuXG4gICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICB0aGlzLl9ub3JtYWxpemVTdXBvcnRlZEV4dGVuc2lvbnMoKTtcbiAgIH1cblxuICAgQEhvc3RMaXN0ZW5lcihcImRyYWdvdmVyXCIsIFtcIiRldmVudFwiXSlcbiAgIHB1YmxpYyBvbkRyYWdPdmVyKGV2ZW50OiBEcmFnRXZlbnQpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgIH1cblxuICAgQEhvc3RMaXN0ZW5lcihcImRyYWdsZWF2ZVwiLCBbXCIkZXZlbnRcIl0pXG4gICBwdWJsaWMgb25EcmFnTGVhdmUoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgfVxuXG4gICBASG9zdExpc3RlbmVyKFwiZHJvcFwiLCBbXCIkZXZlbnRcIl0pXG4gICBwdWJsaWMgb25Ecm9wKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgdGhpcy5fb25Ub3VjaGVkPy4oKTtcblxuICAgICAgY29uc3QgZmlsZXM6IEZpbGVbXSA9IFtdO1xuICAgICAgY29uc3QgZGF0YVRyYW5zZmVyRmlsZXMgPSBldmVudC5kYXRhVHJhbnNmZXIuZmlsZXM7XG5cbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YVRyYW5zZmVyRmlsZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgIGZpbGVzLnB1c2goZGF0YVRyYW5zZmVyRmlsZXMuaXRlbShpKSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX3Nob3dJbWFnZUNyb3BwZXIoZmlsZXMpO1xuICAgfVxuXG4gICAvLyBWZXJpZmljYW5kbyBvIHJlZGltZW5zaW9uYW1lbnRvIHBhcmEgYWp1c3RhciBvIGRlc2lnbiBwYXJhIGZpY2FyIHJlc3BvbnNpdm8uXG4gICBASG9zdExpc3RlbmVyKFwid2luZG93OnJlc2l6ZVwiKVxuICAgcHVibGljIG9uUmVzaXplKCk6IHZvaWQge1xuICAgICAgaWYgKHRoaXMudXBsb2FkUGljdHVyZSAmJiB0aGlzLmluZm8gJiYgdGhpcy50aHVtYm5haWwpIHtcbiAgICAgICAgIGNvbnN0IHVwbG9hZFBpY3R1cmVXaWR0aCA9IHRoaXMuX2dldFdpZHRoRWxlbWVudCh0aGlzLnVwbG9hZFBpY3R1cmUpO1xuICAgICAgICAgY29uc3QgaW5mb1dpZHRoID0gdGhpcy5fZ2V0V2lkdGhFbGVtZW50KHRoaXMuaW5mbyk7XG4gICAgICAgICBjb25zdCB0aHVtYm5haWxXaWR0aCA9IHRoaXMuX2dldFdpZHRoRWxlbWVudCh0aGlzLnRodW1ibmFpbCk7XG5cbiAgICAgICAgIGlmICh0aHVtYm5haWxXaWR0aCArIGluZm9XaWR0aCA+IHVwbG9hZFBpY3R1cmVXaWR0aCkge1xuICAgICAgICAgICAgdGhpcy51cGxvYWRQaWN0dXJlLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChcInVwbG9hZC1waWN0dXJlLS1zbWFsbFwiKTtcbiAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnVwbG9hZFBpY3R1cmUubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKFwidXBsb2FkLXBpY3R1cmUtLXNtYWxsXCIpO1xuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxuXG4gICBwdWJsaWMgc2VsZWN0UGhvdG8oKTogdm9pZCB7XG4gICAgICBjb25zdCBmaWxlSW5wdXRFbGVtZW50ID0gdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudDtcbiAgICAgIGZpbGVJbnB1dEVsZW1lbnQudmFsdWUgPSBcIlwiO1xuICAgICAgZmlsZUlucHV0RWxlbWVudC5jbGljaygpO1xuXG4gICAgICB0aGlzLl9vblRvdWNoZWQ/LigpO1xuICAgfVxuXG4gICBwdWJsaWMgcmVtb3ZlUGhvdG8oKTogdm9pZCB7XG4gICAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2UuY29uZmlybSh7XG4gICAgICAgICBtZXNzYWdlOiB0aGlzLmNvbmZpcm1hdGlvblRleHRzLnJlbW92YWxNZXNzYWdlLFxuICAgICAgICAgYWNjZXB0TGFiZWw6IHRoaXMuY29uZmlybWF0aW9uVGV4dHMucmVtb3ZhbEFjY2VwdExhYmVsLFxuICAgICAgICAgcmVqZWN0TGFiZWw6IHRoaXMuY29uZmlybWF0aW9uVGV4dHMucmVtb3ZhbFJlamVjdExhYmVsLFxuICAgICAgICAgaGVhZGVyOiB0aGlzLmNvbmZpcm1hdGlvblRleHRzLnJlbW92YWxIZWFkZXIsXG4gICAgICAgICBhY2NlcHQ6ICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZpbGVJbnB1dEVsZW1lbnQgPSB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50O1xuICAgICAgICAgICAgZmlsZUlucHV0RWxlbWVudC52YWx1ZSA9IFwiXCI7XG4gICAgICAgICAgICB0aGlzLmltYWdlID0gXCJcIjtcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlZEltYWdlLmVtaXQoKTtcbiAgICAgICAgIH0sXG4gICAgICB9KTtcbiAgIH1cblxuICAgcHVibGljIHBob3RvU2VsZWN0ZWQoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgdGhpcy5fc2hvd0ltYWdlQ3JvcHBlcihldmVudC5zcmNFbGVtZW50LmZpbGVzKTtcbiAgIH1cblxuICAgcHJpdmF0ZSBfc2hvd0ltYWdlQ3JvcHBlcihmaWxlczogRmlsZVtdKTogdm9pZCB7XG4gICAgICBpZiAoIXRoaXMuX3ZhbGlkYXRlRGF0YShmaWxlcykpIHtcbiAgICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZmlsZSA9IGZpbGVzWzBdO1xuXG4gICAgICBjb25zdCBmaWxlUmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgIGZpbGVSZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcbiAgICAgIGZpbGVSZWFkZXIub25sb2FkZW5kID0gKGZpbGVFdmVudDogYW55KSA9PiB7XG4gICAgICAgICB0aGlzLmltYWdlQ3JvcHBlclNlcnZpY2Uuc2hvdyh7XG4gICAgICAgICAgICBpbWFnZVNvdXJjZTogZmlsZUV2ZW50LnRhcmdldC5yZXN1bHQsXG4gICAgICAgICAgICBjcm9wcGVkSW1hZ2U6IGltYWdlID0+IHtcbiAgICAgICAgICAgICAgIHRoaXMuaW1hZ2UgPSBpbWFnZTtcbiAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlZEltYWdlLmVtaXQoaW1hZ2UpO1xuICAgICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSB7IHNvdXJjZUZpbGU6IGZpbGUsIGJhc2U2NDogaW1hZ2UgfTtcbiAgICAgICAgICAgICAgIHRoaXMuX29uQ2hhbmdlPy4odGhpcy5fdmFsdWUpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGNoYW5nZUltYWdlOiAoKSA9PiB0aGlzLnNlbGVjdFBob3RvKCksXG4gICAgICAgICAgICBhbGxvd1NlbGVjdEFub3RoZXI6IGZhbHNlLFxuICAgICAgICAgICAgYXNwZWN0UmF0aW86IHRoaXMuYXNwZWN0UmF0aW8sXG4gICAgICAgICAgICAuLi50aGlzLmNyb3BwZXJMYWJlbHNDb25maWcsXG4gICAgICAgICB9KTtcbiAgICAgIH07XG4gICB9XG5cbiAgIHByaXZhdGUgX25vcm1hbGl6ZVN1cG9ydGVkRXh0ZW5zaW9ucygpOiB2b2lkIHtcbiAgICAgIHRoaXMuc3VwcG9ydGVkRXh0ZW5zaW9ucyA9IHRoaXMuc3VwcG9ydGVkRXh0ZW5zaW9uc1xuICAgICAgICAgPy5tYXAoZXh0ZW5zaW9uID0+IGV4dGVuc2lvbi5yZXBsYWNlKFwiLlwiLCBcIlwiKS50b0xvY2FsZUxvd2VyQ2FzZSgpKTtcbiAgIH1cblxuICAgcHJpdmF0ZSBfdmFsaWRhdGVEYXRhKGZpbGVzOiBGaWxlW10pOiBib29sZWFuIHtcbiAgICAgIGlmICghZmlsZXMubGVuZ3RoKSB7XG4gICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGlmIChmaWxlcy5sZW5ndGggPiAxKSB7XG4gICAgICAgICB0aGlzLmludmFsaWRGaWxlLmVtaXQoeyBmaWxlOiBudWxsLCB2YWxpZGF0aW9uOiBGaWxlVmFsaWRhdGlvbi5NYXhGaWxlTGltaXQgfSk7XG4gICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGZpbGUgPSBmaWxlc1swXTtcblxuICAgICAgaWYgKCFmaWxlLnR5cGUuaW5jbHVkZXMoXCJpbWFnZVwiKSkge1xuICAgICAgICAgdGhpcy5pbnZhbGlkRmlsZS5lbWl0KHsgZmlsZSwgdmFsaWRhdGlvbjogRmlsZVZhbGlkYXRpb24uVHlwZUludmFsaWQgfSk7XG4gICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGlmICghdGhpcy5fdmFsaWRhdGVGaWxlRXh0ZW5zaW9uKGZpbGUpKSB7XG4gICAgICAgICB0aGlzLmludmFsaWRGaWxlLmVtaXQoeyBmaWxlLCB2YWxpZGF0aW9uOiBGaWxlVmFsaWRhdGlvbi5VbnN1cHBvcnRlZEV4dGVuc2lvbiB9KTtcbiAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgaWYgKCF0aGlzLl92YWxpZGF0ZUZpbGVTaXplKGZpbGUpKSB7XG4gICAgICAgICB0aGlzLmludmFsaWRGaWxlLmVtaXQoeyBmaWxlLCB2YWxpZGF0aW9uOiBGaWxlVmFsaWRhdGlvbi5NYXhGaWxlU2l6ZSB9KTtcbiAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRydWU7XG4gICB9XG5cbiAgIHByaXZhdGUgX3ZhbGlkYXRlRmlsZUV4dGVuc2lvbihmaWxlOiBGaWxlKTogYm9vbGVhbiB7XG4gICAgICBpZiAodGhpcy5zdXBwb3J0ZWRFeHRlbnNpb25zPy5sZW5ndGgpIHtcbiAgICAgICAgIGNvbnN0IGV4dGVuc2lvbiA9IGZpbGUubmFtZS5zcGxpdChcIi5cIikucG9wKCkudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgIHJldHVybiB0aGlzLnN1cHBvcnRlZEV4dGVuc2lvbnMuaW5jbHVkZXMoZXh0ZW5zaW9uKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgfVxuXG4gICBwcml2YXRlIF92YWxpZGF0ZUZpbGVTaXplKGZpbGU6IEZpbGUpOiBib29sZWFuIHtcbiAgICAgIGlmICh0aGlzLm1heEZpbGVTaXplKSB7XG4gICAgICAgICByZXR1cm4gZmlsZS5zaXplID4gdGhpcy5tYXhGaWxlU2l6ZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgfVxuXG4gICBwcml2YXRlIF9nZXRXaWR0aEVsZW1lbnQoZWxlbWVudDogRWxlbWVudFJlZik6IG51bWJlciB7XG4gICAgICBjb25zdCB7IGxlZnQsIHJpZ2h0IH0gPSBlbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICByZXR1cm4gcmlnaHQgLSBsZWZ0O1xuICAgfVxufVxuIl19
|
|
255
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZS1waWN0dXJlLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzLyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9wcm9maWxlLXBpY3R1cmUtcGlja2VyL3Byb2ZpbGUtcGljdHVyZS1waWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0osU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRWxELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzdFLE9BQU8sRUFBMEMsY0FBYyxFQUFrRCxNQUFNLGdCQUFnQixDQUFDO0FBWXhJO0lBaUVHLHVDQUNvQixtQkFBd0MsRUFDeEMsbUJBQXdDLEVBQ3hDLGdCQUFrQztRQUZsQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQXpEL0MsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFxQmhCLHdCQUFtQixHQUFhLEVBQUUsQ0FBQztRQWtCbkMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBNEIsQ0FBQTtRQUcxRCxpQkFBWSxHQUF5QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBR3hELGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUdsQyxnQkFBVyxHQUF1QyxJQUFJLFlB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QztRQURDLEtBQUssRUFBRTtnRUFDYTtJQUdyQjtRQURDLFNBQVMsQ0FBQyxlQUFlLENBQUM7d0VBQ007SUFHakM7UUFEQyxTQUFTLENBQUMsTUFBTSxDQUFDOytEQUNNO0lBR3hCO1FBREMsU0FBUyxDQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQztvRUFDaEI7SUFHN0I7UUFEQyxTQUFTLENBQUMsV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDO29FQUNoQjtJQUc3QjtRQURDLE1BQU0sRUFBRTtzRUFDd0Q7SUFHakU7UUFEQyxNQUFNLEVBQUU7dUVBQ3NEO0lBRy9EO1FBREMsTUFBTSxFQUFFO3VFQUNnQztJQUd6QztRQURDLE1BQU0sRUFBRTtzRUFDbUU7SUFnQzVFO1FBREMsWUFBWSxDQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO21FQUlwQztJQUdEO1FBREMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO29FQUlyQztJQUdEO1FBREMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDOytEQWVoQztJQUlEO1FBREMsWUFBWSxDQUFDLGVBQWUsQ0FBQztpRUFhN0I7SUFySVMsNkJBQTZCO1FBVnpDLFNBQVMsQ0FBQztZQUNSLFFBQVEsRUFBRSwwQkFBMEI7WUFDcEMsNjNDQUFvRDtZQUVwRCxTQUFTLEVBQUUsQ0FBQztvQkFDVCxPQUFPLEVBQUUsaUJBQWlCO29CQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLGNBQU0sT0FBQSwrQkFBNkIsRUFBN0IsQ0FBNkIsQ0FBQztvQkFDNUQsS0FBSyxFQUFFLElBQUk7aUJBQ2IsQ0FBQzs7U0FDSixDQUFDO09BQ1csNkJBQTZCLENBcVB6QztJQUFELG9DQUFDO0NBQUEsQUFyUEQsSUFxUEM7U0FyUFksNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgIENvbXBvbmVudCxcbiAgIEVsZW1lbnRSZWYsXG4gICBFdmVudEVtaXR0ZXIsXG4gICBmb3J3YXJkUmVmLFxuICAgSG9zdExpc3RlbmVyLFxuICAgSW5wdXQsXG4gICBPbkluaXQsXG4gICBPdXRwdXQsXG4gICBWaWV3Q2hpbGQsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcblxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlIH0gZnJvbSBcInByaW1lbmcvYXBpXCI7XG5cbmltcG9ydCB7IEltYWdlQ3JvcHBlclNlcnZpY2UgfSBmcm9tIFwiLi4vaW1hZ2UtY3JvcHBlci9pbWFnZS1jcm9wcGVyLnNlcnZpY2VcIjtcbmltcG9ydCB7IENvbmZpcm1hdGlvblRleHRzLCBDcm9wcGVyTGFiZWxzQ29uZmlnLCBGaWxlVmFsaWRhdGlvbiwgRmlsZVZhbGlkYXRpb25FcnJvcnMsIFByb2ZpbGVQaWN0dXJlUGlja2VyRGF0YSB9IGZyb20gXCIuL21vZGVscy9pbmRleFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgIHNlbGVjdG9yOiBcInMtcHJvZmlsZS1waWN0dXJlLXBpY2tlclwiLFxuICAgdGVtcGxhdGVVcmw6IFwicHJvZmlsZS1waWN0dXJlLXBpY2tlci5jb21wb25lbnQuaHRtbFwiLFxuICAgc3R5bGVVcmxzOiBbXCJwcm9maWxlLXBpY3R1cmUtcGlja2VyLmNvbXBvbmVudC5zY3NzXCJdLFxuICAgcHJvdmlkZXJzOiBbe1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQcm9maWxlUGljdHVyZVBpY2tlckNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgIH1dLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9maWxlUGljdHVyZVBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAgQElucHV0KClcbiAgIHB1YmxpYyBzaW1wbGVUaXRsZTogc3RyaW5nO1xuXG4gICBASW5wdXQoKVxuICAgcHVibGljIGFjdGlvblRpdGxlOiBzdHJpbmc7XG5cbiAgIEBJbnB1dCgpXG4gICBwdWJsaWMgc3VidGl0bGU6IHN0cmluZztcblxuICAgQElucHV0KClcbiAgIHB1YmxpYyBhc3BlY3RSYXRpbyA9IDE7XG5cbiAgIEBJbnB1dCgpXG4gICBwdWJsaWMgY3JvcHBlckxhYmVsc0NvbmZpZzogQ3JvcHBlckxhYmVsc0NvbmZpZztcblxuICAgQElucHV0KClcbiAgIHB1YmxpYyByZW1vdmVCdXR0b25MYWJlbDogc3RyaW5nO1xuXG4gICBASW5wdXQoKVxuICAgcHVibGljIGNoYW5nZUJ1dHRvbkxhYmVsOiBzdHJpbmc7XG5cbiAgIEBJbnB1dCgpXG4gICBwdWJsaWMgY29uZmlybWF0aW9uVGV4dHM6IENvbmZpcm1hdGlvblRleHRzO1xuXG4gICBASW5wdXQoKVxuICAgcHVibGljIG1heEZpbGVTaXplOiBudW1iZXI7XG5cbiAgIEBJbnB1dCgpXG4gICBwdWJsaWMgYWNjZXB0OiBzdHJpbmc7XG5cbiAgIEBJbnB1dCgpXG4gICBwdWJsaWMgc3VwcG9ydGVkRXh0ZW5zaW9uczogc3RyaW5nW10gPSBbXTtcblxuICAgQElucHV0KClcbiAgIHB1YmxpYyBpbWFnZTogc3RyaW5nO1xuXG4gICBAVmlld0NoaWxkKFwidXBsb2FkUGljdHVyZVwiKVxuICAgcHVibGljIHVwbG9hZFBpY3R1cmU6IEVsZW1lbnRSZWY7XG5cbiAgIEBWaWV3Q2hpbGQoXCJpbmZvXCIpXG4gICBwdWJsaWMgaW5mbzogRWxlbWVudFJlZjtcblxuICAgQFZpZXdDaGlsZChcInRodW1ibmFpbFwiLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgIHB1YmxpYyB0aHVtYm5haWw6IEVsZW1lbnRSZWY7XG5cbiAgIEBWaWV3Q2hpbGQoXCJmaWxlSW5wdXRcIiwgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gICBwdWJsaWMgZmlsZUlucHV0OiBFbGVtZW50UmVmO1xuXG4gICBAT3V0cHV0KClcbiAgIHB1YmxpYyBpbWFnZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8UHJvZmlsZVBpY3R1cmVQaWNrZXJEYXRhPigpXG5cbiAgIEBPdXRwdXQoKVxuICAgcHVibGljIGNoYW5nZWRJbWFnZTogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgIEBPdXRwdXQoKVxuICAgcHVibGljIHJlbW92ZWRJbWFnZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgQE91dHB1dCgpXG4gICBwdWJsaWMgaW52YWxpZEZpbGU6IEV2ZW50RW1pdHRlcjxGaWxlVmFsaWRhdGlvbkVycm9ycz4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgIHByaXZhdGUgX3ZhbHVlOiBQcm9maWxlUGljdHVyZVBpY2tlckRhdGE7XG4gICBwcml2YXRlIF9vbkNoYW5nZTogKHZhbHVlOiBQcm9maWxlUGljdHVyZVBpY2tlckRhdGEpID0+IHZvaWQ7XG4gICBwcml2YXRlIF9vblRvdWNoZWQ6ICgpID0+IHZvaWQ7XG5cbiAgIGNvbnN0cnVjdG9yKFxuICAgICAgcHJpdmF0ZSByZWFkb25seSBpbWFnZUNyb3BwZXJTZXJ2aWNlOiBJbWFnZUNyb3BwZXJTZXJ2aWNlLFxuICAgICAgcHJpdmF0ZSByZWFkb25seSBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlLFxuICAgICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgKSB7IH1cblxuICAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IFByb2ZpbGVQaWN0dXJlUGlja2VyRGF0YSk6IHZvaWQge1xuICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgdGhpcy5pbWFnZSA9IHZhbHVlLmJhc2U2NDtcbiAgICAgIH1cbiAgIH1cblxuICAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2Uob25DaGFuZ2U6ICh2YWx1ZTogUHJvZmlsZVBpY3R1cmVQaWNrZXJEYXRhKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICB0aGlzLl9vbkNoYW5nZSA9IG9uQ2hhbmdlO1xuICAgfVxuXG4gICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQob25Ub3VjaGVkOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICB0aGlzLl9vblRvdWNoZWQgPSBvblRvdWNoZWQ7XG4gICB9XG5cbiAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgIHRoaXMuX25vcm1hbGl6ZVN1cG9ydGVkRXh0ZW5zaW9ucygpO1xuICAgfVxuXG4gICBASG9zdExpc3RlbmVyKFwiZHJhZ292ZXJcIiwgW1wiJGV2ZW50XCJdKVxuICAgcHVibGljIG9uRHJhZ092ZXIoZXZlbnQ6IERyYWdFdmVudCkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgfVxuXG4gICBASG9zdExpc3RlbmVyKFwiZHJhZ2xlYXZlXCIsIFtcIiRldmVudFwiXSlcbiAgIHB1YmxpYyBvbkRyYWdMZWF2ZShldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICB9XG5cbiAgIEBIb3N0TGlzdGVuZXIoXCJkcm9wXCIsIFtcIiRldmVudFwiXSlcbiAgIHB1YmxpYyBvbkRyb3AoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICB0aGlzLl9vblRvdWNoZWQ/LigpO1xuXG4gICAgICBjb25zdCBmaWxlczogRmlsZVtdID0gW107XG4gICAgICBjb25zdCBkYXRhVHJhbnNmZXJGaWxlcyA9IGV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcztcblxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkYXRhVHJhbnNmZXJGaWxlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgZmlsZXMucHVzaChkYXRhVHJhbnNmZXJGaWxlcy5pdGVtKGkpKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5fc2hvd0ltYWdlQ3JvcHBlcihmaWxlcyk7XG4gICB9XG5cbiAgIC8vIFZlcmlmaWNhbmRvIG8gcmVkaW1lbnNpb25hbWVudG8gcGFyYSBhanVzdGFyIG8gZGVzaWduIHBhcmEgZmljYXIgcmVzcG9uc2l2by5cbiAgIEBIb3N0TGlzdGVuZXIoXCJ3aW5kb3c6cmVzaXplXCIpXG4gICBwdWJsaWMgb25SZXNpemUoKTogdm9pZCB7XG4gICAgICBpZiAodGhpcy51cGxvYWRQaWN0dXJlICYmIHRoaXMuaW5mbyAmJiB0aGlzLnRodW1ibmFpbCkge1xuICAgICAgICAgY29uc3QgdXBsb2FkUGljdHVyZVdpZHRoID0gdGhpcy5fZ2V0V2lkdGhFbGVtZW50KHRoaXMudXBsb2FkUGljdHVyZSk7XG4gICAgICAgICBjb25zdCBpbmZvV2lkdGggPSB0aGlzLl9nZXRXaWR0aEVsZW1lbnQodGhpcy5pbmZvKTtcbiAgICAgICAgIGNvbnN0IHRodW1ibmFpbFdpZHRoID0gdGhpcy5fZ2V0V2lkdGhFbGVtZW50KHRoaXMudGh1bWJuYWlsKTtcblxuICAgICAgICAgaWYgKHRodW1ibmFpbFdpZHRoICsgaW5mb1dpZHRoID4gdXBsb2FkUGljdHVyZVdpZHRoKSB7XG4gICAgICAgICAgICB0aGlzLnVwbG9hZFBpY3R1cmUubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKFwidXBsb2FkLXBpY3R1cmUtLXNtYWxsXCIpO1xuICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudXBsb2FkUGljdHVyZS5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoXCJ1cGxvYWQtcGljdHVyZS0tc21hbGxcIik7XG4gICAgICAgICB9XG4gICAgICB9XG4gICB9XG5cbiAgIHB1YmxpYyBzZWxlY3RQaG90bygpOiB2b2lkIHtcbiAgICAgIGNvbnN0IGZpbGVJbnB1dEVsZW1lbnQgPSB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50O1xuICAgICAgZmlsZUlucHV0RWxlbWVudC52YWx1ZSA9IFwiXCI7XG4gICAgICBmaWxlSW5wdXRFbGVtZW50LmNsaWNrKCk7XG5cbiAgICAgIHRoaXMuX29uVG91Y2hlZD8uKCk7XG4gICB9XG5cbiAgIHB1YmxpYyByZW1vdmVQaG90bygpOiB2b2lkIHtcbiAgICAgIHRoaXMuY29uZmlybWF0aW9uU2VydmljZS5jb25maXJtKHtcbiAgICAgICAgIG1lc3NhZ2U6IHRoaXMuY29uZmlybWF0aW9uVGV4dHM/LnJlbW92YWxNZXNzYWdlID8/IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwicGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmNvbmZpcm1hdGlvbl9yZW1vdmVfaW1hZ2VcIiksXG4gICAgICAgICBhY2NlcHRMYWJlbDogdGhpcy5jb25maXJtYXRpb25UZXh0cz8ucmVtb3ZhbEFjY2VwdExhYmVsID8/IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwicGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLnJlbW92ZVwiKSxcbiAgICAgICAgIHJlamVjdExhYmVsOiB0aGlzLmNvbmZpcm1hdGlvblRleHRzPy5yZW1vdmFsUmVqZWN0TGFiZWwgPz8gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMuY2FuY2VsXCIpLFxuICAgICAgICAgaGVhZGVyOiB0aGlzLmNvbmZpcm1hdGlvblRleHRzPy5yZW1vdmFsSGVhZGVyID8/IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwicGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLnJlbW92ZV9pbWFnZVwiKSxcbiAgICAgICAgIHJlamVjdEJ1dHRvblN0eWxlQ2xhc3M6IFwidWktYnV0dG9uLXNlY29uZGFyeVwiLFxuICAgICAgICAgYWNjZXB0OiAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmaWxlSW5wdXRFbGVtZW50ID0gdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudDtcbiAgICAgICAgICAgIGZpbGVJbnB1dEVsZW1lbnQudmFsdWUgPSBcIlwiO1xuICAgICAgICAgICAgdGhpcy5pbWFnZSA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLnJlbW92ZWRJbWFnZS5lbWl0KCk7XG4gICAgICAgICB9LFxuICAgICAgfSk7XG4gICB9XG5cbiAgIHB1YmxpYyBwaG90b1NlbGVjdGVkKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgIHRoaXMuX3Nob3dJbWFnZUNyb3BwZXIoZXZlbnQuc3JjRWxlbWVudC5maWxlcyk7XG4gICB9XG5cbiAgIHByaXZhdGUgX3Nob3dJbWFnZUNyb3BwZXIoZmlsZXM6IEZpbGVbXSk6IHZvaWQge1xuICAgICAgaWYgKCF0aGlzLl92YWxpZGF0ZURhdGEoZmlsZXMpKSB7XG4gICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGZpbGUgPSBmaWxlc1swXTtcblxuICAgICAgY29uc3QgZmlsZVJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgICBmaWxlUmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XG4gICAgICBmaWxlUmVhZGVyLm9ubG9hZGVuZCA9IChmaWxlRXZlbnQ6IGFueSkgPT4ge1xuICAgICAgICAgdGhpcy5pbWFnZUNyb3BwZXJTZXJ2aWNlLnNob3coe1xuICAgICAgICAgICAgaW1hZ2VTb3VyY2U6IGZpbGVFdmVudC50YXJnZXQucmVzdWx0LFxuICAgICAgICAgICAgY3JvcHBlZEltYWdlOiBpbWFnZSA9PiB7XG4gICAgICAgICAgICAgICBjb25zdCBkYXRhOiBQcm9maWxlUGljdHVyZVBpY2tlckRhdGEgPSB7IHNvdXJjZTogZmlsZSwgYmFzZTY0OiBpbWFnZX07XG4gICAgICAgICAgICAgICB0aGlzLmltYWdlID0gaW1hZ2U7XG4gICAgICAgICAgICAgICB0aGlzLmltYWdlQ2hhbmdlLmVtaXQoZGF0YSk7XG4gICAgICAgICAgICAgICB0aGlzLmNoYW5nZWRJbWFnZS5lbWl0KGltYWdlKTtcbiAgICAgICAgICAgICAgIHRoaXMuX3ZhbHVlID0geyBzb3VyY2U6IGZpbGUsIGJhc2U2NDogaW1hZ2UgfTtcbiAgICAgICAgICAgICAgIHRoaXMuX29uQ2hhbmdlPy4odGhpcy5fdmFsdWUpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGNoYW5nZUltYWdlOiAoKSA9PiB0aGlzLnNlbGVjdFBob3RvKCksXG4gICAgICAgICAgICBhbGxvd1NlbGVjdEFub3RoZXI6IGZhbHNlLFxuICAgICAgICAgICAgYXNwZWN0UmF0aW86IHRoaXMuYXNwZWN0UmF0aW8sXG4gICAgICAgICAgICAuLi50aGlzLmNyb3BwZXJMYWJlbHNDb25maWcsXG4gICAgICAgICB9KTtcbiAgICAgIH07XG4gICB9XG5cbiAgIHByaXZhdGUgX25vcm1hbGl6ZVN1cG9ydGVkRXh0ZW5zaW9ucygpOiB2b2lkIHtcbiAgICAgIHRoaXMuc3VwcG9ydGVkRXh0ZW5zaW9ucyA9IHRoaXMuc3VwcG9ydGVkRXh0ZW5zaW9uc1xuICAgICAgICAgPy5tYXAoZXh0ZW5zaW9uID0+IGV4dGVuc2lvbi5yZXBsYWNlKFwiLlwiLCBcIlwiKS50b0xvY2FsZUxvd2VyQ2FzZSgpKTtcbiAgIH1cblxuICAgcHJpdmF0ZSBfdmFsaWRhdGVEYXRhKGZpbGVzOiBGaWxlW10pOiBib29sZWFuIHtcbiAgICAgIGlmICghZmlsZXMubGVuZ3RoKSB7XG4gICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGlmIChmaWxlcy5sZW5ndGggPiAxKSB7XG4gICAgICAgICB0aGlzLmludmFsaWRGaWxlLmVtaXQoeyBmaWxlOiBudWxsLCB2YWxpZGF0aW9uOiBGaWxlVmFsaWRhdGlvbi5NYXhGaWxlTGltaXQgfSk7XG4gICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGZpbGUgPSBmaWxlc1swXTtcblxuICAgICAgaWYgKCFmaWxlLnR5cGUuaW5jbHVkZXMoXCJpbWFnZVwiKSkge1xuICAgICAgICAgdGhpcy5pbnZhbGlkRmlsZS5lbWl0KHsgZmlsZSwgdmFsaWRhdGlvbjogRmlsZVZhbGlkYXRpb24uVHlwZUludmFsaWQgfSk7XG4gICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGlmICghdGhpcy5fdmFsaWRhdGVGaWxlRXh0ZW5zaW9uKGZpbGUpKSB7XG4gICAgICAgICB0aGlzLmludmFsaWRGaWxlLmVtaXQoeyBmaWxlLCB2YWxpZGF0aW9uOiBGaWxlVmFsaWRhdGlvbi5VbnN1cHBvcnRlZEV4dGVuc2lvbiB9KTtcbiAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgaWYgKCF0aGlzLl92YWxpZGF0ZUZpbGVTaXplKGZpbGUpKSB7XG4gICAgICAgICB0aGlzLmludmFsaWRGaWxlLmVtaXQoeyBmaWxlLCB2YWxpZGF0aW9uOiBGaWxlVmFsaWRhdGlvbi5NYXhGaWxlU2l6ZSB9KTtcbiAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRydWU7XG4gICB9XG5cbiAgIHByaXZhdGUgX3ZhbGlkYXRlRmlsZUV4dGVuc2lvbihmaWxlOiBGaWxlKTogYm9vbGVhbiB7XG4gICAgICBpZiAodGhpcy5zdXBwb3J0ZWRFeHRlbnNpb25zPy5sZW5ndGgpIHtcbiAgICAgICAgIGNvbnN0IGV4dGVuc2lvbiA9IGZpbGUubmFtZS5zcGxpdChcIi5cIikucG9wKCkudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgIHJldHVybiB0aGlzLnN1cHBvcnRlZEV4dGVuc2lvbnMuaW5jbHVkZXMoZXh0ZW5zaW9uKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgfVxuXG4gICBwcml2YXRlIF92YWxpZGF0ZUZpbGVTaXplKGZpbGU6IEZpbGUpOiBib29sZWFuIHtcbiAgICAgIGlmICh0aGlzLm1heEZpbGVTaXplKSB7XG4gICAgICAgICByZXR1cm4gZmlsZS5zaXplIDw9IHRoaXMubWF4RmlsZVNpemU7XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgIH1cblxuICAgcHJpdmF0ZSBfZ2V0V2lkdGhFbGVtZW50KGVsZW1lbnQ6IEVsZW1lbnRSZWYpOiBudW1iZXIge1xuICAgICAgY29uc3QgeyBsZWZ0LCByaWdodCB9ID0gZWxlbWVudC5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgcmV0dXJuIHJpZ2h0IC0gbGVmdDtcbiAgIH1cbn1cbiJdfQ==
|
|
@@ -7151,9 +7151,6 @@ let PasswordStrengthDirective = class PasswordStrengthDirective {
|
|
|
7151
7151
|
}
|
|
7152
7152
|
validateProperties() {
|
|
7153
7153
|
this.validation = this.validation || this.defaultValidator;
|
|
7154
|
-
if (!this.description) {
|
|
7155
|
-
throw new Error("Description is required");
|
|
7156
|
-
}
|
|
7157
7154
|
}
|
|
7158
7155
|
destroyPasswordStrength() {
|
|
7159
7156
|
if (this.componentRef !== null) {
|
|
@@ -9254,7 +9251,7 @@ __decorate([
|
|
|
9254
9251
|
], ProfilePictureFieldComponent.prototype, "formControl", void 0);
|
|
9255
9252
|
ProfilePictureFieldComponent = __decorate([
|
|
9256
9253
|
Component({
|
|
9257
|
-
template: "<s-profile-picture-picker\n [formControl]=\"formControl\"\n [simpleTitle]=\"field.simpleTitle\"\n [actionTitle]=\"field.actionTitle\"\n [subtitle]=\"field.subtitle\"\n [aspectRatio]=\"field.aspectRatio\"\n [cropperLabelsConfig]=\"field.cropperLabelsConfig\"\n [removeButtonLabel]=\"field.removeButtonLabel\"\n [changeButtonLabel]=\"field.changeButtonLabel\"\n [confirmationTexts]=\"field.confirmationTexts\"\n [maxFileSize]=\"field.maxFileSize\"\n [accept]=\"field\"\n [supportedExtensions]=\"field.supportedExtensions\"\n (changedImage)=\"field.onChangeImage ? field.onChangeImage($event) : null\"\n (removedImage)=\"field.onRemovedImage ? field.onRemovedImage() : null\"\n (invalidFile)=\"field.onInvalidFile ? field.onInvalidFile($event) : null\">\n</s-profile-picture-picker>"
|
|
9254
|
+
template: "<s-profile-picture-picker\n [formControl]=\"formControl\"\n [simpleTitle]=\"field.simpleTitle\"\n [actionTitle]=\"field.actionTitle\"\n [subtitle]=\"field.subtitle\"\n [aspectRatio]=\"field.aspectRatio\"\n [cropperLabelsConfig]=\"field.cropperLabelsConfig\"\n [removeButtonLabel]=\"field.removeButtonLabel\"\n [changeButtonLabel]=\"field.changeButtonLabel\"\n [confirmationTexts]=\"field.confirmationTexts\"\n [maxFileSize]=\"field.maxFileSize\"\n [accept]=\"field.accept\"\n [supportedExtensions]=\"field.supportedExtensions\"\n (changedImage)=\"field.onChangeImage ? field.onChangeImage($event) : null\"\n (removedImage)=\"field.onRemovedImage ? field.onRemovedImage() : null\"\n (invalidFile)=\"field.onInvalidFile ? field.onInvalidFile($event) : null\">\n</s-profile-picture-picker>"
|
|
9258
9255
|
})
|
|
9259
9256
|
], ProfilePictureFieldComponent);
|
|
9260
9257
|
|
|
@@ -10084,19 +10081,17 @@ let ProfilePicturePickerComponent = ProfilePicturePickerComponent_1 = class Prof
|
|
|
10084
10081
|
this.confirmationService = confirmationService;
|
|
10085
10082
|
this.translateService = translateService;
|
|
10086
10083
|
this.aspectRatio = 1;
|
|
10087
|
-
this.confirmationTexts = {
|
|
10088
|
-
removalHeader: this.translateService.instant("platform.angular_components.remove_image"),
|
|
10089
|
-
removalMessage: this.translateService.instant("platform.angular_components.confirmation_remove_image"),
|
|
10090
|
-
removalAcceptLabel: this.translateService.instant("platform.angular_components.remove"),
|
|
10091
|
-
removalRejectLabel: this.translateService.instant("platform.angular_components.cancel"),
|
|
10092
|
-
};
|
|
10093
10084
|
this.supportedExtensions = [];
|
|
10085
|
+
this.imageChange = new EventEmitter();
|
|
10094
10086
|
this.changedImage = new EventEmitter();
|
|
10095
10087
|
this.removedImage = new EventEmitter();
|
|
10096
10088
|
this.invalidFile = new EventEmitter();
|
|
10097
10089
|
}
|
|
10098
10090
|
writeValue(value) {
|
|
10099
10091
|
this._value = value;
|
|
10092
|
+
if (value) {
|
|
10093
|
+
this.image = value.base64;
|
|
10094
|
+
}
|
|
10100
10095
|
}
|
|
10101
10096
|
registerOnChange(onChange) {
|
|
10102
10097
|
this._onChange = onChange;
|
|
@@ -10149,15 +10144,17 @@ let ProfilePicturePickerComponent = ProfilePicturePickerComponent_1 = class Prof
|
|
|
10149
10144
|
(_a = this._onTouched) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
10150
10145
|
}
|
|
10151
10146
|
removePhoto() {
|
|
10147
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
10152
10148
|
this.confirmationService.confirm({
|
|
10153
|
-
message: this.confirmationTexts.removalMessage,
|
|
10154
|
-
acceptLabel: this.confirmationTexts.removalAcceptLabel,
|
|
10155
|
-
rejectLabel: this.confirmationTexts.removalRejectLabel,
|
|
10156
|
-
header: this.confirmationTexts.removalHeader,
|
|
10149
|
+
message: (_b = (_a = this.confirmationTexts) === null || _a === void 0 ? void 0 : _a.removalMessage) !== null && _b !== void 0 ? _b : this.translateService.instant("platform.angular_components.confirmation_remove_image"),
|
|
10150
|
+
acceptLabel: (_d = (_c = this.confirmationTexts) === null || _c === void 0 ? void 0 : _c.removalAcceptLabel) !== null && _d !== void 0 ? _d : this.translateService.instant("platform.angular_components.remove"),
|
|
10151
|
+
rejectLabel: (_f = (_e = this.confirmationTexts) === null || _e === void 0 ? void 0 : _e.removalRejectLabel) !== null && _f !== void 0 ? _f : this.translateService.instant("platform.angular_components.cancel"),
|
|
10152
|
+
header: (_h = (_g = this.confirmationTexts) === null || _g === void 0 ? void 0 : _g.removalHeader) !== null && _h !== void 0 ? _h : this.translateService.instant("platform.angular_components.remove_image"),
|
|
10153
|
+
rejectButtonStyleClass: "ui-button-secondary",
|
|
10157
10154
|
accept: () => {
|
|
10158
10155
|
const fileInputElement = this.fileInput.nativeElement;
|
|
10159
10156
|
fileInputElement.value = "";
|
|
10160
|
-
this.image =
|
|
10157
|
+
this.image = null;
|
|
10161
10158
|
this.removedImage.emit();
|
|
10162
10159
|
},
|
|
10163
10160
|
});
|
|
@@ -10175,9 +10172,11 @@ let ProfilePicturePickerComponent = ProfilePicturePickerComponent_1 = class Prof
|
|
|
10175
10172
|
fileReader.onloadend = (fileEvent) => {
|
|
10176
10173
|
this.imageCropperService.show(Object.assign({ imageSource: fileEvent.target.result, croppedImage: image => {
|
|
10177
10174
|
var _a;
|
|
10175
|
+
const data = { source: file, base64: image };
|
|
10178
10176
|
this.image = image;
|
|
10177
|
+
this.imageChange.emit(data);
|
|
10179
10178
|
this.changedImage.emit(image);
|
|
10180
|
-
this._value = {
|
|
10179
|
+
this._value = { source: file, base64: image };
|
|
10181
10180
|
(_a = this._onChange) === null || _a === void 0 ? void 0 : _a.call(this, this._value);
|
|
10182
10181
|
}, changeImage: () => this.selectPhoto(), allowSelectAnother: false, aspectRatio: this.aspectRatio }, this.cropperLabelsConfig));
|
|
10183
10182
|
};
|
|
@@ -10219,7 +10218,7 @@ let ProfilePicturePickerComponent = ProfilePicturePickerComponent_1 = class Prof
|
|
|
10219
10218
|
}
|
|
10220
10219
|
_validateFileSize(file) {
|
|
10221
10220
|
if (this.maxFileSize) {
|
|
10222
|
-
return file.size
|
|
10221
|
+
return file.size <= this.maxFileSize;
|
|
10223
10222
|
}
|
|
10224
10223
|
return true;
|
|
10225
10224
|
}
|
|
@@ -10281,6 +10280,9 @@ __decorate([
|
|
|
10281
10280
|
__decorate([
|
|
10282
10281
|
ViewChild("fileInput", { read: ElementRef })
|
|
10283
10282
|
], ProfilePicturePickerComponent.prototype, "fileInput", void 0);
|
|
10283
|
+
__decorate([
|
|
10284
|
+
Output()
|
|
10285
|
+
], ProfilePicturePickerComponent.prototype, "imageChange", void 0);
|
|
10284
10286
|
__decorate([
|
|
10285
10287
|
Output()
|
|
10286
10288
|
], ProfilePicturePickerComponent.prototype, "changedImage", void 0);
|