ng-easycommerce-v18 0.2.27 → 0.2.28

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/README.md CHANGED
@@ -1,3 +1,5 @@
1
+ # Version 0.2.28
2
+ - `product-detail-ec.component`: se incorpora resetReviewModal() para resetear el estado del modal de reseñas al cambiar de producto.
1
3
  # Version 0.2.27
2
4
  - traducciones y hideprice en `filters-ec` para ocultar rango de precio.
3
5
  # Version 0.2.26
@@ -85,6 +85,8 @@ export class ProductDetailEcComponent {
85
85
  const newProductId = params['id'];
86
86
  if (newProductId && newProductId !== this.currentProductId) {
87
87
  this.currentProductId = newProductId;
88
+ // Resetear el estado del modal de reseñas cuando cambie el producto
89
+ this.resetReviewModal();
88
90
  }
89
91
  });
90
92
  }
@@ -184,6 +186,19 @@ export class ProductDetailEcComponent {
184
186
  trackByProductId(index, productId) {
185
187
  return productId;
186
188
  }
189
+ /**
190
+ * Resetea el estado del modal de reseñas
191
+ */
192
+ resetReviewModal() {
193
+ // Si existe un método resetForm del componente padre, llamarlo
194
+ if (typeof this.resetForm === 'function') {
195
+ this.resetForm();
196
+ }
197
+ // Si existe una propiedad success, resetearla
198
+ if ('success' in this) {
199
+ this.success = false;
200
+ }
201
+ }
187
202
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProductDetailEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
188
203
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ProductDetailEcComponent, isStandalone: true, selector: "app-product-detail-ec", ngImport: i0, template: "", styles: [""] });
189
204
  }
@@ -191,4 +206,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
191
206
  type: Component,
192
207
  args: [{ selector: 'app-product-detail-ec', standalone: true, imports: [VariantsEcComponent], template: "" }]
193
208
  }], ctorParameters: () => [] });
194
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1kZXRhaWwtZWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLWNvbXBvbmVudHMvcHJvZHVjdC1kZXRhaWwtZWMvcHJvZHVjdC1kZXRhaWwtZWMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLWNvbXBvbmVudHMvcHJvZHVjdC1kZXRhaWwtZWMvcHJvZHVjdC1kZXRhaWwtZWMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbkYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQWtCLE1BQU0sRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDL0YsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDeEYsT0FBTyxFQUFFLFlBQVksRUFBWSxNQUFNLDJCQUEyQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR3ZELE9BQU8sS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ3pCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNu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QzVDLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7d0dBeE1VLHdCQUF3Qjs0RkFBeEIsd0JBQXdCLGlGQ3pCckMsRUFBQTs7NEZEeUJhLHdCQUF3QjtrQkFQcEMsU0FBUzsrQkFDRSx1QkFBdUIsY0FDckIsSUFBSSxXQUNQLENBQUMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21wdXRlZCwgSW5qZWN0b3IsIE9uSW5pdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQYXJhbWV0ZXJzU2VydmljZSwgQ2hhbm5lbFNlcnZpY2UsIENhcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZWMtc2VydmljZXMnO1xuaW1wb3J0IHsgUGFyYW1ldGVyIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgV3JpdGFibGVTaWduYWwsIHNpZ25hbCwgUExBVEZPUk1fSUQsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWV0YSwgVGl0bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFByb2R1Y3REZXRhaWxTZXJ2aWNlLCBQcm9kdWN0c1NlcnZpY2UsIFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uL2VjLXNlcnZpY2VzJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IENvcmVDb25zdGFudHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUHJvZHVjdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0ICogYXMgaGUgZnJvbSAnaGUnO1xuaW1wb3J0IHsgT3B0aW9uc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9lYy1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBWYXJpYW50c0VjQ29tcG9uZW50IH0gZnJvbSAnLi4vdmFyaWFudHMtZWMvdmFyaWFudHMtZWMuY29tcG9uZW50JztcblxuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1wcm9kdWN0LWRldGFpbC1lYycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtWYXJpYW50c0VjQ29tcG9uZW50XSxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3QtZGV0YWlsLWVjLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJvZHVjdC1kZXRhaWwtZWMuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0RGV0YWlsRWNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgX2NhcnRTZXJ2aWNlOiBDYXJ0U2VydmljZSA9IGluamVjdChDYXJ0U2VydmljZSlcbiAgcHJpdmF0ZSBfb3B0aW9uc1NlcnZpY2U6IE9wdGlvbnNTZXJ2aWNlID0gaW5qZWN0KE9wdGlvbnNTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBfcHJvZHVjdERldGFpbFNlcnZpY2U6IFByb2R1Y3REZXRhaWxTZXJ2aWNlID0gaW5qZWN0KFByb2R1Y3REZXRhaWxTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBfcHJvZHVjdFNlcnZpY2U6IFByb2R1Y3RzU2VydmljZSA9IGluamVjdChQcm9kdWN0c1NlcnZpY2UpO1xuICBwcml2YXRlIF9hY3RpdmVkUm91dGU6IEFjdGl2YXRlZFJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgcHJpdmF0ZSBfZG9tU2FuaXRpemVyOiBEb21TYW5pdGl6ZXIgPSBpbmplY3QoRG9tU2FuaXRpemVyKTtcbiAgcHJpdmF0ZSBfY29uc3RzOiBDb3JlQ29uc3RhbnRzU2VydmljZSA9IGluamVjdChDb3JlQ29uc3RhbnRzU2VydmljZSk7XG4gIHByaXZhdGUgX3RvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlID0gaW5qZWN0KFRvYXN0U2VydmljZSk7XG4gIHByaXZhdGUgcGFyYW1ldGVyc1NlcnZpY2UgPSBpbmplY3QoUGFyYW1ldGVyc1NlcnZpY2UpO1xuICBwdWJsaWMgaW5qZWN0b3I6IEluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcbiAgcHJpdmF0ZSBfbWV0YTogTWV0YSA9IGluamVjdChNZXRhKTtcbiAgcHJpdmF0ZSBfdGl0bGU6IFRpdGxlID0gaW5qZWN0KFRpdGxlKTtcbiAgcHJpdmF0ZSBfbG9jYXRpb246IExvY2F0aW9uID0gaW5qZWN0KExvY2F0aW9uKTtcbiAgcHVibGljIHByb2R1Y3QkOiBPYnNlcnZhYmxlPFByb2R1Y3QgfCBudWxsPiA9IHRoaXMuX3Byb2R1Y3REZXRhaWxTZXJ2aWNlLnByb2R1Y3QkO1xuICBwdWJsaWMgb3B0aW9ucyQ6IE9ic2VydmFibGU8YW55PiA9IHRoaXMuX3Byb2R1Y3REZXRhaWxTZXJ2aWNlLm9wdGlvbnMkO1xuICBwdWJsaWMgZGF0YSQ6IE9ic2VydmFibGU8YW55PiA9IHRoaXMuX3Byb2R1Y3REZXRhaWxTZXJ2aWNlLmFzc29jaWF0ZWREYXRhJDtcbiAgcHJpdmF0ZSByb3V0ZVN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSByb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG4gIHByaXZhdGUgY3VycmVudFByb2R1Y3RJZD86IHN0cmluZztcblxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMucm91dGVTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgbWVkaWFVcmwgPSB0aGlzLl9jb25zdHMubWVkaWFVcmwoKTtcbiAgcHVibGljIGNvZGU6IHN0cmluZyA9ICcnO1xuICBwdWJsaWMgc2hvd0Zvcm1Db250YWN0ID0gZmFsc2U7XG4gIHB1YmxpYyBzaG93UmV2aWV3czogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgcmVzZXQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIHN1Y2Nlc3M6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGNhdGVnb3JpZXM6IGFueVtdID0gW107XG4gIHB1YmxpYyBzaG93UHJpY2VzT25seVRvTG9nZ2VkVXNlcnM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGhpZGVQcmljZXM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwdWJsaWMgcXVhbnRpdHk6IFdyaXRhYmxlU2lnbmFsPG51bWJlcj4gPSBzaWduYWwoMSk7XG4gIHB1YmxpYyBpc0FkZGluZ1RvQ2FydDogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj4gPSBzaWduYWwoZmFsc2UpO1xuICBwdWJsaWMgcGFyYW1ldGVycyQ6IE9ic2VydmFibGU8UGFyYW1ldGVyW10gfCBudWxsPiA9IHRoaXMucGFyYW1ldGVyc1NlcnZpY2UuZ2V0UGFyYW1ldGVycygpO1xuICBwdWJsaWMgaGFzUGFyYW1zID0gdGhpcy5wYXJhbWV0ZXJzU2VydmljZS5oYXNQYXJhbXNcbiAgcHVibGljIGNyZWRpdEFjY291bnRTaG93UHJpY2VzOiBib29sZWFuIHwgbnVsbCA9IG51bGw7XG4gIC8vIEFncmVnYXIgZXN0YSBwcm9waWVkYWQgYWwgaW5pY2lvIGRlIGxhIGNsYXNlXG4gIHByaXZhdGUgcHJvZHVjdFNpZ25hbCA9IHNpZ25hbDxQcm9kdWN0IHwgbnVsbD4obnVsbCk7XG5cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLl9hY3RpdmVkUm91dGUucGFyYW1zLnN1YnNjcmliZShxdWVyeVBhcmFtcyA9PiB7XG4gICAgICB0aGlzLmNvZGUgPSBxdWVyeVBhcmFtc1tcImlkXCJdO1xuICAgICAgdGhpcy5fcHJvZHVjdERldGFpbFNlcnZpY2UubG9hZFByb2R1Y3QodGhpcy5jb2RlKTtcbiAgICB9KTtcbiAgICB0aGlzLl9hY3RpdmVkUm91dGUucGFyYW1zLnN1YnNjcmliZShxdWVyeVBhcmFtcyA9PiB7XG4gICAgICB0aGlzLmNvZGUgPSBxdWVyeVBhcmFtc1tcImlkXCJdO1xuICAgICAgdGhpcy5fcHJvZHVjdERldGFpbFNlcnZpY2UubG9hZFByb2R1Y3QodGhpcy5jb2RlKTtcbiAgICB9KVxuICAgIHRoaXMuaW5qZWN0b3IuZ2V0KENoYW5uZWxTZXJ2aWNlKS5jaGFubmVsJC5zdWJzY3JpYmUoY2hhbm5lbCA9PiB7XG4gICAgICB0aGlzLnNob3dSZXZpZXdzID0gY2hhbm5lbC5zaG93UmV2aWV3cztcbiAgICAgIHRoaXMuc2hvd1ByaWNlc09ubHlUb0xvZ2dlZFVzZXJzID0gISFjaGFubmVsLnNob3dQcmljZXNPbmx5VG9Mb2dnZWRVc2VycztcbiAgICAgIHRoaXMuaGlkZVByaWNlcyA9ICEhY2hhbm5lbC5oaWRlUHJpY2VzO1xuICAgIH0pO1xuICAgIHRoaXMuX29wdGlvbnNTZXJ2aWNlLmdldENhdGVnb3JpZXMoKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgIHRoaXMuY2F0ZWdvcmllcyA9IHJlcztcbiAgICB9XG4gICAgKTtcbiAgICB0aGlzLl9jYXJ0U2VydmljZS5zaG93UHJpY2UkLnN1YnNjcmliZSgoc2hvd1ByaWNlKSA9PiB7XG4gICAgICB0aGlzLmNyZWRpdEFjY291bnRTaG93UHJpY2VzID0gc2hvd1ByaWNlO1xuICAgIH0pO1xuXG4gICAgdGhpcy5wcm9kdWN0JC5zdWJzY3JpYmUocHJvZHVjdCA9PiB7XG4gICAgICB0aGlzLnByb2R1Y3RTaWduYWwuc2V0KHByb2R1Y3QpO1xuICAgIH0pO1xuXG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnByb2R1Y3QkLnN1YnNjcmliZShwcm9kdWN0ID0+IHtcbiAgICAgIGlmIChwcm9kdWN0KSB7XG4gICAgICAgIHRoaXMudXBkYXRlTWV0YVRhZ3MocHJvZHVjdCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgLy8gU3VzY3JpYmlyc2UgYSBsb3MgY2FtYmlvcyBkZSBwYXLDoW1ldHJvcyBkZSBsYSBydXRhXG4gICAgdGhpcy5yb3V0ZVN1YnNjcmlwdGlvbiA9IHRoaXMucm91dGUucGFyYW1zLnN1YnNjcmliZShwYXJhbXMgPT4ge1xuICAgICAgY29uc3QgbmV3UHJvZHVjdElkID0gcGFyYW1zWydpZCddO1xuICAgICAgaWYgKG5ld1Byb2R1Y3RJZCAmJiBuZXdQcm9kdWN0SWQgIT09IHRoaXMuY3VycmVudFByb2R1Y3RJZCkge1xuICAgICAgICB0aGlzLmN1cnJlbnRQcm9kdWN0SWQgPSBuZXdQcm9kdWN0SWQ7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgfVxuXG4gIHVwZGF0ZU1ldGFUYWdzKHByb2R1Y3Q6IFByb2R1Y3QpIHtcbiAgICBjb25zdCBkZXNjcmlwY2lvbkxpbXBpYSA9IGhlLmRlY29kZShwcm9kdWN0LmRlc2NyaXB0aW9uIHx8ICcnKS5yZXBsYWNlKC88W14+XSo+L2csICcgJykucmVwbGFjZSgvXFxzKy9nLCAnICcpLnRyaW0oKTtcbiAgICBjb25zdCBjdXJyZW50VXJsID0gdGhpcy5fY29uc3RzLnVybCgpICsgdGhpcy5fbG9jYXRpb24ucGF0aCh0cnVlKTsgIC8vIGB0cnVlYCBpbmNsdXllIGVsIHF1ZXJ5IHN0cmluZ1xuXG5cblxuICAgIHRoaXMuX21ldGEudXBkYXRlVGFnKHsgcHJvcGVydHk6ICdvZzp0aXRsZScsIGNvbnRlbnQ6IHByb2R1Y3QubmFtZSB8fCAnJyB9KTtcbiAgICB0aGlzLl9tZXRhLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6ZGVzY3JpcHRpb24nLCBjb250ZW50OiBkZXNjcmlwY2lvbkxpbXBpYSB8fCAnJyB9KTtcbiAgICB0aGlzLl9tZXRhLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6aW1hZ2UnLCBjb250ZW50OiB0aGlzLl9jb25zdHMubWVkaWFJbWFnZVVybChBcnJheS5pc0FycmF5KHByb2R1Y3QucGljdHVyZXNkZWZhdWx0KSA/IHByb2R1Y3QucGljdHVyZXNkZWZhdWx0WzBdIDogcHJvZHVjdC5waWN0dXJlc2RlZmF1bHQpIHx8ICcnIH0pO1xuICAgIHRoaXMuX21ldGEudXBkYXRlVGFnKHsgcHJvcGVydHk6ICdvZzp1cmwnLCBjb250ZW50OiBjdXJyZW50VXJsIH0pO1xuICAgIHRoaXMuX21ldGEudXBkYXRlVGFnKHsgcHJvcGVydHk6ICdvZzp0eXBlJywgY29udGVudDogJ3Byb2R1Y3QnIH0pO1xuICB9XG4gIGRlY29kZUh0bWwoaHRtbDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCB0eHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZXh0YXJlYScpO1xuICAgIHR4dC5pbm5lckhUTUwgPSBodG1sO1xuICAgIHJldHVybiB0eHQudmFsdWU7XG5cbiAgfVxuICBzYW5pdGl6ZWRIdG1sKGh0bWw6IHN0cmluZyk6IFNhZmVIdG1sIHtcbiAgICBjb25zdCBkZWNvZGVkSHRtbCA9IHRoaXMuZGVjb2RlSHRtbChodG1sKTtcbiAgICByZXR1cm4gdGhpcy5fZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGRlY29kZWRIdG1sKTtcbiAgfVxuXG4gIGFkZFRvQ2FydCgpIHtcbiAgICBpZiAodGhpcy5pc0FkZGluZ1RvQ2FydCgpIHx8IHRoaXMucXVhbnRpdHkoKSA8PSAwKSByZXR1cm47XG5cbiAgICB0aGlzLmlzQWRkaW5nVG9DYXJ0LnNldCh0cnVlKTtcbiAgICB0aGlzLl9wcm9kdWN0RGV0YWlsU2VydmljZS5hZGRUb0NhcnQodGhpcy5xdWFudGl0eSgpKTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5pc0FkZGluZ1RvQ2FydC5zZXQoZmFsc2UpO1xuICAgIH0sIDIwMDApO1xuICB9XG5cbiAgcGx1cyhzdG9jaz86IG51bWJlciwgbXVsdGlwbGVRdWFudGl0eT86IG51bWJlcikge1xuICAgIGlmIChtdWx0aXBsZVF1YW50aXR5ICYmIG11bHRpcGxlUXVhbnRpdHkgPiAwKSB7XG4gICAgICBzdG9jayA/ICh0aGlzLnF1YW50aXR5KCkgPCBzdG9ja1xuICAgICAgICA/IHRoaXMucXVhbnRpdHkudXBkYXRlKHZhbHVlID0+IHZhbHVlICsgbXVsdGlwbGVRdWFudGl0eSlcbiAgICAgICAgOiB0aGlzLl90b2FzdFNlcnZpY2Uuc2hvdygnb3V0LW9mLXN0b2NrLWFjdHVhbGx5JykpXG4gICAgICAgIDogdGhpcy5xdWFudGl0eS51cGRhdGUodmFsdWUgPT4gdmFsdWUgKyBtdWx0aXBsZVF1YW50aXR5KVxuICAgIH0gZWxzZSB7XG4gICAgICBzdG9jayA/ICh0aGlzLnF1YW50aXR5KCkgPCBzdG9ja1xuICAgICAgICA/IHRoaXMucXVhbnRpdHkudXBkYXRlKHZhbHVlID0+IHZhbHVlICsgMSlcbiAgICAgICAgOiB0aGlzLl90b2FzdFNlcnZpY2Uuc2hvdygnb3V0LW9mLXN0b2NrLWFjdHVhbGx5JykpXG4gICAgICAgIDogdGhpcy5xdWFudGl0eS51cGRhdGUodmFsdWUgPT4gdmFsdWUgKyAxKVxuICAgIH1cbiAgfVxuXG4gIGxlc3MobXVsdGlwbGVRdWFudGl0eT86IGFueSkge1xuICAgIGlmIChtdWx0aXBsZVF1YW50aXR5ICYmIG11bHRpcGxlUXVhbnRpdHkgPiAwKSB7XG4gICAgICB0aGlzLnF1YW50aXR5KCkgPiBtdWx0aXBsZVF1YW50aXR5ID8gdGhpcy5xdWFudGl0eS51cGRhdGUodmFsdWUgPT4gdmFsdWUgLSBtdWx0aXBsZVF1YW50aXR5KSA6IG51bGw7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucXVhbnRpdHkoKSA+IDEgPyB0aGlzLnF1YW50aXR5LnVwZGF0ZSh2YWx1ZSA9PiB2YWx1ZSAtIDEpIDogbnVsbDtcbiAgICB9XG4gIH1cblxuICBjaGVja1N0b2NrKHN0b2NrOiBudW1iZXIpIHtcbiAgICBpZiAodGhpcy5xdWFudGl0eSgpID49IHN0b2NrKVxuICAgICAgdGhpcy5xdWFudGl0eS5zZXQoc3RvY2spO1xuICB9XG5cbiAgcHVibGljIGdvVG9TZWN0aW9uKHNlY3Rpb246IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc2hvd0Zvcm1Db250YWN0ID0gdHJ1ZTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChzZWN0aW9uKTtcbiAgICAgIGlmIChlbGVtZW50KSB7XG4gICAgICAgIGVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoeyBiZWhhdmlvcjogJ3Ntb290aCcgfSk7XG4gICAgICB9XG4gICAgfSwgNTAwKTtcbiAgfVxuXG4gIHJlc2V0Rm9ybSA9ICgpID0+IHtcbiAgICB0aGlzLnJlc2V0ID0gIXRoaXMucmVzZXRcbiAgICB0aGlzLnN1Y2Nlc3MgPSB0cnVlXG4gIH1cblxuICAvLyBDb21wdXRlZCBzaWduYWxzIG3DoXMgZWZpY2llbnRlc1xuICBwdWJsaWMgaGFzRGlzY291bnQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgcHJvZHVjdCA9IHRoaXMucHJvZHVjdFNpZ25hbCgpO1xuICAgIGlmICghcHJvZHVjdD8uc2FsZXByaWNlIHx8ICFwcm9kdWN0Py5wcmljZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IG9yaWdpbmFsUHJpY2UgPSBwYXJzZUZsb2F0KHByb2R1Y3QucHJpY2UudG9TdHJpbmcoKSk7XG4gICAgY29uc3Qgc2FsZVByaWNlID0gcGFyc2VGbG9hdChwcm9kdWN0LnNhbGVwcmljZS50b1N0cmluZygpKTtcblxuICAgIHJldHVybiBzYWxlUHJpY2UgPiAwICYmIG9yaWdpbmFsUHJpY2UgPiBzYWxlUHJpY2U7XG4gIH0pO1xuXG4gIHB1YmxpYyBkaXNjb3VudFBlcmNlbnRhZ2UgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgaWYgKCF0aGlzLmhhc0Rpc2NvdW50KCkpIHJldHVybiBudWxsO1xuXG4gICAgY29uc3QgcHJvZHVjdCA9IHRoaXMucHJvZHVjdFNpZ25hbCgpO1xuICAgIGlmICghcHJvZHVjdCkgcmV0dXJuIG51bGw7XG5cbiAgICBjb25zdCBvcmlnaW5hbFByaWNlID0gcGFyc2VGbG9hdChwcm9kdWN0LnByaWNlPy50b1N0cmluZygpIHx8ICcwJyk7XG4gICAgY29uc3Qgc2FsZVByaWNlID0gcGFyc2VGbG9hdChwcm9kdWN0LnNhbGVwcmljZT8udG9TdHJpbmcoKSB8fCAnMCcpO1xuXG4gICAgaWYgKG9yaWdpbmFsUHJpY2UgPD0gMCB8fCBzYWxlUHJpY2UgPD0gMCB8fCBzYWxlUHJpY2UgPj0gb3JpZ2luYWxQcmljZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgZGlzY291bnQgPSAoKG9yaWdpbmFsUHJpY2UgLSBzYWxlUHJpY2UpIC8gb3JpZ2luYWxQcmljZSkgKiAxMDA7XG4gICAgcmV0dXJuIE1hdGgucm91bmQoZGlzY291bnQpO1xuICB9KTtcbiAgXG4gLyoqXG4gICAqIE3DqXRvZG8gcGFyYSB0cmFja2VhciBjYW1iaW9zIGVuIGVsIHByb2R1Y3RJZCB5IGZvcnphciBsYSByZWNyZWFjacOzbiBkZWwgY29tcG9uZW50ZSByZWxhY2lvbmFkb3NcbiAgICovXG4gIHRyYWNrQnlQcm9kdWN0SWQoaW5kZXg6IG51bWJlciwgcHJvZHVjdElkOiBhbnkpOiBhbnkge1xuICAgIHJldHVybiBwcm9kdWN0SWQ7XG4gIH1cblxuXG59XG4iLCIiXX0=
209
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1kZXRhaWwtZWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLWNvbXBvbmVudHMvcHJvZHVjdC1kZXRhaWwtZWMvcHJvZHVjdC1kZXRhaWwtZWMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLWNvbXBvbmVudHMvcHJvZHVjdC1kZXRhaWwtZWMvcHJvZHVjdC1kZXRhaWwtZWMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbkYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQWtCLE1BQU0sRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDL0YsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDeEYsT0FBTyxFQUFFLFlBQVksRUFBWSxNQUFNLDJCQUEyQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR3ZELE9BQU8sS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ3pCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNu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QUM7SUFFSDs7UUFFSTtJQUNKLGdCQUFnQixDQUFDLEtBQWEsRUFBRSxTQUFjO1FBQzVDLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRDs7T0FFRztJQUNLLGdCQUFnQjtRQUN0QiwrREFBK0Q7UUFDL0QsSUFBSSxPQUFRLElBQVksQ0FBQyxTQUFTLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDakQsSUFBWSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzVCLENBQUM7UUFFRCw4Q0FBOEM7UUFDOUMsSUFBSSxTQUFTLElBQUksSUFBSSxFQUFFLENBQUM7WUFDckIsSUFBWSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDaEMsQ0FBQztJQUNILENBQUM7d0dBMU5VLHdCQUF3Qjs0RkFBeEIsd0JBQXdCLGlGQ3pCckMsRUFBQTs7NEZEeUJhLHdCQUF3QjtrQkFQcEMsU0FBUzsrQkFDRSx1QkFBdUIsY0FDckIsSUFBSSxXQUNQLENBQUMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21wdXRlZCwgSW5qZWN0b3IsIE9uSW5pdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQYXJhbWV0ZXJzU2VydmljZSwgQ2hhbm5lbFNlcnZpY2UsIENhcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZWMtc2VydmljZXMnO1xuaW1wb3J0IHsgUGFyYW1ldGVyIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgV3JpdGFibGVTaWduYWwsIHNpZ25hbCwgUExBVEZPUk1fSUQsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWV0YSwgVGl0bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFByb2R1Y3REZXRhaWxTZXJ2aWNlLCBQcm9kdWN0c1NlcnZpY2UsIFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uL2VjLXNlcnZpY2VzJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IENvcmVDb25zdGFudHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUHJvZHVjdCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0ICogYXMgaGUgZnJvbSAnaGUnO1xuaW1wb3J0IHsgT3B0aW9uc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9lYy1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBWYXJpYW50c0VjQ29tcG9uZW50IH0gZnJvbSAnLi4vdmFyaWFudHMtZWMvdmFyaWFudHMtZWMuY29tcG9uZW50JztcblxuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1wcm9kdWN0LWRldGFpbC1lYycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtWYXJpYW50c0VjQ29tcG9uZW50XSxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2R1Y3QtZGV0YWlsLWVjLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJvZHVjdC1kZXRhaWwtZWMuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBQcm9kdWN0RGV0YWlsRWNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgX2NhcnRTZXJ2aWNlOiBDYXJ0U2VydmljZSA9IGluamVjdChDYXJ0U2VydmljZSlcbiAgcHJpdmF0ZSBfb3B0aW9uc1NlcnZpY2U6IE9wdGlvbnNTZXJ2aWNlID0gaW5qZWN0KE9wdGlvbnNTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBfcHJvZHVjdERldGFpbFNlcnZpY2U6IFByb2R1Y3REZXRhaWxTZXJ2aWNlID0gaW5qZWN0KFByb2R1Y3REZXRhaWxTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBfcHJvZHVjdFNlcnZpY2U6IFByb2R1Y3RzU2VydmljZSA9IGluamVjdChQcm9kdWN0c1NlcnZpY2UpO1xuICBwcml2YXRlIF9hY3RpdmVkUm91dGU6IEFjdGl2YXRlZFJvdXRlID0gaW5qZWN0KEFjdGl2YXRlZFJvdXRlKTtcbiAgcHJpdmF0ZSBfZG9tU2FuaXRpemVyOiBEb21TYW5pdGl6ZXIgPSBpbmplY3QoRG9tU2FuaXRpemVyKTtcbiAgcHJpdmF0ZSBfY29uc3RzOiBDb3JlQ29uc3RhbnRzU2VydmljZSA9IGluamVjdChDb3JlQ29uc3RhbnRzU2VydmljZSk7XG4gIHByaXZhdGUgX3RvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlID0gaW5qZWN0KFRvYXN0U2VydmljZSk7XG4gIHByaXZhdGUgcGFyYW1ldGVyc1NlcnZpY2UgPSBpbmplY3QoUGFyYW1ldGVyc1NlcnZpY2UpO1xuICBwdWJsaWMgaW5qZWN0b3I6IEluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcbiAgcHJpdmF0ZSBfbWV0YTogTWV0YSA9IGluamVjdChNZXRhKTtcbiAgcHJpdmF0ZSBfdGl0bGU6IFRpdGxlID0gaW5qZWN0KFRpdGxlKTtcbiAgcHJpdmF0ZSBfbG9jYXRpb246IExvY2F0aW9uID0gaW5qZWN0KExvY2F0aW9uKTtcbiAgcHVibGljIHByb2R1Y3QkOiBPYnNlcnZhYmxlPFByb2R1Y3QgfCBudWxsPiA9IHRoaXMuX3Byb2R1Y3REZXRhaWxTZXJ2aWNlLnByb2R1Y3QkO1xuICBwdWJsaWMgb3B0aW9ucyQ6IE9ic2VydmFibGU8YW55PiA9IHRoaXMuX3Byb2R1Y3REZXRhaWxTZXJ2aWNlLm9wdGlvbnMkO1xuICBwdWJsaWMgZGF0YSQ6IE9ic2VydmFibGU8YW55PiA9IHRoaXMuX3Byb2R1Y3REZXRhaWxTZXJ2aWNlLmFzc29jaWF0ZWREYXRhJDtcbiAgcHJpdmF0ZSByb3V0ZVN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSByb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG4gIHByaXZhdGUgY3VycmVudFByb2R1Y3RJZD86IHN0cmluZztcblxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMucm91dGVTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwdWJsaWMgbWVkaWFVcmwgPSB0aGlzLl9jb25zdHMubWVkaWFVcmwoKTtcbiAgcHVibGljIGNvZGU6IHN0cmluZyA9ICcnO1xuICBwdWJsaWMgc2hvd0Zvcm1Db250YWN0ID0gZmFsc2U7XG4gIHB1YmxpYyBzaG93UmV2aWV3czogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgcmVzZXQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIHN1Y2Nlc3M6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGNhdGVnb3JpZXM6IGFueVtdID0gW107XG4gIHB1YmxpYyBzaG93UHJpY2VzT25seVRvTG9nZ2VkVXNlcnM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGhpZGVQcmljZXM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwdWJsaWMgcXVhbnRpdHk6IFdyaXRhYmxlU2lnbmFsPG51bWJlcj4gPSBzaWduYWwoMSk7XG4gIHB1YmxpYyBpc0FkZGluZ1RvQ2FydDogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj4gPSBzaWduYWwoZmFsc2UpO1xuICBwdWJsaWMgcGFyYW1ldGVycyQ6IE9ic2VydmFibGU8UGFyYW1ldGVyW10gfCBudWxsPiA9IHRoaXMucGFyYW1ldGVyc1NlcnZpY2UuZ2V0UGFyYW1ldGVycygpO1xuICBwdWJsaWMgaGFzUGFyYW1zID0gdGhpcy5wYXJhbWV0ZXJzU2VydmljZS5oYXNQYXJhbXNcbiAgcHVibGljIGNyZWRpdEFjY291bnRTaG93UHJpY2VzOiBib29sZWFuIHwgbnVsbCA9IG51bGw7XG4gIC8vIEFncmVnYXIgZXN0YSBwcm9waWVkYWQgYWwgaW5pY2lvIGRlIGxhIGNsYXNlXG4gIHByaXZhdGUgcHJvZHVjdFNpZ25hbCA9IHNpZ25hbDxQcm9kdWN0IHwgbnVsbD4obnVsbCk7XG5cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLl9hY3RpdmVkUm91dGUucGFyYW1zLnN1YnNjcmliZShxdWVyeVBhcmFtcyA9PiB7XG4gICAgICB0aGlzLmNvZGUgPSBxdWVyeVBhcmFtc1tcImlkXCJdO1xuICAgICAgdGhpcy5fcHJvZHVjdERldGFpbFNlcnZpY2UubG9hZFByb2R1Y3QodGhpcy5jb2RlKTtcbiAgICB9KTtcbiAgICB0aGlzLl9hY3RpdmVkUm91dGUucGFyYW1zLnN1YnNjcmliZShxdWVyeVBhcmFtcyA9PiB7XG4gICAgICB0aGlzLmNvZGUgPSBxdWVyeVBhcmFtc1tcImlkXCJdO1xuICAgICAgdGhpcy5fcHJvZHVjdERldGFpbFNlcnZpY2UubG9hZFByb2R1Y3QodGhpcy5jb2RlKTtcbiAgICB9KVxuICAgIHRoaXMuaW5qZWN0b3IuZ2V0KENoYW5uZWxTZXJ2aWNlKS5jaGFubmVsJC5zdWJzY3JpYmUoY2hhbm5lbCA9PiB7XG4gICAgICB0aGlzLnNob3dSZXZpZXdzID0gY2hhbm5lbC5zaG93UmV2aWV3cztcbiAgICAgIHRoaXMuc2hvd1ByaWNlc09ubHlUb0xvZ2dlZFVzZXJzID0gISFjaGFubmVsLnNob3dQcmljZXNPbmx5VG9Mb2dnZWRVc2VycztcbiAgICAgIHRoaXMuaGlkZVByaWNlcyA9ICEhY2hhbm5lbC5oaWRlUHJpY2VzO1xuICAgIH0pO1xuICAgIHRoaXMuX29wdGlvbnNTZXJ2aWNlLmdldENhdGVnb3JpZXMoKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgIHRoaXMuY2F0ZWdvcmllcyA9IHJlcztcbiAgICB9XG4gICAgKTtcbiAgICB0aGlzLl9jYXJ0U2VydmljZS5zaG93UHJpY2UkLnN1YnNjcmliZSgoc2hvd1ByaWNlKSA9PiB7XG4gICAgICB0aGlzLmNyZWRpdEFjY291bnRTaG93UHJpY2VzID0gc2hvd1ByaWNlO1xuICAgIH0pO1xuXG4gICAgdGhpcy5wcm9kdWN0JC5zdWJzY3JpYmUocHJvZHVjdCA9PiB7XG4gICAgICB0aGlzLnByb2R1Y3RTaWduYWwuc2V0KHByb2R1Y3QpO1xuICAgIH0pO1xuXG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnByb2R1Y3QkLnN1YnNjcmliZShwcm9kdWN0ID0+IHtcbiAgICAgIGlmIChwcm9kdWN0KSB7XG4gICAgICAgIHRoaXMudXBkYXRlTWV0YVRhZ3MocHJvZHVjdCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgLy8gU3VzY3JpYmlyc2UgYSBsb3MgY2FtYmlvcyBkZSBwYXLDoW1ldHJvcyBkZSBsYSBydXRhXG4gICAgdGhpcy5yb3V0ZVN1YnNjcmlwdGlvbiA9IHRoaXMucm91dGUucGFyYW1zLnN1YnNjcmliZShwYXJhbXMgPT4ge1xuICAgICAgY29uc3QgbmV3UHJvZHVjdElkID0gcGFyYW1zWydpZCddO1xuICAgICAgaWYgKG5ld1Byb2R1Y3RJZCAmJiBuZXdQcm9kdWN0SWQgIT09IHRoaXMuY3VycmVudFByb2R1Y3RJZCkge1xuICAgICAgICB0aGlzLmN1cnJlbnRQcm9kdWN0SWQgPSBuZXdQcm9kdWN0SWQ7XG5cbiAgICAgICAgLy8gUmVzZXRlYXIgZWwgZXN0YWRvIGRlbCBtb2RhbCBkZSByZXNlw7FhcyBjdWFuZG8gY2FtYmllIGVsIHByb2R1Y3RvXG4gICAgICAgIHRoaXMucmVzZXRSZXZpZXdNb2RhbCgpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gIH1cblxuICB1cGRhdGVNZXRhVGFncyhwcm9kdWN0OiBQcm9kdWN0KSB7XG4gICAgY29uc3QgZGVzY3JpcGNpb25MaW1waWEgPSBoZS5kZWNvZGUocHJvZHVjdC5kZXNjcmlwdGlvbiB8fCAnJykucmVwbGFjZSgvPFtePl0qPi9nLCAnICcpLnJlcGxhY2UoL1xccysvZywgJyAnKS50cmltKCk7XG4gICAgY29uc3QgY3VycmVudFVybCA9IHRoaXMuX2NvbnN0cy51cmwoKSArIHRoaXMuX2xvY2F0aW9uLnBhdGgodHJ1ZSk7ICAvLyBgdHJ1ZWAgaW5jbHV5ZSBlbCBxdWVyeSBzdHJpbmdcblxuXG5cbiAgICB0aGlzLl9tZXRhLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6dGl0bGUnLCBjb250ZW50OiBwcm9kdWN0Lm5hbWUgfHwgJycgfSk7XG4gICAgdGhpcy5fbWV0YS51cGRhdGVUYWcoeyBwcm9wZXJ0eTogJ29nOmRlc2NyaXB0aW9uJywgY29udGVudDogZGVzY3JpcGNpb25MaW1waWEgfHwgJycgfSk7XG4gICAgdGhpcy5fbWV0YS51cGRhdGVUYWcoeyBwcm9wZXJ0eTogJ29nOmltYWdlJywgY29udGVudDogdGhpcy5fY29uc3RzLm1lZGlhSW1hZ2VVcmwoQXJyYXkuaXNBcnJheShwcm9kdWN0LnBpY3R1cmVzZGVmYXVsdCkgPyBwcm9kdWN0LnBpY3R1cmVzZGVmYXVsdFswXSA6IHByb2R1Y3QucGljdHVyZXNkZWZhdWx0KSB8fCAnJyB9KTtcbiAgICB0aGlzLl9tZXRhLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6dXJsJywgY29udGVudDogY3VycmVudFVybCB9KTtcbiAgICB0aGlzLl9tZXRhLnVwZGF0ZVRhZyh7IHByb3BlcnR5OiAnb2c6dHlwZScsIGNvbnRlbnQ6ICdwcm9kdWN0JyB9KTtcbiAgfVxuICBkZWNvZGVIdG1sKGh0bWw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgdHh0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGV4dGFyZWEnKTtcbiAgICB0eHQuaW5uZXJIVE1MID0gaHRtbDtcbiAgICByZXR1cm4gdHh0LnZhbHVlO1xuXG4gIH1cbiAgc2FuaXRpemVkSHRtbChodG1sOiBzdHJpbmcpOiBTYWZlSHRtbCB7XG4gICAgY29uc3QgZGVjb2RlZEh0bWwgPSB0aGlzLmRlY29kZUh0bWwoaHRtbCk7XG4gICAgcmV0dXJuIHRoaXMuX2RvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChkZWNvZGVkSHRtbCk7XG4gIH1cblxuICBhZGRUb0NhcnQoKSB7XG4gICAgaWYgKHRoaXMuaXNBZGRpbmdUb0NhcnQoKSB8fCB0aGlzLnF1YW50aXR5KCkgPD0gMCkgcmV0dXJuO1xuXG4gICAgdGhpcy5pc0FkZGluZ1RvQ2FydC5zZXQodHJ1ZSk7XG4gICAgdGhpcy5fcHJvZHVjdERldGFpbFNlcnZpY2UuYWRkVG9DYXJ0KHRoaXMucXVhbnRpdHkoKSk7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuaXNBZGRpbmdUb0NhcnQuc2V0KGZhbHNlKTtcbiAgICB9LCAyMDAwKTtcbiAgfVxuXG4gIHBsdXMoc3RvY2s/OiBudW1iZXIsIG11bHRpcGxlUXVhbnRpdHk/OiBudW1iZXIpIHtcbiAgICBpZiAobXVsdGlwbGVRdWFudGl0eSAmJiBtdWx0aXBsZVF1YW50aXR5ID4gMCkge1xuICAgICAgc3RvY2sgPyAodGhpcy5xdWFudGl0eSgpIDwgc3RvY2tcbiAgICAgICAgPyB0aGlzLnF1YW50aXR5LnVwZGF0ZSh2YWx1ZSA9PiB2YWx1ZSArIG11bHRpcGxlUXVhbnRpdHkpXG4gICAgICAgIDogdGhpcy5fdG9hc3RTZXJ2aWNlLnNob3coJ291dC1vZi1zdG9jay1hY3R1YWxseScpKVxuICAgICAgICA6IHRoaXMucXVhbnRpdHkudXBkYXRlKHZhbHVlID0+IHZhbHVlICsgbXVsdGlwbGVRdWFudGl0eSlcbiAgICB9IGVsc2Uge1xuICAgICAgc3RvY2sgPyAodGhpcy5xdWFudGl0eSgpIDwgc3RvY2tcbiAgICAgICAgPyB0aGlzLnF1YW50aXR5LnVwZGF0ZSh2YWx1ZSA9PiB2YWx1ZSArIDEpXG4gICAgICAgIDogdGhpcy5fdG9hc3RTZXJ2aWNlLnNob3coJ291dC1vZi1zdG9jay1hY3R1YWxseScpKVxuICAgICAgICA6IHRoaXMucXVhbnRpdHkudXBkYXRlKHZhbHVlID0+IHZhbHVlICsgMSlcbiAgICB9XG4gIH1cblxuICBsZXNzKG11bHRpcGxlUXVhbnRpdHk/OiBhbnkpIHtcbiAgICBpZiAobXVsdGlwbGVRdWFudGl0eSAmJiBtdWx0aXBsZVF1YW50aXR5ID4gMCkge1xuICAgICAgdGhpcy5xdWFudGl0eSgpID4gbXVsdGlwbGVRdWFudGl0eSA/IHRoaXMucXVhbnRpdHkudXBkYXRlKHZhbHVlID0+IHZhbHVlIC0gbXVsdGlwbGVRdWFudGl0eSkgOiBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnF1YW50aXR5KCkgPiAxID8gdGhpcy5xdWFudGl0eS51cGRhdGUodmFsdWUgPT4gdmFsdWUgLSAxKSA6IG51bGw7XG4gICAgfVxuICB9XG5cbiAgY2hlY2tTdG9jayhzdG9jazogbnVtYmVyKSB7XG4gICAgaWYgKHRoaXMucXVhbnRpdHkoKSA+PSBzdG9jaylcbiAgICAgIHRoaXMucXVhbnRpdHkuc2V0KHN0b2NrKTtcbiAgfVxuXG4gIHB1YmxpYyBnb1RvU2VjdGlvbihzZWN0aW9uOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dGb3JtQ29udGFjdCA9IHRydWU7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoc2VjdGlvbik7XG4gICAgICBpZiAoZWxlbWVudCkge1xuICAgICAgICBlbGVtZW50LnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xuICAgICAgfVxuICAgIH0sIDUwMCk7XG4gIH1cblxuICByZXNldEZvcm0gPSAoKSA9PiB7XG4gICAgdGhpcy5yZXNldCA9ICF0aGlzLnJlc2V0XG4gICAgdGhpcy5zdWNjZXNzID0gdHJ1ZVxuICB9XG5cbiAgLy8gQ29tcHV0ZWQgc2lnbmFscyBtw6FzIGVmaWNpZW50ZXNcbiAgcHVibGljIGhhc0Rpc2NvdW50ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHByb2R1Y3QgPSB0aGlzLnByb2R1Y3RTaWduYWwoKTtcbiAgICBpZiAoIXByb2R1Y3Q/LnNhbGVwcmljZSB8fCAhcHJvZHVjdD8ucHJpY2UpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCBvcmlnaW5hbFByaWNlID0gcGFyc2VGbG9hdChwcm9kdWN0LnByaWNlLnRvU3RyaW5nKCkpO1xuICAgIGNvbnN0IHNhbGVQcmljZSA9IHBhcnNlRmxvYXQocHJvZHVjdC5zYWxlcHJpY2UudG9TdHJpbmcoKSk7XG5cbiAgICByZXR1cm4gc2FsZVByaWNlID4gMCAmJiBvcmlnaW5hbFByaWNlID4gc2FsZVByaWNlO1xuICB9KTtcblxuICBwdWJsaWMgZGlzY291bnRQZXJjZW50YWdlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGlmICghdGhpcy5oYXNEaXNjb3VudCgpKSByZXR1cm4gbnVsbDtcblxuICAgIGNvbnN0IHByb2R1Y3QgPSB0aGlzLnByb2R1Y3RTaWduYWwoKTtcbiAgICBpZiAoIXByb2R1Y3QpIHJldHVybiBudWxsO1xuXG4gICAgY29uc3Qgb3JpZ2luYWxQcmljZSA9IHBhcnNlRmxvYXQocHJvZHVjdC5wcmljZT8udG9TdHJpbmcoKSB8fCAnMCcpO1xuICAgIGNvbnN0IHNhbGVQcmljZSA9IHBhcnNlRmxvYXQocHJvZHVjdC5zYWxlcHJpY2U/LnRvU3RyaW5nKCkgfHwgJzAnKTtcblxuICAgIGlmIChvcmlnaW5hbFByaWNlIDw9IDAgfHwgc2FsZVByaWNlIDw9IDAgfHwgc2FsZVByaWNlID49IG9yaWdpbmFsUHJpY2UpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGRpc2NvdW50ID0gKChvcmlnaW5hbFByaWNlIC0gc2FsZVByaWNlKSAvIG9yaWdpbmFsUHJpY2UpICogMTAwO1xuICAgIHJldHVybiBNYXRoLnJvdW5kKGRpc2NvdW50KTtcbiAgfSk7XG5cbiAgLyoqXG4gICAgKiBNw6l0b2RvIHBhcmEgdHJhY2tlYXIgY2FtYmlvcyBlbiBlbCBwcm9kdWN0SWQgeSBmb3J6YXIgbGEgcmVjcmVhY2nDs24gZGVsIGNvbXBvbmVudGUgcmVsYWNpb25hZG9zXG4gICAgKi9cbiAgdHJhY2tCeVByb2R1Y3RJZChpbmRleDogbnVtYmVyLCBwcm9kdWN0SWQ6IGFueSk6IGFueSB7XG4gICAgcmV0dXJuIHByb2R1Y3RJZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldGVhIGVsIGVzdGFkbyBkZWwgbW9kYWwgZGUgcmVzZcOxYXNcbiAgICovXG4gIHByaXZhdGUgcmVzZXRSZXZpZXdNb2RhbCgpOiB2b2lkIHtcbiAgICAvLyBTaSBleGlzdGUgdW4gbcOpdG9kbyByZXNldEZvcm0gZGVsIGNvbXBvbmVudGUgcGFkcmUsIGxsYW1hcmxvXG4gICAgaWYgKHR5cGVvZiAodGhpcyBhcyBhbnkpLnJlc2V0Rm9ybSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgKHRoaXMgYXMgYW55KS5yZXNldEZvcm0oKTtcbiAgICB9XG5cbiAgICAvLyBTaSBleGlzdGUgdW5hIHByb3BpZWRhZCBzdWNjZXNzLCByZXNldGVhcmxhXG4gICAgaWYgKCdzdWNjZXNzJyBpbiB0aGlzKSB7XG4gICAgICAodGhpcyBhcyBhbnkpLnN1Y2Nlc3MgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxufVxuIiwiIl19
@@ -8464,6 +8464,8 @@ class ProductDetailEcComponent {
8464
8464
  const newProductId = params['id'];
8465
8465
  if (newProductId && newProductId !== this.currentProductId) {
8466
8466
  this.currentProductId = newProductId;
8467
+ // Resetear el estado del modal de reseñas cuando cambie el producto
8468
+ this.resetReviewModal();
8467
8469
  }
8468
8470
  });
8469
8471
  }
@@ -8563,6 +8565,19 @@ class ProductDetailEcComponent {
8563
8565
  trackByProductId(index, productId) {
8564
8566
  return productId;
8565
8567
  }
8568
+ /**
8569
+ * Resetea el estado del modal de reseñas
8570
+ */
8571
+ resetReviewModal() {
8572
+ // Si existe un método resetForm del componente padre, llamarlo
8573
+ if (typeof this.resetForm === 'function') {
8574
+ this.resetForm();
8575
+ }
8576
+ // Si existe una propiedad success, resetearla
8577
+ if ('success' in this) {
8578
+ this.success = false;
8579
+ }
8580
+ }
8566
8581
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProductDetailEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8567
8582
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ProductDetailEcComponent, isStandalone: true, selector: "app-product-detail-ec", ngImport: i0, template: "", styles: [""] });
8568
8583
  }