@seniorsistemas/angular-components 17.2.3 → 17.2.5

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.
Files changed (23) hide show
  1. package/bundles/seniorsistemas-angular-components.umd.js +44 -65
  2. package/bundles/seniorsistemas-angular-components.umd.js.map +1 -1
  3. package/bundles/seniorsistemas-angular-components.umd.min.js +2 -2
  4. package/bundles/seniorsistemas-angular-components.umd.min.js.map +1 -1
  5. package/components/accordion/accordion.component.d.ts +5 -2
  6. package/components/dynamic-form/components/fields/text-area-ia/text-area-ia-field.component.d.ts +2 -1
  7. package/components/dynamic-form/services/IAssist/iassist.service.d.ts +1 -4
  8. package/esm2015/components/accordion/accordion.component.js +21 -8
  9. package/esm2015/components/accordion/accordion.module.js +1 -3
  10. package/esm2015/components/dynamic-form/components/fields/text-area-ia/text-area-ia-field.component.js +17 -7
  11. package/esm2015/components/dynamic-form/services/IAssist/iassist.service.js +10 -35
  12. package/esm2015/components/slide-panel/slide-panel.module.js +2 -6
  13. package/esm5/components/accordion/accordion.component.js +21 -8
  14. package/esm5/components/accordion/accordion.module.js +1 -3
  15. package/esm5/components/dynamic-form/components/fields/text-area-ia/text-area-ia-field.component.js +17 -7
  16. package/esm5/components/dynamic-form/services/IAssist/iassist.service.js +10 -47
  17. package/esm5/components/slide-panel/slide-panel.module.js +2 -6
  18. package/fesm2015/seniorsistemas-angular-components.js +42 -52
  19. package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
  20. package/fesm5/seniorsistemas-angular-components.js +42 -64
  21. package/fesm5/seniorsistemas-angular-components.js.map +1 -1
  22. package/package.json +1 -1
  23. package/seniorsistemas-angular-components.metadata.json +1 -1
@@ -5,37 +5,47 @@ import { IAssistService } from "../../../services/IAssist/iassist.service";
5
5
  import { FormField } from "../../../configurations/form-field";
6
6
  import { FieldType } from "../../../configurations/field-type";
7
7
  import { TranslateService } from "@ngx-translate/core";
8
+ import { catchError } from "rxjs/operators";
9
+ import { throwError } from "rxjs";
8
10
  var TextAreaIAFieldComponent = /** @class */ (function () {
9
11
  function TextAreaIAFieldComponent(_iassistService, _formBuilder, _translateService) {
10
12
  this._iassistService = _iassistService;
11
13
  this._formBuilder = _formBuilder;
12
14
  this._translateService = _translateService;
13
- this.dialogVisible = false;
15
+ this.isVisible = false;
16
+ this.isLoading = false;
14
17
  }
15
18
  TextAreaIAFieldComponent.prototype.ngOnInit = function () {
16
19
  this._createDialogFields();
17
20
  this._createDialogFormGroup();
18
21
  };
19
22
  TextAreaIAFieldComponent.prototype.showDialog = function () {
20
- this.dialogVisible = true;
23
+ this.isVisible = true;
21
24
  };
22
25
  TextAreaIAFieldComponent.prototype.onHideDialog = function () {
23
26
  this.formGroup.get("context").setValue("");
24
27
  };
25
28
  TextAreaIAFieldComponent.prototype.hideDialog = function () {
26
- this.dialogVisible = false;
29
+ this.isVisible = false;
27
30
  };
28
31
  TextAreaIAFieldComponent.prototype.submitContext = function () {
29
32
  var _this = this;
30
33
  var context = this.formGroup.get("context");
34
+ this.isLoading = true;
31
35
  this._iassistService.askIA(context.value, {
32
36
  id: this.field.id,
33
37
  label: this.field.label,
34
38
  placeholder: this.field.placeholder,
35
- }).subscribe(function (res) {
39
+ })
40
+ .pipe(catchError(function (err) {
41
+ _this.isLoading = false;
42
+ return throwError(err);
43
+ }))
44
+ .subscribe(function (res) {
36
45
  _this.formControl.setValue(res.text);
46
+ _this.isLoading = false;
37
47
  });
38
- this.dialogVisible = false;
48
+ this.hideDialog();
39
49
  };
40
50
  TextAreaIAFieldComponent.prototype._createDialogFields = function () {
41
51
  this.fields = [
@@ -65,11 +75,11 @@ var TextAreaIAFieldComponent = /** @class */ (function () {
65
75
  ], TextAreaIAFieldComponent.prototype, "formControl", void 0);
66
76
  TextAreaIAFieldComponent = __decorate([
67
77
  Component({
68
- template: "<p-dialog\n [header]=\"'platform.angular_components.ia_text_generator' | translate\"\n [(visible)]=\"dialogVisible\"\n [modal]=\"true\"\n [style]=\"{ width: '50vw' }\"\n [draggable]=\"false\"\n [resizable]=\"false\"\n (onHide)=\"onHideDialog()\">\n <s-dynamic-form\n [fields]=\"fields\"\n [form]=\"formGroup\">\n </s-dynamic-form>\n <p-footer>\n <div class=\"footer-content\">\n <s-button\n id=\"-submit-button\"\n type=\"button\"\n [label]=\"'platform.angular_components.generate_text' | translate\"\n (onClick)=\"submitContext()\"\n sTooltip=\"(ALT + SHIFT + S)\"\n showDelay=\"500\">\n </s-button>\n <s-button\n id=\"-cancel-button\"\n type=\"button\"\n priority=\"link\"\n [label]=\"'platform.angular_components.cancel' | translate\"\n (onClick)=\"hideDialog()\"\n sTooltip=\"(ALT + SHIFT + C)\"\n showDelay=\"500\">\n </s-button>\n </div>\n </p-footer>\n</p-dialog>\n\n<div class=\"textarea-ia\">\n <textarea\n [id]=\"(field.id || field.name)\"\n pInputTextarea\n [rows]=\"field.rows\"\n [cols]=\"field.cols\"\n [formControl]=\"formControl\"\n style=\"resize: vertical;\"\n [ngStyle]=\"field.style\">\n </textarea>\n <s-button\n priority=\"default\"\n (onClick)=\"showDialog()\"\n iconClass=\"far fa-lightbulb-on\"\n [auxiliary]=\"true\"\n [tooltip]=\"'platform.angular_components.ia_text_generator' | translate\">\n </s-button>\n</div>",
78
+ template: "<s-loading-state\n [loading]=\"isLoading\"\n [blockWindow]=\"true\"> \n</s-loading-state>\n\n<p-dialog\n [header]=\"'platform.angular_components.ia_text_generator' | translate\"\n [(visible)]=\"isVisible\"\n [modal]=\"true\"\n [style]=\"{ width: '50vw' }\"\n [draggable]=\"false\"\n [resizable]=\"false\"\n (onHide)=\"onHideDialog()\">\n <s-dynamic-form\n [fields]=\"fields\"\n [form]=\"formGroup\">\n </s-dynamic-form>\n <p-footer>\n <div class=\"footer-content\">\n <s-button\n id=\"-submit-button\"\n type=\"button\"\n [label]=\"'platform.angular_components.generate_text' | translate\"\n (onClick)=\"submitContext()\"\n sTooltip=\"(ALT + SHIFT + S)\"\n showDelay=\"500\">\n </s-button>\n <s-button\n id=\"-cancel-button\"\n type=\"button\"\n priority=\"link\"\n [label]=\"'platform.angular_components.cancel' | translate\"\n (onClick)=\"hideDialog()\"\n sTooltip=\"(ALT + SHIFT + C)\"\n showDelay=\"500\">\n </s-button>\n </div>\n </p-footer>\n</p-dialog>\n\n<div class=\"textarea-ia\">\n <textarea\n [id]=\"(field.id || field.name)\"\n pInputTextarea\n [rows]=\"field.rows\"\n [cols]=\"field.cols\"\n [formControl]=\"formControl\"\n style=\"resize: vertical;\"\n [ngStyle]=\"field.style\">\n </textarea>\n <s-button\n priority=\"default\"\n (onClick)=\"showDialog()\"\n iconClass=\"far fa-lightbulb-on\"\n [auxiliary]=\"true\"\n [tooltip]=\"'platform.angular_components.ia_text_generator' | translate\">\n </s-button>\n</div>",
69
79
  styles: [".footer-content{display:-ms-flexbox;display:flex;-ms-flex-positive:0;flex-grow:0}.textarea-ia{display:-ms-flexbox;display:flex;-ms-flex-align:end;align-items:flex-end;gap:8px}"]
70
80
  })
71
81
  ], TextAreaIAFieldComponent);
72
82
  return TextAreaIAFieldComponent;
73
83
  }());
74
84
  export { TextAreaIAFieldComponent };
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1hcmVhLWlhLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2ZpZWxkcy90ZXh0LWFyZWEtaWEvdGV4dC1hcmVhLWlhLWZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBSTNFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMvRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFNdkQ7SUFXSSxrQ0FDcUIsZUFBK0IsRUFDL0IsWUFBeUIsRUFDekIsaUJBQW1DO1FBRm5DLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQUMvQixpQkFBWSxHQUFaLFlBQVksQ0FBYTtRQUN6QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO1FBTGpELGtCQUFhLEdBQUcsS0FBSyxDQUFDO0lBTXpCLENBQUM7SUFFRSwyQ0FBUSxHQUFmO1FBQ0ksSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVNLDZDQUFVLEdBQWpCO1FBQ0ksSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7SUFDOUIsQ0FBQztJQUVNLCtDQUFZLEdBQW5CO1FBQ0ksSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFTSw2Q0FBVSxHQUFqQjtRQUNJLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFFTSxnREFBYSxHQUFwQjtRQUFBLGlCQVlDO1FBWEcsSUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFOUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRTtZQUN0QyxFQUFFLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2pCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUs7WUFDdkIsV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVztTQUN0QyxDQUFDLENBQUMsU0FBUyxDQUFDLFVBQUMsR0FBb0I7WUFDOUIsS0FBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDL0IsQ0FBQztJQUVPLHNEQUFtQixHQUEzQjtRQUNJLElBQUksQ0FBQyxNQUFNLEdBQUc7WUFDVixJQUFJLFNBQVMsQ0FBQztnQkFDVixJQUFJLEVBQUUsU0FBUztnQkFDZixJQUFJLEVBQUUsU0FBUyxDQUFDLE1BQU07Z0JBQ3RCLEtBQUssRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLHFDQUFxQyxDQUFDO2dCQUM1RSxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO2FBQzNDLENBQUM7U0FDTCxDQUFDO0lBQ04sQ0FBQztJQUVPLHlEQUFzQixHQUE5QjtRQUNJLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUM7WUFDckMsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDO1NBQ2hCLENBQUMsQ0FBQztJQUNQLENBQUM7O2dCQW5EcUMsY0FBYztnQkFDakIsV0FBVztnQkFDTixnQkFBZ0I7O0lBWnhEO1FBREMsS0FBSyxFQUFFOzJEQUNzQjtJQUc5QjtRQURDLEtBQUssRUFBRTtpRUFDd0I7SUFMdkIsd0JBQXdCO1FBSnBDLFNBQVMsQ0FBQztZQUNQLHF0REFBa0Q7O1NBRXJELENBQUM7T0FDVyx3QkFBd0IsQ0FnRXBDO0lBQUQsK0JBQUM7Q0FBQSxBQWhFRCxJQWdFQztTQWhFWSx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuXG5pbXBvcnQgeyBJQXNzaXN0U2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlcy9JQXNzaXN0L2lhc3Npc3Quc2VydmljZVwiO1xuaW1wb3J0IHsgSUFzc2lzdFJlc3BvbnNlIH0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzL0lBc3Npc3QvbW9kZWxzL2lhc3Npc3QtcmVzcG9uc2VcIjtcbmltcG9ydCB7IFRleHRBcmVhSUFGaWVsZCB9IGZyb20gXCIuLi8uLi8uLi9jb25maWd1cmF0aW9ucy9maWVsZHMvdGV4dC1hcmVhLWlhLWZpZWxkXCI7XG5pbXBvcnQgeyBCYXNlRmllbGRDb21wb25lbnRDb25maWcgfSBmcm9tIFwiLi4vYmFzZS1maWVsZC1jb21wb25lbnRcIjtcbmltcG9ydCB7IEZvcm1GaWVsZCB9IGZyb20gXCIuLi8uLi8uLi9jb25maWd1cmF0aW9ucy9mb3JtLWZpZWxkXCI7XG5pbXBvcnQgeyBGaWVsZFR5cGUgfSBmcm9tIFwiLi4vLi4vLi4vY29uZmlndXJhdGlvbnMvZmllbGQtdHlwZVwiO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiBcIi4vdGV4dC1hcmVhLWlhLWZpZWxkLmNvbXBvbmVudC5odG1sXCIsXG4gICAgc3R5bGVVcmxzOiBbXCIuL3RleHQtYXJlYS1pYS1maWVsZC5jb21wb25lbnQuc2Nzc1wiXSxcbn0pXG5leHBvcnQgY2xhc3MgVGV4dEFyZWFJQUZpZWxkQ29tcG9uZW50IGltcGxlbWVudHMgQmFzZUZpZWxkQ29tcG9uZW50Q29uZmlnLCBPbkluaXQge1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGZpZWxkOiBUZXh0QXJlYUlBRmllbGQ7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBmb3JtQ29udHJvbDogRm9ybUNvbnRyb2w7XG5cbiAgICBwdWJsaWMgZmllbGRzOiBGb3JtRmllbGRbXTtcbiAgICBwdWJsaWMgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XG4gICAgcHVibGljIGRpYWxvZ1Zpc2libGUgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9pYXNzaXN0U2VydmljZTogSUFzc2lzdFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX2Zvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICApIHsgfVxuXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jcmVhdGVEaWFsb2dGaWVsZHMoKTtcbiAgICAgICAgdGhpcy5fY3JlYXRlRGlhbG9nRm9ybUdyb3VwKCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNob3dEaWFsb2coKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlhbG9nVmlzaWJsZSA9IHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIG9uSGlkZURpYWxvZygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KFwiY29udGV4dFwiKS5zZXRWYWx1ZShcIlwiKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGlkZURpYWxvZygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaWFsb2dWaXNpYmxlID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIHN1Ym1pdENvbnRleHQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmZvcm1Hcm91cC5nZXQoXCJjb250ZXh0XCIpO1xuXG4gICAgICAgIHRoaXMuX2lhc3Npc3RTZXJ2aWNlLmFza0lBKGNvbnRleHQudmFsdWUsIHtcbiAgICAgICAgICAgIGlkOiB0aGlzLmZpZWxkLmlkLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMuZmllbGQubGFiZWwsXG4gICAgICAgICAgICBwbGFjZWhvbGRlcjogdGhpcy5maWVsZC5wbGFjZWhvbGRlcixcbiAgICAgICAgfSkuc3Vic2NyaWJlKChyZXM6IElBc3Npc3RSZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZShyZXMudGV4dCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuZGlhbG9nVmlzaWJsZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NyZWF0ZURpYWxvZ0ZpZWxkcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5maWVsZHMgPSBbXG4gICAgICAgICAgICBuZXcgRm9ybUZpZWxkKHtcbiAgICAgICAgICAgICAgICBuYW1lOiBcImNvbnRleHRcIixcbiAgICAgICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuU3RyaW5nLFxuICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLl90cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJwbGF0Zm9ybS5hbmd1bGFyX2NvbXBvbmVudHMuY29udGV4dFwiKSxcbiAgICAgICAgICAgICAgICBzaXplOiB7IHNtOiAxMiwgbWQ6IDEyLCBsZzogMTIsIHhsOiAxMiB9LFxuICAgICAgICAgICAgfSksXG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY3JlYXRlRGlhbG9nRm9ybUdyb3VwKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cCA9IHRoaXMuX2Zvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgICAgICAgIGNvbnRleHQ6IFtcIlwiXSxcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1hcmVhLWlhLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHMvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2ZpZWxkcy90ZXh0LWFyZWEtaWEvdGV4dC1hcmVhLWlhLWZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBSTNFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMvRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFNbEM7SUFZSSxrQ0FDcUIsZUFBK0IsRUFDL0IsWUFBeUIsRUFDekIsaUJBQW1DO1FBRm5DLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQUMvQixpQkFBWSxHQUFaLFlBQVksQ0FBYTtRQUN6QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO1FBTmpELGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsY0FBUyxHQUFHLEtBQUssQ0FBQztJQU1yQixDQUFDO0lBRUUsMkNBQVEsR0FBZjtRQUNJLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFTSw2Q0FBVSxHQUFqQjtRQUNJLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO0lBQzFCLENBQUM7SUFFTSwrQ0FBWSxHQUFuQjtRQUNJLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRU0sNkNBQVUsR0FBakI7UUFDSSxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBRU0sZ0RBQWEsR0FBcEI7UUFBQSxpQkFtQkM7UUFsQkcsSUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFFdEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRTtZQUN0QyxFQUFFLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2pCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUs7WUFDdkIsV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVztTQUN0QyxDQUFDO2FBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFDLEdBQXNCO1lBQ3BDLEtBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLE9BQU8sVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO2FBQ0YsU0FBUyxDQUFDLFVBQUMsR0FBb0I7WUFDNUIsS0FBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BDLEtBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFTyxzREFBbUIsR0FBM0I7UUFDSSxJQUFJLENBQUMsTUFBTSxHQUFHO1lBQ1YsSUFBSSxTQUFTLENBQUM7Z0JBQ1YsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsSUFBSSxFQUFFLFNBQVMsQ0FBQyxNQUFNO2dCQUN0QixLQUFLLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxxQ0FBcUMsQ0FBQztnQkFDNUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTthQUMzQyxDQUFDO1NBQ0wsQ0FBQztJQUNOLENBQUM7SUFFTyx5REFBc0IsR0FBOUI7UUFDSSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDO1lBQ3JDLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztTQUNoQixDQUFDLENBQUM7SUFDUCxDQUFDOztnQkExRHFDLGNBQWM7Z0JBQ2pCLFdBQVc7Z0JBQ04sZ0JBQWdCOztJQWJ4RDtRQURDLEtBQUssRUFBRTsyREFDc0I7SUFHOUI7UUFEQyxLQUFLLEVBQUU7aUVBQ3dCO0lBTHZCLHdCQUF3QjtRQUpwQyxTQUFTLENBQUM7WUFDUCx1ekRBQWtEOztTQUVyRCxDQUFDO09BQ1csd0JBQXdCLENBd0VwQztJQUFELCtCQUFDO0NBQUEsQUF4RUQsSUF3RUM7U0F4RVksd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcblxuaW1wb3J0IHsgSUFzc2lzdFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZXMvSUFzc2lzdC9pYXNzaXN0LnNlcnZpY2VcIjtcbmltcG9ydCB7IElBc3Npc3RSZXNwb25zZSB9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlcy9JQXNzaXN0L21vZGVscy9pYXNzaXN0LXJlc3BvbnNlXCI7XG5pbXBvcnQgeyBUZXh0QXJlYUlBRmllbGQgfSBmcm9tIFwiLi4vLi4vLi4vY29uZmlndXJhdGlvbnMvZmllbGRzL3RleHQtYXJlYS1pYS1maWVsZFwiO1xuaW1wb3J0IHsgQmFzZUZpZWxkQ29tcG9uZW50Q29uZmlnIH0gZnJvbSBcIi4uL2Jhc2UtZmllbGQtY29tcG9uZW50XCI7XG5pbXBvcnQgeyBGb3JtRmllbGQgfSBmcm9tIFwiLi4vLi4vLi4vY29uZmlndXJhdGlvbnMvZm9ybS1maWVsZFwiO1xuaW1wb3J0IHsgRmllbGRUeXBlIH0gZnJvbSBcIi4uLy4uLy4uL2NvbmZpZ3VyYXRpb25zL2ZpZWxkLXR5cGVcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcbmltcG9ydCB7IHRocm93RXJyb3IgfSBmcm9tIFwicnhqc1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogXCIuL3RleHQtYXJlYS1pYS1maWVsZC5jb21wb25lbnQuaHRtbFwiLFxuICAgIHN0eWxlVXJsczogW1wiLi90ZXh0LWFyZWEtaWEtZmllbGQuY29tcG9uZW50LnNjc3NcIl0sXG59KVxuZXhwb3J0IGNsYXNzIFRleHRBcmVhSUFGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIEJhc2VGaWVsZENvbXBvbmVudENvbmZpZywgT25Jbml0IHtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBmaWVsZDogVGV4dEFyZWFJQUZpZWxkO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZm9ybUNvbnRyb2w6IEZvcm1Db250cm9sO1xuXG4gICAgcHVibGljIGZpZWxkczogRm9ybUZpZWxkW107XG4gICAgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xuICAgIHB1YmxpYyBpc1Zpc2libGUgPSBmYWxzZTtcbiAgICBwdWJsaWMgaXNMb2FkaW5nID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfaWFzc2lzdFNlcnZpY2U6IElBc3Npc3RTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9mb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgX3RyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgKSB7IH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY3JlYXRlRGlhbG9nRmllbGRzKCk7XG4gICAgICAgIHRoaXMuX2NyZWF0ZURpYWxvZ0Zvcm1Hcm91cCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzaG93RGlhbG9nKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzVmlzaWJsZSA9IHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIG9uSGlkZURpYWxvZygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KFwiY29udGV4dFwiKS5zZXRWYWx1ZShcIlwiKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGlkZURpYWxvZygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pc1Zpc2libGUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3VibWl0Q29udGV4dCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY29udGV4dCA9IHRoaXMuZm9ybUdyb3VwLmdldChcImNvbnRleHRcIik7XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgICB0aGlzLl9pYXNzaXN0U2VydmljZS5hc2tJQShjb250ZXh0LnZhbHVlLCB7XG4gICAgICAgICAgICBpZDogdGhpcy5maWVsZC5pZCxcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLmZpZWxkLmxhYmVsLFxuICAgICAgICAgICAgcGxhY2Vob2xkZXI6IHRoaXMuZmllbGQucGxhY2Vob2xkZXIsXG4gICAgICAgIH0pXG4gICAgICAgIC5waXBlKGNhdGNoRXJyb3IoKGVycjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnIpO1xuICAgICAgICB9KSlcbiAgICAgICAgLnN1YnNjcmliZSgocmVzOiBJQXNzaXN0UmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0VmFsdWUocmVzLnRleHQpO1xuICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgfSk7XG4gICAgICAgIFxuICAgICAgICB0aGlzLmhpZGVEaWFsb2coKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9jcmVhdGVEaWFsb2dGaWVsZHMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZmllbGRzID0gW1xuICAgICAgICAgICAgbmV3IEZvcm1GaWVsZCh7XG4gICAgICAgICAgICAgICAgbmFtZTogXCJjb250ZXh0XCIsXG4gICAgICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLlN0cmluZyxcbiAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy5fdHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwicGxhdGZvcm0uYW5ndWxhcl9jb21wb25lbnRzLmNvbnRleHRcIiksXG4gICAgICAgICAgICAgICAgc2l6ZTogeyBzbTogMTIsIG1kOiAxMiwgbGc6IDEyLCB4bDogMTIgfSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICBdO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NyZWF0ZURpYWxvZ0Zvcm1Hcm91cCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAgPSB0aGlzLl9mb3JtQnVpbGRlci5ncm91cCh7XG4gICAgICAgICAgICBjb250ZXh0OiBbXCJcIl0sXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,30 +1,25 @@
1
- import { __decorate, __param, __values } from "tslib";
1
+ import { __decorate } from "tslib";
2
2
  import { HttpClient, HttpErrorResponse } from "@angular/common/http";
3
- import { Inject, Injectable } from "@angular/core";
3
+ import { Injectable } from "@angular/core";
4
4
  import { throwError } from "rxjs";
5
5
  import { catchError } from "rxjs/operators";
6
6
  import { MessageService } from "primeng/api";
7
- import { HostProjectConfigsInjectionToken } from "../../../../angular-components.module";
8
7
  var IAssistService = /** @class */ (function () {
9
- function IAssistService(http, _messageService, _hostProjectConfigs) {
8
+ function IAssistService(http, _messageService) {
10
9
  this.http = http;
11
10
  this._messageService = _messageService;
12
- this._hostProjectConfigs = _hostProjectConfigs;
13
11
  }
14
12
  IAssistService.prototype.askIA = function (context, data) {
15
13
  var _this = this;
16
- var prompt = {
14
+ return this.http.post("platform/iassist/api/latest/completions", {
17
15
  "prompt": this._createPrompt(context, data),
18
16
  "provider": "OPEN_AI",
19
17
  "parameters": {
20
18
  "model": "gpt-3.5-turbo",
21
19
  "max_tokens": 700,
22
- "temperature": 1.0
20
+ "temperature": 1
23
21
  }
24
- };
25
- var url = this._endpointFactory().build("completions", prompt);
26
- return this.http.get(url)
27
- .pipe(catchError(function (err) {
22
+ }).pipe(catchError(function (err) {
28
23
  _this._messageService.add({
29
24
  severity: "error",
30
25
  summary: err.status ? String(err.status) : "Error",
@@ -33,49 +28,17 @@ var IAssistService = /** @class */ (function () {
33
28
  return throwError(err);
34
29
  }));
35
30
  };
36
- IAssistService.prototype._endpointFactory = function () {
37
- var _this = this;
38
- return {
39
- build: function (endpoint, params) {
40
- var e_1, _a;
41
- var base = _this._hostProjectConfigs.domain + "/" + _this._hostProjectConfigs.service + "/api/latest/" + endpoint;
42
- if (params) {
43
- var query = new URLSearchParams();
44
- try {
45
- for (var _b = __values(Object.keys(params)), _c = _b.next(); !_c.done; _c = _b.next()) {
46
- var key = _c.value;
47
- var value = params[key];
48
- if (value) {
49
- query.append(key, value);
50
- }
51
- }
52
- }
53
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
54
- finally {
55
- try {
56
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
57
- }
58
- finally { if (e_1) throw e_1.error; }
59
- }
60
- return base + "?" + query;
61
- }
62
- return base;
63
- },
64
- };
65
- };
66
31
  IAssistService.prototype._createPrompt = function (context, data) {
67
- return "Crie um texto gen\u00E9rico para preencher o campo de textarea.\n " + (data.label ? "O campo tem o label " + data.label + "." : "") + "\n " + (data.id ? "O campo tem o id " + data.id + "." : "") + "\n " + (data.placeholder ? "Considere as instru\u00E7\u00F5es/sugest\u00F5es do placeholder: " + data.placeholder + "." : "") + "\n Baseie-se no contexto informado pelo usu\u00E1rio: '" + context + "'. \n O texto deve ser formal e conter informa\u00E7\u00F5es pertinentes a um campo como este, como se um usu\u00E1rio real tivesse preenchido com as informa\u00E7\u00F5es necess\u00E1rias. \n O texto deve ser neutro com rela\u00E7\u00E3o a generos, ra\u00E7as, religi\u00F5es, etc.\n O texto deve ser impessoal e n\u00E3o deve conter informa\u00E7\u00F5es pessoais do usu\u00E1rio.\n N\u00E3o direcione o texto a ningu\u00E9m, n\u00E3o use express\u00F5es como: caro, atenciosamente. gostaria, agrade\u00E7o. O texto deve ser gen\u00E9rico.\n \n Exemplos de texto:\n Um campo de descri\u00E7\u00E3o de usu\u00E1rio: \"Usu\u00E1rio com 20 anos, estudante de engenharia, gosta de jogar futebol e assistir filmes.\"\n Outro exemplo de descri\u00E7\u00E3o de usu\u00E1rio: \"Usu\u00E1rio administrador, com acesso total ao sistema, respons\u00E1vel por gerenciar os usu\u00E1rios e os produtos.\"\n Um campo de descri\u00E7\u00E3o de um produto: \"O produto \u00E9 um celular, com tela de 6 polegadas, 128GB de armazenamento, 4GB de mem\u00F3ria RAM, c\u00E2mera de 12MP e bateria de 4000mAh.\"\n Outro exemplo de descri\u00E7\u00E3o de produto: \"O produto \u00E9 uma geladeira, com capacidade de 500 litros, 2 portas, cor branca, com freezer e gaveta de legumes.\"\n Outro exemplo de descri\u00E7\u00E3o de produto: \"O produto \u00E9 uma camiseta, tamanho M, cor azul, 100% algod\u00E3o, com estampa de um gato.\"\n \n Em caso de contexto incompleto crie um texto gen\u00E9rico, como se fosse um exemplo de preenchimento do campo.\n O texto \u00E9 para um campo de textarea, ent\u00E3o escreva um texto sucinto.\n Exiba apenas o texto do output";
32
+ return "Crie um texto gen\u00E9rico para preencher o campo de textarea.\n " + (data.label ? "O campo tem o label " + data.label + "." : "") + "\n " + (data.id ? "O campo tem o id " + data.id + "." : "") + "\n " + (data.placeholder ? "Considere as instru\u00E7\u00F5es/sugest\u00F5es do placeholder: " + data.placeholder + "." : "") + "\n Baseie-se no contexto informado pelo usu\u00E1rio: '" + context + "'.\n O texto deve ser formal e conter informa\u00E7\u00F5es pertinentes a um campo como este, como se um usu\u00E1rio real tivesse preenchido com as informa\u00E7\u00F5es necess\u00E1rias. \n O texto deve ser neutro com rela\u00E7\u00E3o a generos, ra\u00E7as, religi\u00F5es, etc.\n O texto deve ser impessoal e n\u00E3o deve conter informa\u00E7\u00F5es pessoais do usu\u00E1rio.\n N\u00E3o direcione o texto a ningu\u00E9m, n\u00E3o use express\u00F5es como: caro, atenciosamente. gostaria, agrade\u00E7o. O texto deve ser gen\u00E9rico.\n \n Exemplos de texto:\n Um campo de descri\u00E7\u00E3o de usu\u00E1rio: \"Usu\u00E1rio com 20 anos, estudante de engenharia, gosta de jogar futebol e assistir filmes.\"\n Outro exemplo de descri\u00E7\u00E3o de usu\u00E1rio: \"Usu\u00E1rio administrador, com acesso total ao sistema, respons\u00E1vel por gerenciar os usu\u00E1rios e os produtos.\"\n Um campo de descri\u00E7\u00E3o de um produto: \"O produto \u00E9 um celular, com tela de 6 polegadas, 128GB de armazenamento, 4GB de mem\u00F3ria RAM, c\u00E2mera de 12MP e bateria de 4000mAh.\"\n Outro exemplo de descri\u00E7\u00E3o de produto: \"O produto \u00E9 uma geladeira, com capacidade de 500 litros, 2 portas, cor branca, com freezer e gaveta de legumes.\"\n Outro exemplo de descri\u00E7\u00E3o de produto: \"O produto \u00E9 uma camiseta, tamanho M, cor azul, 100% algod\u00E3o, com estampa de um gato.\"\n \n Em caso de contexto incompleto crie um texto gen\u00E9rico, como se fosse um exemplo de preenchimento do campo.\n O texto \u00E9 para um campo de textarea, ent\u00E3o escreva um texto sucinto.\n Exiba apenas o texto do output";
68
33
  };
69
34
  IAssistService.ctorParameters = function () { return [
70
35
  { type: HttpClient },
71
- { type: MessageService },
72
- { type: undefined, decorators: [{ type: Inject, args: [HostProjectConfigsInjectionToken,] }] }
36
+ { type: MessageService }
73
37
  ]; };
74
38
  IAssistService = __decorate([
75
- Injectable(),
76
- __param(2, Inject(HostProjectConfigsInjectionToken))
39
+ Injectable()
77
40
  ], IAssistService);
78
41
  return IAssistService;
79
42
  }());
80
43
  export { IAssistService };
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWFzc2lzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvZHluYW1pYy1mb3JtL3NlcnZpY2VzL0lBc3Npc3QvaWFzc2lzdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckUsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU3QyxPQUFPLEVBQXNCLGdDQUFnQyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFLN0c7SUFDSSx3QkFDcUIsSUFBZ0IsRUFDaEIsZUFBK0IsRUFDVyxtQkFBdUM7UUFGakYsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixvQkFBZSxHQUFmLGVBQWUsQ0FBZ0I7UUFDVyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQW9CO0lBQ2xHLENBQUM7SUFFRSw4QkFBSyxHQUFaLFVBQWEsT0FBZSxFQUFFLElBQXNCO1FBQXBELGlCQXFCQztRQXBCRyxJQUFNLE1BQU0sR0FBRztZQUNYLFFBQVEsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUM7WUFDM0MsVUFBVSxFQUFFLFNBQVM7WUFDckIsWUFBWSxFQUFFO2dCQUNWLE9BQU8sRUFBRSxlQUFlO2dCQUN4QixZQUFZLEVBQUUsR0FBRztnQkFDakIsYUFBYSxFQUFFLEdBQUc7YUFDckI7U0FDSixDQUFBO1FBRUQsSUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNqRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFrQixHQUFHLENBQUM7YUFDckMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFDLEdBQXNCO1lBQ3BDLEtBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDO2dCQUNyQixRQUFRLEVBQUUsT0FBTztnQkFDakIsT0FBTyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU87Z0JBQ2xELE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxHQUFHLENBQUMsVUFBVSxJQUFJLEdBQUcsQ0FBQyxPQUFPLElBQUksT0FBTzthQUN2RixDQUFDLENBQUM7WUFDSCxPQUFPLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ1osQ0FBQztJQUVPLHlDQUFnQixHQUF4QjtRQUFBLGlCQWlCQztRQWhCRyxPQUFPO1lBQ0gsS0FBSyxFQUFFLFVBQUMsUUFBZ0IsRUFBRSxNQUFXOztnQkFDakMsSUFBTSxJQUFJLEdBQU0sS0FBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sU0FBSSxLQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxvQkFBZSxRQUFVLENBQUM7Z0JBQzdHLElBQUksTUFBTSxFQUFFO29CQUNSLElBQU0sS0FBSyxHQUFHLElBQUksZUFBZSxFQUFFLENBQUM7O3dCQUNwQyxLQUFrQixJQUFBLEtBQUEsU0FBQSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBLGdCQUFBLDRCQUFFOzRCQUFsQyxJQUFNLEdBQUcsV0FBQTs0QkFDVixJQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7NEJBQzFCLElBQUksS0FBSyxFQUFFO2dDQUNQLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDOzZCQUM1Qjt5QkFDSjs7Ozs7Ozs7O29CQUNELE9BQVUsSUFBSSxTQUFJLEtBQU8sQ0FBQztpQkFDN0I7Z0JBQ0QsT0FBTyxJQUFJLENBQUM7WUFDaEIsQ0FBQztTQUNKLENBQUM7SUFDTixDQUFDO0lBRU8sc0NBQWEsR0FBckIsVUFBc0IsT0FBZSxFQUFFLElBQXNCO1FBQ3pELE9BQU8sK0VBQ0wsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMseUJBQXVCLElBQUksQ0FBQyxLQUFLLE1BQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxvQkFDdEQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsc0JBQW9CLElBQUksQ0FBQyxFQUFFLE1BQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxvQkFDN0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsc0VBQXFELElBQUksQ0FBQyxXQUFXLE1BQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSx1RUFDakQsT0FBTyxrdERBZXpCLENBQUM7SUFDcEMsQ0FBQzs7Z0JBcEUwQixVQUFVO2dCQUNDLGNBQWM7Z0RBQy9DLE1BQU0sU0FBQyxnQ0FBZ0M7O0lBSm5DLGNBQWM7UUFEMUIsVUFBVSxFQUFFO1FBS0osV0FBQSxNQUFNLENBQUMsZ0NBQWdDLENBQUMsQ0FBQTtPQUpwQyxjQUFjLENBdUUxQjtJQUFELHFCQUFDO0NBQUEsQUF2RUQsSUF1RUM7U0F2RVksY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IGNhdGNoRXJyb3IgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IE1lc3NhZ2VTZXJ2aWNlIH0gZnJvbSBcInByaW1lbmcvYXBpXCI7XG5cbmltcG9ydCB7IEhvc3RQcm9qZWN0Q29uZmlncywgSG9zdFByb2plY3RDb25maWdzSW5qZWN0aW9uVG9rZW4gfSBmcm9tIFwiLi4vLi4vLi4vLi4vYW5ndWxhci1jb21wb25lbnRzLm1vZHVsZVwiO1xuaW1wb3J0IHsgSUFzc2lzdElucHV0RGF0YSB9IGZyb20gXCIuL21vZGVscy9pYXNzaXN0LWlucHV0LWRhdGFcIjtcbmltcG9ydCB7IElBc3Npc3RSZXNwb25zZSB9IGZyb20gXCIuL21vZGVscy9pYXNzaXN0LXJlc3BvbnNlXCI7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBJQXNzaXN0U2VydmljZSB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBfbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KEhvc3RQcm9qZWN0Q29uZmlnc0luamVjdGlvblRva2VuKSBwcml2YXRlIHJlYWRvbmx5IF9ob3N0UHJvamVjdENvbmZpZ3M6IEhvc3RQcm9qZWN0Q29uZmlncyxcbiAgICApIHsgfVxuXG4gICAgcHVibGljIGFza0lBKGNvbnRleHQ6IHN0cmluZywgZGF0YTogSUFzc2lzdElucHV0RGF0YSk6IE9ic2VydmFibGU8SUFzc2lzdFJlc3BvbnNlPiB7XG4gICAgICAgIGNvbnN0IHByb21wdCA9IHtcbiAgICAgICAgICAgIFwicHJvbXB0XCI6IHRoaXMuX2NyZWF0ZVByb21wdChjb250ZXh0LCBkYXRhKSxcbiAgICAgICAgICAgIFwicHJvdmlkZXJcIjogXCJPUEVOX0FJXCIsXG4gICAgICAgICAgICBcInBhcmFtZXRlcnNcIjoge1xuICAgICAgICAgICAgICAgIFwibW9kZWxcIjogXCJncHQtMy41LXR1cmJvXCIsXG4gICAgICAgICAgICAgICAgXCJtYXhfdG9rZW5zXCI6IDcwMCxcbiAgICAgICAgICAgICAgICBcInRlbXBlcmF0dXJlXCI6IDEuMFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdXJsID0gdGhpcy5fZW5kcG9pbnRGYWN0b3J5KCkuYnVpbGQoXCJjb21wbGV0aW9uc1wiLCBwcm9tcHQpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxJQXNzaXN0UmVzcG9uc2U+KHVybClcbiAgICAgICAgICAgIC5waXBlKGNhdGNoRXJyb3IoKGVycjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9tZXNzYWdlU2VydmljZS5hZGQoe1xuICAgICAgICAgICAgICAgICAgICBzZXZlcml0eTogXCJlcnJvclwiLFxuICAgICAgICAgICAgICAgICAgICBzdW1tYXJ5OiBlcnIuc3RhdHVzID8gU3RyaW5nKGVyci5zdGF0dXMpIDogXCJFcnJvclwiLFxuICAgICAgICAgICAgICAgICAgICBkZXRhaWw6IChlcnIuZXJyb3IgJiYgZXJyLmVycm9yLm1lc3NhZ2UpIHx8IGVyci5zdGF0dXNUZXh0IHx8IGVyci5tZXNzYWdlIHx8IFwiRXJyb3JcIixcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnIpO1xuICAgICAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2VuZHBvaW50RmFjdG9yeSgpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGJ1aWxkOiAoZW5kcG9pbnQ6IHN0cmluZywgcGFyYW1zOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBiYXNlID0gYCR7dGhpcy5faG9zdFByb2plY3RDb25maWdzLmRvbWFpbn0vJHt0aGlzLl9ob3N0UHJvamVjdENvbmZpZ3Muc2VydmljZX0vYXBpL2xhdGVzdC8ke2VuZHBvaW50fWA7XG4gICAgICAgICAgICAgICAgaWYgKHBhcmFtcykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBxdWVyeSA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKTtcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMocGFyYW1zKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBwYXJhbXNba2V5XTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5LmFwcGVuZChrZXksIHZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYCR7YmFzZX0/JHtxdWVyeX1gO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gYmFzZTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY3JlYXRlUHJvbXB0KGNvbnRleHQ6IHN0cmluZywgZGF0YTogSUFzc2lzdElucHV0RGF0YSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgQ3JpZSB1bSB0ZXh0byBnZW7DqXJpY28gcGFyYSBwcmVlbmNoZXIgbyBjYW1wbyBkZSB0ZXh0YXJlYS5cbiAgICAgICAgJHtkYXRhLmxhYmVsID8gYE8gY2FtcG8gdGVtIG8gbGFiZWwgJHtkYXRhLmxhYmVsfS5gIDogXCJcIn1cbiAgICAgICAgJHtkYXRhLmlkID8gYE8gY2FtcG8gdGVtIG8gaWQgJHtkYXRhLmlkfS5gIDogXCJcIn1cbiAgICAgICAgJHtkYXRhLnBsYWNlaG9sZGVyID8gYENvbnNpZGVyZSBhcyBpbnN0cnXDp8O1ZXMvc3VnZXN0w7VlcyBkbyBwbGFjZWhvbGRlcjogJHtkYXRhLnBsYWNlaG9sZGVyfS5gIDogXCJcIn1cbiAgICAgICAgQmFzZWllLXNlIG5vIGNvbnRleHRvIGluZm9ybWFkbyBwZWxvIHVzdcOhcmlvOiAnJHtjb250ZXh0fScuIFxuICAgICAgICBPIHRleHRvIGRldmUgc2VyIGZvcm1hbCBlIGNvbnRlciBpbmZvcm1hw6fDtWVzIHBlcnRpbmVudGVzIGEgdW0gY2FtcG8gY29tbyBlc3RlLCBjb21vIHNlIHVtIHVzdcOhcmlvIHJlYWwgdGl2ZXNzZSBwcmVlbmNoaWRvIGNvbSBhcyBpbmZvcm1hw6fDtWVzIG5lY2Vzc8Ohcmlhcy4gXG4gICAgICAgIE8gdGV4dG8gZGV2ZSBzZXIgbmV1dHJvIGNvbSByZWxhw6fDo28gYSBnZW5lcm9zLCByYcOnYXMsIHJlbGlnacO1ZXMsIGV0Yy5cbiAgICAgICAgTyB0ZXh0byBkZXZlIHNlciBpbXBlc3NvYWwgZSBuw6NvIGRldmUgY29udGVyIGluZm9ybWHDp8O1ZXMgcGVzc29haXMgZG8gdXN1w6FyaW8uXG4gICAgICAgIE7Do28gZGlyZWNpb25lIG8gdGV4dG8gYSBuaW5ndcOpbSwgbsOjbyB1c2UgZXhwcmVzc8O1ZXMgY29tbzogY2FybywgYXRlbmNpb3NhbWVudGUuIGdvc3RhcmlhLCBhZ3JhZGXDp28uIE8gdGV4dG8gZGV2ZSBzZXIgZ2Vuw6lyaWNvLlxuICAgIFxuICAgICAgICBFeGVtcGxvcyBkZSB0ZXh0bzpcbiAgICAgICAgVW0gY2FtcG8gZGUgZGVzY3Jpw6fDo28gZGUgdXN1w6FyaW86IFwiVXN1w6FyaW8gY29tIDIwIGFub3MsIGVzdHVkYW50ZSBkZSBlbmdlbmhhcmlhLCBnb3N0YSBkZSBqb2dhciBmdXRlYm9sIGUgYXNzaXN0aXIgZmlsbWVzLlwiXG4gICAgICAgIE91dHJvIGV4ZW1wbG8gZGUgZGVzY3Jpw6fDo28gZGUgdXN1w6FyaW86IFwiVXN1w6FyaW8gYWRtaW5pc3RyYWRvciwgY29tIGFjZXNzbyB0b3RhbCBhbyBzaXN0ZW1hLCByZXNwb25zw6F2ZWwgcG9yIGdlcmVuY2lhciBvcyB1c3XDoXJpb3MgZSBvcyBwcm9kdXRvcy5cIlxuICAgICAgICBVbSBjYW1wbyBkZSBkZXNjcmnDp8OjbyBkZSB1bSBwcm9kdXRvOiBcIk8gcHJvZHV0byDDqSB1bSBjZWx1bGFyLCBjb20gdGVsYSBkZSA2IHBvbGVnYWRhcywgMTI4R0IgZGUgYXJtYXplbmFtZW50bywgNEdCIGRlIG1lbcOzcmlhIFJBTSwgY8OibWVyYSBkZSAxMk1QIGUgYmF0ZXJpYSBkZSA0MDAwbUFoLlwiXG4gICAgICAgIE91dHJvIGV4ZW1wbG8gZGUgZGVzY3Jpw6fDo28gZGUgcHJvZHV0bzogXCJPIHByb2R1dG8gw6kgdW1hIGdlbGFkZWlyYSwgY29tIGNhcGFjaWRhZGUgZGUgNTAwIGxpdHJvcywgMiBwb3J0YXMsIGNvciBicmFuY2EsIGNvbSBmcmVlemVyIGUgZ2F2ZXRhIGRlIGxlZ3VtZXMuXCJcbiAgICAgICAgT3V0cm8gZXhlbXBsbyBkZSBkZXNjcmnDp8OjbyBkZSBwcm9kdXRvOiBcIk8gcHJvZHV0byDDqSB1bWEgY2FtaXNldGEsIHRhbWFuaG8gTSwgY29yIGF6dWwsIDEwMCUgYWxnb2TDo28sIGNvbSBlc3RhbXBhIGRlIHVtIGdhdG8uXCJcbiAgICBcbiAgICAgICAgRW0gY2FzbyBkZSBjb250ZXh0byBpbmNvbXBsZXRvIGNyaWUgdW0gdGV4dG8gZ2Vuw6lyaWNvLCBjb21vIHNlIGZvc3NlIHVtIGV4ZW1wbG8gZGUgcHJlZW5jaGltZW50byBkbyBjYW1wby5cbiAgICAgICAgTyB0ZXh0byDDqSBwYXJhIHVtIGNhbXBvIGRlIHRleHRhcmVhLCBlbnTDo28gZXNjcmV2YSB1bSB0ZXh0byBzdWNpbnRvLlxuICAgICAgICBFeGliYSBhcGVuYXMgbyB0ZXh0byBkbyBvdXRwdXRgO1xuICAgIH1cbn1cbiJdfQ==
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWFzc2lzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvZHluYW1pYy1mb3JtL3NlcnZpY2VzL0lBc3Npc3QvaWFzc2lzdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBTTdDO0lBQ0ksd0JBQ3FCLElBQWdCLEVBQ2hCLGVBQStCO1FBRC9CLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsb0JBQWUsR0FBZixlQUFlLENBQWdCO0lBQ2hELENBQUM7SUFFRSw4QkFBSyxHQUFaLFVBQWEsT0FBZSxFQUFFLElBQXNCO1FBQXBELGlCQXFCQztRQW5CRyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUNqQix5Q0FBeUMsRUFDekM7WUFDSSxRQUFRLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDO1lBQzNDLFVBQVUsRUFBRSxTQUFTO1lBQ3JCLFlBQVksRUFBRTtnQkFDVixPQUFPLEVBQUUsZUFBZTtnQkFDeEIsWUFBWSxFQUFFLEdBQUc7Z0JBQ2pCLGFBQWEsRUFBRSxDQUFDO2FBQ25CO1NBQ0osQ0FDSixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBQyxHQUFzQjtZQUNyQyxLQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQztnQkFDckIsUUFBUSxFQUFFLE9BQU87Z0JBQ2pCLE9BQU8sRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPO2dCQUNsRCxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksR0FBRyxDQUFDLFVBQVUsSUFBSSxHQUFHLENBQUMsT0FBTyxJQUFJLE9BQU87YUFDdkYsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFTyxzQ0FBYSxHQUFyQixVQUFzQixPQUFlLEVBQUUsSUFBc0I7UUFDekQsT0FBTywrRUFDTCxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyx5QkFBdUIsSUFBSSxDQUFDLEtBQUssTUFBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLG9CQUN0RCxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxzQkFBb0IsSUFBSSxDQUFDLEVBQUUsTUFBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLG9CQUM3QyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxzRUFBcUQsSUFBSSxDQUFDLFdBQVcsTUFBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLHVFQUNqRCxPQUFPLGl0REFlekIsQ0FBQztJQUNwQyxDQUFDOztnQkFoRDBCLFVBQVU7Z0JBQ0MsY0FBYzs7SUFIM0MsY0FBYztRQUQxQixVQUFVLEVBQUU7T0FDQSxjQUFjLENBbUQxQjtJQUFELHFCQUFDO0NBQUEsQUFuREQsSUFtREM7U0FuRFksY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBjYXRjaEVycm9yIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gXCJwcmltZW5nL2FwaVwiO1xuXG5pbXBvcnQgeyBJQXNzaXN0SW5wdXREYXRhIH0gZnJvbSBcIi4vbW9kZWxzL2lhc3Npc3QtaW5wdXQtZGF0YVwiO1xuaW1wb3J0IHsgSUFzc2lzdFJlc3BvbnNlIH0gZnJvbSBcIi4vbW9kZWxzL2lhc3Npc3QtcmVzcG9uc2VcIjtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIElBc3Npc3RTZXJ2aWNlIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBodHRwOiBIdHRwQ2xpZW50LFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9tZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXG4gICAgKSB7IH1cblxuICAgIHB1YmxpYyBhc2tJQShjb250ZXh0OiBzdHJpbmcsIGRhdGE6IElBc3Npc3RJbnB1dERhdGEpOiBPYnNlcnZhYmxlPElBc3Npc3RSZXNwb25zZT4ge1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxJQXNzaXN0UmVzcG9uc2U+KFxuICAgICAgICAgICAgXCJwbGF0Zm9ybS9pYXNzaXN0L2FwaS9sYXRlc3QvY29tcGxldGlvbnNcIixcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBcInByb21wdFwiOiB0aGlzLl9jcmVhdGVQcm9tcHQoY29udGV4dCwgZGF0YSksXG4gICAgICAgICAgICAgICAgXCJwcm92aWRlclwiOiBcIk9QRU5fQUlcIixcbiAgICAgICAgICAgICAgICBcInBhcmFtZXRlcnNcIjoge1xuICAgICAgICAgICAgICAgICAgICBcIm1vZGVsXCI6IFwiZ3B0LTMuNS10dXJib1wiLFxuICAgICAgICAgICAgICAgICAgICBcIm1heF90b2tlbnNcIjogNzAwLFxuICAgICAgICAgICAgICAgICAgICBcInRlbXBlcmF0dXJlXCI6IDFcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICApLnBpcGUoY2F0Y2hFcnJvcigoZXJyOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fbWVzc2FnZVNlcnZpY2UuYWRkKHtcbiAgICAgICAgICAgICAgICBzZXZlcml0eTogXCJlcnJvclwiLFxuICAgICAgICAgICAgICAgIHN1bW1hcnk6IGVyci5zdGF0dXMgPyBTdHJpbmcoZXJyLnN0YXR1cykgOiBcIkVycm9yXCIsXG4gICAgICAgICAgICAgICAgZGV0YWlsOiAoZXJyLmVycm9yICYmIGVyci5lcnJvci5tZXNzYWdlKSB8fCBlcnIuc3RhdHVzVGV4dCB8fCBlcnIubWVzc2FnZSB8fCBcIkVycm9yXCIsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGVycik7XG4gICAgICAgIH0pKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9jcmVhdGVQcm9tcHQoY29udGV4dDogc3RyaW5nLCBkYXRhOiBJQXNzaXN0SW5wdXREYXRhKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGBDcmllIHVtIHRleHRvIGdlbsOpcmljbyBwYXJhIHByZWVuY2hlciBvIGNhbXBvIGRlIHRleHRhcmVhLlxuICAgICAgICAke2RhdGEubGFiZWwgPyBgTyBjYW1wbyB0ZW0gbyBsYWJlbCAke2RhdGEubGFiZWx9LmAgOiBcIlwifVxuICAgICAgICAke2RhdGEuaWQgPyBgTyBjYW1wbyB0ZW0gbyBpZCAke2RhdGEuaWR9LmAgOiBcIlwifVxuICAgICAgICAke2RhdGEucGxhY2Vob2xkZXIgPyBgQ29uc2lkZXJlIGFzIGluc3RydcOnw7Vlcy9zdWdlc3TDtWVzIGRvIHBsYWNlaG9sZGVyOiAke2RhdGEucGxhY2Vob2xkZXJ9LmAgOiBcIlwifVxuICAgICAgICBCYXNlaWUtc2Ugbm8gY29udGV4dG8gaW5mb3JtYWRvIHBlbG8gdXN1w6FyaW86ICcke2NvbnRleHR9Jy5cbiAgICAgICAgTyB0ZXh0byBkZXZlIHNlciBmb3JtYWwgZSBjb250ZXIgaW5mb3JtYcOnw7VlcyBwZXJ0aW5lbnRlcyBhIHVtIGNhbXBvIGNvbW8gZXN0ZSwgY29tbyBzZSB1bSB1c3XDoXJpbyByZWFsIHRpdmVzc2UgcHJlZW5jaGlkbyBjb20gYXMgaW5mb3JtYcOnw7VlcyBuZWNlc3PDoXJpYXMuIFxuICAgICAgICBPIHRleHRvIGRldmUgc2VyIG5ldXRybyBjb20gcmVsYcOnw6NvIGEgZ2VuZXJvcywgcmHDp2FzLCByZWxpZ2nDtWVzLCBldGMuXG4gICAgICAgIE8gdGV4dG8gZGV2ZSBzZXIgaW1wZXNzb2FsIGUgbsOjbyBkZXZlIGNvbnRlciBpbmZvcm1hw6fDtWVzIHBlc3NvYWlzIGRvIHVzdcOhcmlvLlxuICAgICAgICBOw6NvIGRpcmVjaW9uZSBvIHRleHRvIGEgbmluZ3XDqW0sIG7Do28gdXNlIGV4cHJlc3PDtWVzIGNvbW86IGNhcm8sIGF0ZW5jaW9zYW1lbnRlLiBnb3N0YXJpYSwgYWdyYWRlw6dvLiBPIHRleHRvIGRldmUgc2VyIGdlbsOpcmljby5cbiAgICBcbiAgICAgICAgRXhlbXBsb3MgZGUgdGV4dG86XG4gICAgICAgIFVtIGNhbXBvIGRlIGRlc2NyacOnw6NvIGRlIHVzdcOhcmlvOiBcIlVzdcOhcmlvIGNvbSAyMCBhbm9zLCBlc3R1ZGFudGUgZGUgZW5nZW5oYXJpYSwgZ29zdGEgZGUgam9nYXIgZnV0ZWJvbCBlIGFzc2lzdGlyIGZpbG1lcy5cIlxuICAgICAgICBPdXRybyBleGVtcGxvIGRlIGRlc2NyacOnw6NvIGRlIHVzdcOhcmlvOiBcIlVzdcOhcmlvIGFkbWluaXN0cmFkb3IsIGNvbSBhY2Vzc28gdG90YWwgYW8gc2lzdGVtYSwgcmVzcG9uc8OhdmVsIHBvciBnZXJlbmNpYXIgb3MgdXN1w6FyaW9zIGUgb3MgcHJvZHV0b3MuXCJcbiAgICAgICAgVW0gY2FtcG8gZGUgZGVzY3Jpw6fDo28gZGUgdW0gcHJvZHV0bzogXCJPIHByb2R1dG8gw6kgdW0gY2VsdWxhciwgY29tIHRlbGEgZGUgNiBwb2xlZ2FkYXMsIDEyOEdCIGRlIGFybWF6ZW5hbWVudG8sIDRHQiBkZSBtZW3Ds3JpYSBSQU0sIGPDom1lcmEgZGUgMTJNUCBlIGJhdGVyaWEgZGUgNDAwMG1BaC5cIlxuICAgICAgICBPdXRybyBleGVtcGxvIGRlIGRlc2NyacOnw6NvIGRlIHByb2R1dG86IFwiTyBwcm9kdXRvIMOpIHVtYSBnZWxhZGVpcmEsIGNvbSBjYXBhY2lkYWRlIGRlIDUwMCBsaXRyb3MsIDIgcG9ydGFzLCBjb3IgYnJhbmNhLCBjb20gZnJlZXplciBlIGdhdmV0YSBkZSBsZWd1bWVzLlwiXG4gICAgICAgIE91dHJvIGV4ZW1wbG8gZGUgZGVzY3Jpw6fDo28gZGUgcHJvZHV0bzogXCJPIHByb2R1dG8gw6kgdW1hIGNhbWlzZXRhLCB0YW1hbmhvIE0sIGNvciBhenVsLCAxMDAlIGFsZ29kw6NvLCBjb20gZXN0YW1wYSBkZSB1bSBnYXRvLlwiXG4gICAgXG4gICAgICAgIEVtIGNhc28gZGUgY29udGV4dG8gaW5jb21wbGV0byBjcmllIHVtIHRleHRvIGdlbsOpcmljbywgY29tbyBzZSBmb3NzZSB1bSBleGVtcGxvIGRlIHByZWVuY2hpbWVudG8gZG8gY2FtcG8uXG4gICAgICAgIE8gdGV4dG8gw6kgcGFyYSB1bSBjYW1wbyBkZSB0ZXh0YXJlYSwgZW50w6NvIGVzY3JldmEgdW0gdGV4dG8gc3VjaW50by5cbiAgICAgICAgRXhpYmEgYXBlbmFzIG8gdGV4dG8gZG8gb3V0cHV0YDtcbiAgICB9XG59XG4iXX0=
@@ -1,17 +1,13 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { NgModule } from "@angular/core";
3
3
  import { CommonModule } from "@angular/common";
4
- import { BrowserAnimationsModule } from "@angular/platform-browser/animations";
5
4
  import { SlidePanelComponent } from "./slide-panel.component";
6
5
  var SlidePanelModule = /** @class */ (function () {
7
6
  function SlidePanelModule() {
8
7
  }
9
8
  SlidePanelModule = __decorate([
10
9
  NgModule({
11
- imports: [
12
- CommonModule,
13
- BrowserAnimationsModule,
14
- ],
10
+ imports: [CommonModule],
15
11
  declarations: [SlidePanelComponent],
16
12
  exports: [SlidePanelComponent],
17
13
  })
@@ -19,4 +15,4 @@ var SlidePanelModule = /** @class */ (function () {
19
15
  return SlidePanelModule;
20
16
  }());
21
17
  export { SlidePanelModule };
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGUtcGFuZWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc2xpZGUtcGFuZWwvc2xpZGUtcGFuZWwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUUvRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQVU5RDtJQUFBO0lBQWdDLENBQUM7SUFBcEIsZ0JBQWdCO1FBUjVCLFFBQVEsQ0FBQztZQUNOLE9BQU8sRUFBRTtnQkFDTCxZQUFZO2dCQUNaLHVCQUF1QjthQUMxQjtZQUNELFlBQVksRUFBRSxDQUFDLG1CQUFtQixDQUFDO1lBQ25DLE9BQU8sRUFBRSxDQUFDLG1CQUFtQixDQUFDO1NBQ2pDLENBQUM7T0FDVyxnQkFBZ0IsQ0FBSTtJQUFELHVCQUFDO0NBQUEsQUFBakMsSUFBaUM7U0FBcEIsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci9hbmltYXRpb25zXCI7XG5cbmltcG9ydCB7IFNsaWRlUGFuZWxDb21wb25lbnQgfSBmcm9tIFwiLi9zbGlkZS1wYW5lbC5jb21wb25lbnRcIjtcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUsXG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtTbGlkZVBhbmVsQ29tcG9uZW50XSxcbiAgICBleHBvcnRzOiBbU2xpZGVQYW5lbENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFNsaWRlUGFuZWxNb2R1bGUgeyB9Il19
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGUtcGFuZWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL2FuZ3VsYXItY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc2xpZGUtcGFuZWwvc2xpZGUtcGFuZWwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQU85RDtJQUFBO0lBQWdDLENBQUM7SUFBcEIsZ0JBQWdCO1FBTDVCLFFBQVEsQ0FBQztZQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztZQUN2QixZQUFZLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztZQUNuQyxPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztTQUNqQyxDQUFDO09BQ1csZ0JBQWdCLENBQUk7SUFBRCx1QkFBQztDQUFBLEFBQWpDLElBQWlDO1NBQXBCLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcblxuaW1wb3J0IHsgU2xpZGVQYW5lbENvbXBvbmVudCB9IGZyb20gXCIuL3NsaWRlLXBhbmVsLmNvbXBvbmVudFwiO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICAgIGRlY2xhcmF0aW9uczogW1NsaWRlUGFuZWxDb21wb25lbnRdLFxuICAgIGV4cG9ydHM6IFtTbGlkZVBhbmVsQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgU2xpZGVQYW5lbE1vZHVsZSB7IH0iXX0=
@@ -1,13 +1,12 @@
1
1
  import { __decorate, __rest, __awaiter, __param } from 'tslib';
2
2
  import { EventEmitter, Input, Output, Component, ContentChildren, ViewChild, HostListener, forwardRef, NgModule, ɵɵdefineInjectable, Injectable, ElementRef, ApplicationRef, ComponentFactoryResolver, Injector, Directive, HostBinding, Renderer2, Pipe, ViewEncapsulation, InjectionToken, Inject, TemplateRef, ViewContainerRef, ChangeDetectorRef, Optional, ContentChild } from '@angular/core';
3
3
  import { trigger, transition, style as style$7, animate, state, group, query, animateChild } from '@angular/animations';
4
+ import { Subject, of, from, throwError, forkJoin, ReplaySubject } from 'rxjs';
5
+ import { takeUntil, filter, tap, map, switchMap, catchError, delay, debounceTime, repeat, finalize, take } from 'rxjs/operators';
4
6
  import { CommonModule } from '@angular/common';
5
7
  import { NG_VALUE_ACCESSOR, FormsModule, ReactiveFormsModule, FormControl, FormGroup, NG_VALIDATORS, FormBuilder, Validators, FormArray, ControlContainer } from '@angular/forms';
6
- import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
7
8
  import { RouterModule, NavigationEnd, PRIMARY_OUTLET, ActivatedRoute, Router } from '@angular/router';
8
9
  import { BreadcrumbModule as BreadcrumbModule$1 } from 'primeng/breadcrumb';
9
- import { Subject, of, from, throwError, forkJoin, ReplaySubject } from 'rxjs';
10
- import { takeUntil, filter, tap, map, switchMap, catchError, delay, debounceTime, repeat, finalize, take } from 'rxjs/operators';
11
10
  import { TieredMenu, TieredMenuModule as TieredMenuModule$1 } from 'primeng/tieredmenu';
12
11
  import { TooltipModule as TooltipModule$1 } from 'primeng/tooltip';
13
12
  import { DomHandler } from 'primeng/dom';
@@ -156,23 +155,24 @@ AccordionPanelComponent = __decorate([
156
155
  let AccordionComponent = class AccordionComponent {
157
156
  constructor() {
158
157
  this.multiple = false;
158
+ this._unsubscribe$ = new Subject();
159
159
  this._panels = [];
160
160
  }
161
161
  ngAfterContentInit() {
162
162
  this._panels = this.panelsComponents.toArray();
163
163
  this._openSubs = new Array(this._panels.length);
164
+ this._setBehavior(this.multiple);
164
165
  this._setupTabs();
165
166
  }
166
167
  ngOnChanges(changes) {
167
168
  if (changes.multiple) {
168
- if (changes.multiple.currentValue) {
169
- this._enableMultiplePanelBehavior();
170
- }
171
- else {
172
- this._enableSinglePanelBehavior();
173
- }
169
+ this._setBehavior(changes.multiple.currentValue);
174
170
  }
175
171
  }
172
+ ngOnDestroy() {
173
+ this._unsubscribe$.next();
174
+ this._unsubscribe$.complete();
175
+ }
176
176
  _setupTabs() {
177
177
  var _a;
178
178
  if ((_a = this._panels) === null || _a === void 0 ? void 0 : _a.length) {
@@ -194,9 +194,19 @@ let AccordionComponent = class AccordionComponent {
194
194
  }
195
195
  });
196
196
  }
197
+ _setBehavior(multiple) {
198
+ if (multiple) {
199
+ this._enableMultiplePanelBehavior();
200
+ }
201
+ else {
202
+ this._enableSinglePanelBehavior();
203
+ }
204
+ }
197
205
  _enableSinglePanelBehavior() {
198
206
  this._panels.forEach((panel, index) => {
199
- this._openSubs[index] = panel.panelOpened.subscribe(() => {
207
+ this._openSubs[index] = panel.panelOpened
208
+ .pipe(takeUntil(this._unsubscribe$))
209
+ .subscribe(() => {
200
210
  this._closeOtherTabs(index);
201
211
  });
202
212
  });
@@ -703,7 +713,6 @@ AccordionModule = __decorate([
703
713
  imports: [
704
714
  CommonModule,
705
715
  FormsModule,
706
- BrowserAnimationsModule,
707
716
  TooltipModule,
708
717
  SwitchModule,
709
718
  ],
@@ -6277,24 +6286,20 @@ TextAreaFieldComponent = __decorate([
6277
6286
  ], TextAreaFieldComponent);
6278
6287
 
6279
6288
  let IAssistService = class IAssistService {
6280
- constructor(http, _messageService, _hostProjectConfigs) {
6289
+ constructor(http, _messageService) {
6281
6290
  this.http = http;
6282
6291
  this._messageService = _messageService;
6283
- this._hostProjectConfigs = _hostProjectConfigs;
6284
6292
  }
6285
6293
  askIA(context, data) {
6286
- const prompt = {
6294
+ return this.http.post("platform/iassist/api/latest/completions", {
6287
6295
  "prompt": this._createPrompt(context, data),
6288
6296
  "provider": "OPEN_AI",
6289
6297
  "parameters": {
6290
6298
  "model": "gpt-3.5-turbo",
6291
6299
  "max_tokens": 700,
6292
- "temperature": 1.0
6300
+ "temperature": 1
6293
6301
  }
6294
- };
6295
- const url = this._endpointFactory().build("completions", prompt);
6296
- return this.http.get(url)
6297
- .pipe(catchError((err) => {
6302
+ }).pipe(catchError((err) => {
6298
6303
  this._messageService.add({
6299
6304
  severity: "error",
6300
6305
  summary: err.status ? String(err.status) : "Error",
@@ -6303,30 +6308,12 @@ let IAssistService = class IAssistService {
6303
6308
  return throwError(err);
6304
6309
  }));
6305
6310
  }
6306
- _endpointFactory() {
6307
- return {
6308
- build: (endpoint, params) => {
6309
- const base = `${this._hostProjectConfigs.domain}/${this._hostProjectConfigs.service}/api/latest/${endpoint}`;
6310
- if (params) {
6311
- const query = new URLSearchParams();
6312
- for (const key of Object.keys(params)) {
6313
- const value = params[key];
6314
- if (value) {
6315
- query.append(key, value);
6316
- }
6317
- }
6318
- return `${base}?${query}`;
6319
- }
6320
- return base;
6321
- },
6322
- };
6323
- }
6324
6311
  _createPrompt(context, data) {
6325
6312
  return `Crie um texto genérico para preencher o campo de textarea.
6326
6313
  ${data.label ? `O campo tem o label ${data.label}.` : ""}
6327
6314
  ${data.id ? `O campo tem o id ${data.id}.` : ""}
6328
6315
  ${data.placeholder ? `Considere as instruções/sugestões do placeholder: ${data.placeholder}.` : ""}
6329
- Baseie-se no contexto informado pelo usuário: '${context}'.
6316
+ Baseie-se no contexto informado pelo usuário: '${context}'.
6330
6317
  O texto deve ser formal e conter informações pertinentes a um campo como este, como se um usuário real tivesse preenchido com as informações necessárias.
6331
6318
  O texto deve ser neutro com relação a generos, raças, religiões, etc.
6332
6319
  O texto deve ser impessoal e não deve conter informações pessoais do usuário.
@@ -6346,12 +6333,10 @@ let IAssistService = class IAssistService {
6346
6333
  };
6347
6334
  IAssistService.ctorParameters = () => [
6348
6335
  { type: HttpClient },
6349
- { type: MessageService },
6350
- { type: undefined, decorators: [{ type: Inject, args: [HostProjectConfigsInjectionToken,] }] }
6336
+ { type: MessageService }
6351
6337
  ];
6352
6338
  IAssistService = __decorate([
6353
- Injectable(),
6354
- __param(2, Inject(HostProjectConfigsInjectionToken))
6339
+ Injectable()
6355
6340
  ], IAssistService);
6356
6341
 
6357
6342
  let TextAreaIAFieldComponent = class TextAreaIAFieldComponent {
@@ -6359,31 +6344,39 @@ let TextAreaIAFieldComponent = class TextAreaIAFieldComponent {
6359
6344
  this._iassistService = _iassistService;
6360
6345
  this._formBuilder = _formBuilder;
6361
6346
  this._translateService = _translateService;
6362
- this.dialogVisible = false;
6347
+ this.isVisible = false;
6348
+ this.isLoading = false;
6363
6349
  }
6364
6350
  ngOnInit() {
6365
6351
  this._createDialogFields();
6366
6352
  this._createDialogFormGroup();
6367
6353
  }
6368
6354
  showDialog() {
6369
- this.dialogVisible = true;
6355
+ this.isVisible = true;
6370
6356
  }
6371
6357
  onHideDialog() {
6372
6358
  this.formGroup.get("context").setValue("");
6373
6359
  }
6374
6360
  hideDialog() {
6375
- this.dialogVisible = false;
6361
+ this.isVisible = false;
6376
6362
  }
6377
6363
  submitContext() {
6378
6364
  const context = this.formGroup.get("context");
6365
+ this.isLoading = true;
6379
6366
  this._iassistService.askIA(context.value, {
6380
6367
  id: this.field.id,
6381
6368
  label: this.field.label,
6382
6369
  placeholder: this.field.placeholder,
6383
- }).subscribe((res) => {
6370
+ })
6371
+ .pipe(catchError((err) => {
6372
+ this.isLoading = false;
6373
+ return throwError(err);
6374
+ }))
6375
+ .subscribe((res) => {
6384
6376
  this.formControl.setValue(res.text);
6377
+ this.isLoading = false;
6385
6378
  });
6386
- this.dialogVisible = false;
6379
+ this.hideDialog();
6387
6380
  }
6388
6381
  _createDialogFields() {
6389
6382
  this.fields = [
@@ -6414,7 +6407,7 @@ __decorate([
6414
6407
  ], TextAreaIAFieldComponent.prototype, "formControl", void 0);
6415
6408
  TextAreaIAFieldComponent = __decorate([
6416
6409
  Component({
6417
- template: "<p-dialog\n [header]=\"'platform.angular_components.ia_text_generator' | translate\"\n [(visible)]=\"dialogVisible\"\n [modal]=\"true\"\n [style]=\"{ width: '50vw' }\"\n [draggable]=\"false\"\n [resizable]=\"false\"\n (onHide)=\"onHideDialog()\">\n <s-dynamic-form\n [fields]=\"fields\"\n [form]=\"formGroup\">\n </s-dynamic-form>\n <p-footer>\n <div class=\"footer-content\">\n <s-button\n id=\"-submit-button\"\n type=\"button\"\n [label]=\"'platform.angular_components.generate_text' | translate\"\n (onClick)=\"submitContext()\"\n sTooltip=\"(ALT + SHIFT + S)\"\n showDelay=\"500\">\n </s-button>\n <s-button\n id=\"-cancel-button\"\n type=\"button\"\n priority=\"link\"\n [label]=\"'platform.angular_components.cancel' | translate\"\n (onClick)=\"hideDialog()\"\n sTooltip=\"(ALT + SHIFT + C)\"\n showDelay=\"500\">\n </s-button>\n </div>\n </p-footer>\n</p-dialog>\n\n<div class=\"textarea-ia\">\n <textarea\n [id]=\"(field.id || field.name)\"\n pInputTextarea\n [rows]=\"field.rows\"\n [cols]=\"field.cols\"\n [formControl]=\"formControl\"\n style=\"resize: vertical;\"\n [ngStyle]=\"field.style\">\n </textarea>\n <s-button\n priority=\"default\"\n (onClick)=\"showDialog()\"\n iconClass=\"far fa-lightbulb-on\"\n [auxiliary]=\"true\"\n [tooltip]=\"'platform.angular_components.ia_text_generator' | translate\">\n </s-button>\n</div>",
6410
+ template: "<s-loading-state\n [loading]=\"isLoading\"\n [blockWindow]=\"true\"> \n</s-loading-state>\n\n<p-dialog\n [header]=\"'platform.angular_components.ia_text_generator' | translate\"\n [(visible)]=\"isVisible\"\n [modal]=\"true\"\n [style]=\"{ width: '50vw' }\"\n [draggable]=\"false\"\n [resizable]=\"false\"\n (onHide)=\"onHideDialog()\">\n <s-dynamic-form\n [fields]=\"fields\"\n [form]=\"formGroup\">\n </s-dynamic-form>\n <p-footer>\n <div class=\"footer-content\">\n <s-button\n id=\"-submit-button\"\n type=\"button\"\n [label]=\"'platform.angular_components.generate_text' | translate\"\n (onClick)=\"submitContext()\"\n sTooltip=\"(ALT + SHIFT + S)\"\n showDelay=\"500\">\n </s-button>\n <s-button\n id=\"-cancel-button\"\n type=\"button\"\n priority=\"link\"\n [label]=\"'platform.angular_components.cancel' | translate\"\n (onClick)=\"hideDialog()\"\n sTooltip=\"(ALT + SHIFT + C)\"\n showDelay=\"500\">\n </s-button>\n </div>\n </p-footer>\n</p-dialog>\n\n<div class=\"textarea-ia\">\n <textarea\n [id]=\"(field.id || field.name)\"\n pInputTextarea\n [rows]=\"field.rows\"\n [cols]=\"field.cols\"\n [formControl]=\"formControl\"\n style=\"resize: vertical;\"\n [ngStyle]=\"field.style\">\n </textarea>\n <s-button\n priority=\"default\"\n (onClick)=\"showDialog()\"\n iconClass=\"far fa-lightbulb-on\"\n [auxiliary]=\"true\"\n [tooltip]=\"'platform.angular_components.ia_text_generator' | translate\">\n </s-button>\n</div>",
6418
6411
  styles: [".footer-content{display:-ms-flexbox;display:flex;-ms-flex-positive:0;flex-grow:0}.textarea-ia{display:-ms-flexbox;display:flex;-ms-flex-align:end;align-items:flex-end;gap:8px}"]
6419
6412
  })
6420
6413
  ], TextAreaIAFieldComponent);
@@ -10930,10 +10923,7 @@ let SlidePanelModule = class SlidePanelModule {
10930
10923
  };
10931
10924
  SlidePanelModule = __decorate([
10932
10925
  NgModule({
10933
- imports: [
10934
- CommonModule,
10935
- BrowserAnimationsModule,
10936
- ],
10926
+ imports: [CommonModule],
10937
10927
  declarations: [SlidePanelComponent],
10938
10928
  exports: [SlidePanelComponent],
10939
10929
  })