myrta-ui 17.1.99 → 17.2.0

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.
@@ -8,6 +8,9 @@ export class ToasterService {
8
8
  constructor(_toasterService) {
9
9
  this._toasterService = _toasterService;
10
10
  }
11
+ /**
12
+ * Показывает тост и возвращает его экземпляр для управления
13
+ */
11
14
  show(data, customConfig, onClose) {
12
15
  const toastConfig = {
13
16
  toastComponent: ToasterComponent,
@@ -21,14 +24,14 @@ export class ToasterService {
21
24
  isBanner: false
22
25
  }
23
26
  };
27
+ // Глубокое слияние конфигов (особенно для payload)
24
28
  if (customConfig) {
25
- for (let key in customConfig) {
26
- if (customConfig.hasOwnProperty(key)) {
27
- toastConfig[key] = customConfig[key];
28
- }
29
+ Object.assign(toastConfig, customConfig);
30
+ if (customConfig.payload) {
31
+ toastConfig.payload = { ...toastConfig.payload, ...customConfig.payload };
29
32
  }
30
33
  }
31
- let toast = null;
34
+ let toast;
32
35
  switch (data.type) {
33
36
  case ToasterType.Positive:
34
37
  toast = this._toasterService.success(data.message, data.title, toastConfig);
@@ -42,10 +45,20 @@ export class ToasterService {
42
45
  default:
43
46
  toast = this._toasterService.info(data.message, data.title, toastConfig);
44
47
  }
45
- if (toast && onClose) {
46
- toast.onHidden.subscribe(() => {
47
- onClose();
48
- });
48
+ if (onClose) {
49
+ toast.onHidden.subscribe(() => onClose());
50
+ }
51
+ return toast;
52
+ }
53
+ /**
54
+ * Скрывает конкретный тост по ID или все сразу
55
+ */
56
+ hide(toastId) {
57
+ if (toastId !== undefined) {
58
+ this._toasterService.clear(toastId);
59
+ }
60
+ else {
61
+ this._toasterService.clear();
49
62
  }
50
63
  }
51
64
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ToasterService, deps: [{ token: i1.ToastrService }], target: i0.ɵɵFactoryTarget.Injectable });
@@ -57,4 +70,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
57
70
  providedIn: 'root'
58
71
  }]
59
72
  }], ctorParameters: () => [{ type: i1.ToastrService }] });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Rlci1zZXJ2aWNlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL3NlcnZpY2VzL3RvYXN0ZXItc2VydmljZS90b2FzdGVyLXNlcnZpY2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7OztBQUsxRSxNQUFNLE9BQU8sY0FBYztJQUNMO0lBQXBCLFlBQW9CLGVBQThCO1FBQTlCLG9CQUFlLEdBQWYsZUFBZSxDQUFlO0lBQUcsQ0FBQztJQUV0RCxJQUFJLENBQ0YsSUFBNEQsRUFDNUQsWUFBd0MsRUFDeEMsT0FBZ0M7UUFFaEMsTUFBTSxXQUFXLEdBQThCO1lBQzdDLGNBQWMsRUFBRSxnQkFBZ0I7WUFDaEMsV0FBVyxFQUFFLElBQUk7WUFDakIsYUFBYSxFQUFFLGVBQWUsQ0FBQyxXQUFXO1lBQzFDLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLE9BQU8sRUFBRSxJQUFJO1lBQ2IsY0FBYyxFQUFFLEtBQUs7WUFDckIsT0FBTyxFQUFFO2dCQUNQLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxJQUFJLFdBQVcsQ0FBQyxJQUFJO2dCQUN4QyxRQUFRLEVBQUUsS0FBSzthQUNoQjtTQUNGLENBQUM7UUFFRixJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2pCLEtBQUssSUFBSSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7Z0JBQzdCLElBQUksWUFBWSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO29CQUNyQyxXQUFXLENBQUMsR0FBc0MsQ0FBQyxHQUFHLFlBQVksQ0FBQyxHQUFzQyxDQUFDLENBQUE7Z0JBQzVHLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksS0FBSyxHQUE0QixJQUFJLENBQUM7UUFFMUMsUUFBUSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbEIsS0FBSyxXQUFXLENBQUMsUUFBUTtnQkFDdkIsS0FBSyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztnQkFDNUUsTUFBTTtZQUNSLEtBQUssV0FBVyxDQUFDLFFBQVE7Z0JBQ3ZCLEtBQUssR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7Z0JBQzFFLE1BQU07WUFDUixLQUFLLFdBQVcsQ0FBQyxTQUFTO2dCQUN4QixLQUFLLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO2dCQUM1RSxNQUFNO1lBQ1I7Z0JBQ0UsS0FBSyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztRQUM3RSxDQUFDO1FBRUQsSUFBSSxLQUFLLElBQUksT0FBTyxFQUFFLENBQUM7WUFDckIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUM1QixPQUFPLEVBQUUsQ0FBQztZQUNaLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7d0dBbERVLGNBQWM7NEdBQWQsY0FBYyxjQUZiLE1BQU07OzRGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmVUb2FzdCwgVG9hc3RyU2VydmljZSB9IGZyb20gJ25neC10b2FzdHInO1xyXG5pbXBvcnQgeyBUb2FzdGVyUG9zaXRpb24sIFRvYXN0ZXJUeXBlIH0gZnJvbSAnLi9tb2RlbHMvdG9hc3Rlci5tb2RlbCc7XHJcbmltcG9ydCB7IEluZGl2aWR1YWxDb25maWcgfSBmcm9tICduZ3gtdG9hc3RyL3RvYXN0ci90b2FzdHItY29uZmlnJztcclxuaW1wb3J0IHsgVG9hc3RlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90b2FzdGVyL3RvYXN0ZXIuY29tcG9uZW50JztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFRvYXN0ZXJTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF90b2FzdGVyU2VydmljZTogVG9hc3RyU2VydmljZSkge31cclxuXHJcbiAgc2hvdyhcclxuICAgIGRhdGE6IHt0aXRsZT86IHN0cmluZywgbWVzc2FnZT86IHN0cmluZywgdHlwZT86IFRvYXN0ZXJUeXBlfSwgXHJcbiAgICBjdXN0b21Db25maWc/OiBQYXJ0aWFsPEluZGl2aWR1YWxDb25maWc+LFxyXG4gICAgb25DbG9zZT86ICgpID0+IHZvaWQgfCB1bmRlZmluZWRcclxuICApIHtcclxuICAgIGNvbnN0IHRvYXN0Q29uZmlnOiBQYXJ0aWFsPEluZGl2aWR1YWxDb25maWc+ID0ge1xyXG4gICAgICB0b2FzdENvbXBvbmVudDogVG9hc3RlckNvbXBvbmVudCxcclxuICAgICAgY2xvc2VCdXR0b246IHRydWUsXHJcbiAgICAgIHBvc2l0aW9uQ2xhc3M6IFRvYXN0ZXJQb3NpdGlvbi5Cb3R0b21SaWdodCxcclxuICAgICAgZW5hYmxlSHRtbDogZmFsc2UsXHJcbiAgICAgIHRpbWVPdXQ6IDUwMDAsXHJcbiAgICAgIGRpc2FibGVUaW1lT3V0OiBmYWxzZSxcclxuICAgICAgcGF5bG9hZDoge1xyXG4gICAgICAgIGNvbG9yVHlwZTogZGF0YS50eXBlIHx8IFRvYXN0ZXJUeXBlLkluZm8sXHJcbiAgICAgICAgaXNCYW5uZXI6IGZhbHNlXHJcbiAgICAgIH1cclxuICAgIH07XHJcblxyXG4gICAgaWYgKGN1c3RvbUNvbmZpZykge1xyXG4gICAgICBmb3IgKGxldCBrZXkgaW4gY3VzdG9tQ29uZmlnKSB7XHJcbiAgICAgICAgaWYgKGN1c3RvbUNvbmZpZy5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcbiAgICAgICAgICB0b2FzdENvbmZpZ1trZXkgYXMga2V5b2YgUGFydGlhbDxJbmRpdmlkdWFsQ29uZmlnPl0gPSBjdXN0b21Db25maWdba2V5IGFzIGtleW9mIFBhcnRpYWw8SW5kaXZpZHVhbENvbmZpZz5dXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHRvYXN0OiBBY3RpdmVUb2FzdDxhbnk+IHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgc3dpdGNoIChkYXRhLnR5cGUpIHtcclxuICAgICAgY2FzZSBUb2FzdGVyVHlwZS5Qb3NpdGl2ZTpcclxuICAgICAgICB0b2FzdCA9IHRoaXMuX3RvYXN0ZXJTZXJ2aWNlLnN1Y2Nlc3MoZGF0YS5tZXNzYWdlLCBkYXRhLnRpdGxlLCB0b2FzdENvbmZpZyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgVG9hc3RlclR5cGUuTmVnYXRpdmU6XHJcbiAgICAgICAgdG9hc3QgPSB0aGlzLl90b2FzdGVyU2VydmljZS5lcnJvcihkYXRhLm1lc3NhZ2UsIGRhdGEudGl0bGUsIHRvYXN0Q29uZmlnKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBUb2FzdGVyVHlwZS5BdHRlbnRpb246XHJcbiAgICAgICAgdG9hc3QgPSB0aGlzLl90b2FzdGVyU2VydmljZS53YXJuaW5nKGRhdGEubWVzc2FnZSwgZGF0YS50aXRsZSwgdG9hc3RDb25maWcpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHRvYXN0ID0gdGhpcy5fdG9hc3RlclNlcnZpY2UuaW5mbyhkYXRhLm1lc3NhZ2UsIGRhdGEudGl0bGUsIHRvYXN0Q29uZmlnKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodG9hc3QgJiYgb25DbG9zZSkge1xyXG4gICAgICB0b2FzdC5vbkhpZGRlbi5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIG9uQ2xvc2UoKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Rlci1zZXJ2aWNlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL3NlcnZpY2VzL3RvYXN0ZXItc2VydmljZS90b2FzdGVyLXNlcnZpY2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7OztBQUsxRSxNQUFNLE9BQU8sY0FBYztJQUNMO0lBQXBCLFlBQW9CLGVBQThCO1FBQTlCLG9CQUFlLEdBQWYsZUFBZSxDQUFlO0lBQUcsQ0FBQztJQUV0RDs7T0FFRztJQUNILElBQUksQ0FDRixJQUE0RCxFQUM1RCxZQUF3QyxFQUN4QyxPQUFvQjtRQUVwQixNQUFNLFdBQVcsR0FBOEI7WUFDN0MsY0FBYyxFQUFFLGdCQUFnQjtZQUNoQyxXQUFXLEVBQUUsSUFBSTtZQUNqQixhQUFhLEVBQUUsZUFBZSxDQUFDLFdBQVc7WUFDMUMsVUFBVSxFQUFFLEtBQUs7WUFDakIsT0FBTyxFQUFFLElBQUk7WUFDYixjQUFjLEVBQUUsS0FBSztZQUNyQixPQUFPLEVBQUU7Z0JBQ1AsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJLElBQUksV0FBVyxDQUFDLElBQUk7Z0JBQ3hDLFFBQVEsRUFBRSxLQUFLO2FBQ2hCO1NBQ0YsQ0FBQztRQUVGLG1EQUFtRDtRQUNuRCxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2pCLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLFlBQVksQ0FBQyxDQUFDO1lBQ3pDLElBQUksWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUN6QixXQUFXLENBQUMsT0FBTyxHQUFHLEVBQUUsR0FBRyxXQUFXLENBQUMsT0FBTyxFQUFFLEdBQUcsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzVFLENBQUM7UUFDSCxDQUFDO1FBRUQsSUFBSSxLQUF1QixDQUFDO1FBRTVCLFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2xCLEtBQUssV0FBVyxDQUFDLFFBQVE7Z0JBQ3ZCLEtBQUssR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7Z0JBQzVFLE1BQU07WUFDUixLQUFLLFdBQVcsQ0FBQyxRQUFRO2dCQUN2QixLQUFLLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO2dCQUMxRSxNQUFNO1lBQ1IsS0FBSyxXQUFXLENBQUMsU0FBUztnQkFDeEIsS0FBSyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztnQkFDNUUsTUFBTTtZQUNSO2dCQUNFLEtBQUssR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDN0UsQ0FBQztRQUVELElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixLQUFLLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksQ0FBQyxPQUFnQjtRQUNuQixJQUFJLE9BQU8sS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0QyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDL0IsQ0FBQztJQUNILENBQUM7d0dBaEVVLGNBQWM7NEdBQWQsY0FBYyxjQUZiLE1BQU07OzRGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmVUb2FzdCwgVG9hc3RyU2VydmljZSB9IGZyb20gJ25neC10b2FzdHInO1xyXG5pbXBvcnQgeyBUb2FzdGVyUG9zaXRpb24sIFRvYXN0ZXJUeXBlIH0gZnJvbSAnLi9tb2RlbHMvdG9hc3Rlci5tb2RlbCc7XHJcbmltcG9ydCB7IEluZGl2aWR1YWxDb25maWcgfSBmcm9tICduZ3gtdG9hc3RyL3RvYXN0ci90b2FzdHItY29uZmlnJztcclxuaW1wb3J0IHsgVG9hc3RlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90b2FzdGVyL3RvYXN0ZXIuY29tcG9uZW50JztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFRvYXN0ZXJTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF90b2FzdGVyU2VydmljZTogVG9hc3RyU2VydmljZSkge31cclxuXHJcbiAgLyoqXHJcbiAgICog0J/QvtC60LDQt9GL0LLQsNC10YIg0YLQvtGB0YIg0Lgg0LLQvtC30LLRgNCw0YnQsNC10YIg0LXQs9C+INGN0LrQt9C10LzQv9C70Y/RgCDQtNC70Y8g0YPQv9GA0LDQstC70LXQvdC40Y9cclxuICAgKi9cclxuICBzaG93KFxyXG4gICAgZGF0YToge3RpdGxlPzogc3RyaW5nLCBtZXNzYWdlPzogc3RyaW5nLCB0eXBlPzogVG9hc3RlclR5cGV9LCBcclxuICAgIGN1c3RvbUNvbmZpZz86IFBhcnRpYWw8SW5kaXZpZHVhbENvbmZpZz4sXHJcbiAgICBvbkNsb3NlPzogKCkgPT4gdm9pZFxyXG4gICk6IEFjdGl2ZVRvYXN0PGFueT4geyAvLyDQktC+0LfQstGA0LDRidCw0LXQvCBBY3RpdmVUb2FzdFxyXG4gICAgY29uc3QgdG9hc3RDb25maWc6IFBhcnRpYWw8SW5kaXZpZHVhbENvbmZpZz4gPSB7XHJcbiAgICAgIHRvYXN0Q29tcG9uZW50OiBUb2FzdGVyQ29tcG9uZW50LFxyXG4gICAgICBjbG9zZUJ1dHRvbjogdHJ1ZSxcclxuICAgICAgcG9zaXRpb25DbGFzczogVG9hc3RlclBvc2l0aW9uLkJvdHRvbVJpZ2h0LFxyXG4gICAgICBlbmFibGVIdG1sOiBmYWxzZSxcclxuICAgICAgdGltZU91dDogNTAwMCxcclxuICAgICAgZGlzYWJsZVRpbWVPdXQ6IGZhbHNlLFxyXG4gICAgICBwYXlsb2FkOiB7XHJcbiAgICAgICAgY29sb3JUeXBlOiBkYXRhLnR5cGUgfHwgVG9hc3RlclR5cGUuSW5mbyxcclxuICAgICAgICBpc0Jhbm5lcjogZmFsc2VcclxuICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICAvLyDQk9C70YPQsdC+0LrQvtC1INGB0LvQuNGP0L3QuNC1INC60L7QvdGE0LjQs9C+0LIgKNC+0YHQvtCx0LXQvdC90L4g0LTQu9GPIHBheWxvYWQpXHJcbiAgICBpZiAoY3VzdG9tQ29uZmlnKSB7XHJcbiAgICAgIE9iamVjdC5hc3NpZ24odG9hc3RDb25maWcsIGN1c3RvbUNvbmZpZyk7XHJcbiAgICAgIGlmIChjdXN0b21Db25maWcucGF5bG9hZCkge1xyXG4gICAgICAgIHRvYXN0Q29uZmlnLnBheWxvYWQgPSB7IC4uLnRvYXN0Q29uZmlnLnBheWxvYWQsIC4uLmN1c3RvbUNvbmZpZy5wYXlsb2FkIH07XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBsZXQgdG9hc3Q6IEFjdGl2ZVRvYXN0PGFueT47XHJcblxyXG4gICAgc3dpdGNoIChkYXRhLnR5cGUpIHtcclxuICAgICAgY2FzZSBUb2FzdGVyVHlwZS5Qb3NpdGl2ZTpcclxuICAgICAgICB0b2FzdCA9IHRoaXMuX3RvYXN0ZXJTZXJ2aWNlLnN1Y2Nlc3MoZGF0YS5tZXNzYWdlLCBkYXRhLnRpdGxlLCB0b2FzdENvbmZpZyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgVG9hc3RlclR5cGUuTmVnYXRpdmU6XHJcbiAgICAgICAgdG9hc3QgPSB0aGlzLl90b2FzdGVyU2VydmljZS5lcnJvcihkYXRhLm1lc3NhZ2UsIGRhdGEudGl0bGUsIHRvYXN0Q29uZmlnKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBUb2FzdGVyVHlwZS5BdHRlbnRpb246XHJcbiAgICAgICAgdG9hc3QgPSB0aGlzLl90b2FzdGVyU2VydmljZS53YXJuaW5nKGRhdGEubWVzc2FnZSwgZGF0YS50aXRsZSwgdG9hc3RDb25maWcpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHRvYXN0ID0gdGhpcy5fdG9hc3RlclNlcnZpY2UuaW5mbyhkYXRhLm1lc3NhZ2UsIGRhdGEudGl0bGUsIHRvYXN0Q29uZmlnKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAob25DbG9zZSkge1xyXG4gICAgICB0b2FzdC5vbkhpZGRlbi5zdWJzY3JpYmUoKCkgPT4gb25DbG9zZSgpKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdG9hc3Q7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiDQodC60YDRi9Cy0LDQtdGCINC60L7QvdC60YDQtdGC0L3Ri9C5INGC0L7RgdGCINC/0L4gSUQg0LjQu9C4INCy0YHQtSDRgdGA0LDQt9GDXHJcbiAgICovXHJcbiAgaGlkZSh0b2FzdElkPzogbnVtYmVyKSB7XHJcbiAgICBpZiAodG9hc3RJZCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuX3RvYXN0ZXJTZXJ2aWNlLmNsZWFyKHRvYXN0SWQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5fdG9hc3RlclNlcnZpY2UuY2xlYXIoKTtcclxuICAgIH1cclxuICB9XHJcbn0iXX0=
@@ -3531,6 +3531,9 @@ class ToasterService {
3531
3531
  constructor(_toasterService) {
3532
3532
  this._toasterService = _toasterService;
3533
3533
  }
3534
+ /**
3535
+ * Показывает тост и возвращает его экземпляр для управления
3536
+ */
3534
3537
  show(data, customConfig, onClose) {
3535
3538
  const toastConfig = {
3536
3539
  toastComponent: ToasterComponent,
@@ -3544,14 +3547,14 @@ class ToasterService {
3544
3547
  isBanner: false
3545
3548
  }
3546
3549
  };
3550
+ // Глубокое слияние конфигов (особенно для payload)
3547
3551
  if (customConfig) {
3548
- for (let key in customConfig) {
3549
- if (customConfig.hasOwnProperty(key)) {
3550
- toastConfig[key] = customConfig[key];
3551
- }
3552
+ Object.assign(toastConfig, customConfig);
3553
+ if (customConfig.payload) {
3554
+ toastConfig.payload = { ...toastConfig.payload, ...customConfig.payload };
3552
3555
  }
3553
3556
  }
3554
- let toast = null;
3557
+ let toast;
3555
3558
  switch (data.type) {
3556
3559
  case ToasterType.Positive:
3557
3560
  toast = this._toasterService.success(data.message, data.title, toastConfig);
@@ -3565,10 +3568,20 @@ class ToasterService {
3565
3568
  default:
3566
3569
  toast = this._toasterService.info(data.message, data.title, toastConfig);
3567
3570
  }
3568
- if (toast && onClose) {
3569
- toast.onHidden.subscribe(() => {
3570
- onClose();
3571
- });
3571
+ if (onClose) {
3572
+ toast.onHidden.subscribe(() => onClose());
3573
+ }
3574
+ return toast;
3575
+ }
3576
+ /**
3577
+ * Скрывает конкретный тост по ID или все сразу
3578
+ */
3579
+ hide(toastId) {
3580
+ if (toastId !== undefined) {
3581
+ this._toasterService.clear(toastId);
3582
+ }
3583
+ else {
3584
+ this._toasterService.clear();
3572
3585
  }
3573
3586
  }
3574
3587
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ToasterService, deps: [{ token: i1$5.ToastrService }], target: i0.ɵɵFactoryTarget.Injectable });