@seniorsistemas/angular-components 17.2.1 → 17.2.3

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 (44) hide show
  1. package/bundles/seniorsistemas-angular-components.umd.js +217 -55
  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/dynamic-form/components/fields/base-field-component.d.ts +2 -1
  6. package/components/dynamic-form/components/fields/text-area-ia/text-area-ia-field.component.d.ts +25 -0
  7. package/components/dynamic-form/configurations/field-type.d.ts +8 -7
  8. package/components/dynamic-form/configurations/fields/text-area-ia-field.d.ts +18 -0
  9. package/components/dynamic-form/services/IAssist/iassist.service.d.ts +15 -0
  10. package/components/dynamic-form/services/IAssist/models/iassist-input-data.d.ts +5 -0
  11. package/components/dynamic-form/services/IAssist/models/iassist-response.d.ts +5 -0
  12. package/esm2015/components/dynamic-form/components/fields/base-field-component.js +1 -1
  13. package/esm2015/components/dynamic-form/components/fields/text-area-ia/text-area-ia-field.component.js +73 -0
  14. package/esm2015/components/dynamic-form/configurations/field-type.js +8 -7
  15. package/esm2015/components/dynamic-form/configurations/fields/text-area-ia-field.js +11 -0
  16. package/esm2015/components/dynamic-form/configurations/form-field.js +5 -5
  17. package/esm2015/components/dynamic-form/dynamic-form.component.js +2 -2
  18. package/esm2015/components/dynamic-form/dynamic-form.js +5 -5
  19. package/esm2015/components/dynamic-form/dynamic-form.module.js +9 -2
  20. package/esm2015/components/dynamic-form/services/IAssist/iassist.service.js +86 -0
  21. package/esm2015/components/dynamic-form/services/IAssist/models/iassist-input-data.js +1 -0
  22. package/esm2015/components/dynamic-form/services/IAssist/models/iassist-response.js +1 -0
  23. package/esm2015/locale/fallback.js +4 -1
  24. package/esm2015/seniorsistemas-angular-components.js +38 -36
  25. package/esm5/components/dynamic-form/components/fields/base-field-component.js +1 -1
  26. package/esm5/components/dynamic-form/components/fields/text-area-ia/text-area-ia-field.component.js +75 -0
  27. package/esm5/components/dynamic-form/configurations/field-type.js +8 -7
  28. package/esm5/components/dynamic-form/configurations/fields/text-area-ia-field.js +16 -0
  29. package/esm5/components/dynamic-form/configurations/form-field.js +5 -5
  30. package/esm5/components/dynamic-form/dynamic-form.component.js +2 -2
  31. package/esm5/components/dynamic-form/dynamic-form.js +5 -5
  32. package/esm5/components/dynamic-form/dynamic-form.module.js +9 -2
  33. package/esm5/components/dynamic-form/services/IAssist/iassist.service.js +81 -0
  34. package/esm5/components/dynamic-form/services/IAssist/models/iassist-input-data.js +1 -0
  35. package/esm5/components/dynamic-form/services/IAssist/models/iassist-response.js +1 -0
  36. package/esm5/locale/fallback.js +4 -1
  37. package/esm5/seniorsistemas-angular-components.js +38 -36
  38. package/fesm2015/seniorsistemas-angular-components.js +180 -20
  39. package/fesm2015/seniorsistemas-angular-components.js.map +1 -1
  40. package/fesm5/seniorsistemas-angular-components.js +180 -20
  41. package/fesm5/seniorsistemas-angular-components.js.map +1 -1
  42. package/package.json +2 -2
  43. package/seniorsistemas-angular-components.d.ts +37 -35
  44. package/seniorsistemas-angular-components.metadata.json +1 -1
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/animations'), require('@angular/common'), require('@angular/forms'), require('@angular/platform-browser/animations'), require('@angular/router'), require('primeng/breadcrumb'), require('rxjs'), require('rxjs/operators'), require('primeng/tieredmenu'), require('primeng/tooltip'), require('primeng/dom'), require('primeng/calendar'), require('@ngx-translate/core'), require('ngx-mask'), require('@angular/common/http'), require('angular2-hotkeys'), require('bignumber.js'), require('primeng/autocomplete'), require('primeng/dialog'), require('primeng/table'), require('@seniorsistemas/ng2-currency-mask'), require('@seniorsistemas/senior-platform-data'), require('moment'), require('ngx-cookie-service'), require('ng2-currency-mask'), require('primeng/button'), require('primeng/checkbox'), require('primeng/chips'), require('primeng/dropdown'), require('primeng/fieldset'), require('primeng/inputmask'), require('primeng/inputtext'), require('primeng/inputtextarea'), require('primeng/keyfilter'), require('primeng/multiselect'), require('primeng/panel'), require('primeng/radiobutton'), require('primeng/slider'), require('primeng/progressbar'), require('@angular/platform-browser'), require('cropperjs'), require('element-resize-detector'), require('@angular/cdk/a11y'), require('primeng/scrollpanel'), require('primeng/sidebar'), require('primeng/api'), require('primeng/confirmdialog'), require('@codemirror/view'), require('@codemirror/state'), require('@codemirror/lint'), require('@codemirror/language'), require('@lezer/generator'), require('@codemirror/highlight'), require('@codemirror/autocomplete'), require('@codemirror/tooltip'), require('@codemirror/gutter')) :
3
- typeof define === 'function' && define.amd ? define('@seniorsistemas/angular-components', ['exports', '@angular/core', '@angular/animations', '@angular/common', '@angular/forms', '@angular/platform-browser/animations', '@angular/router', 'primeng/breadcrumb', 'rxjs', 'rxjs/operators', 'primeng/tieredmenu', 'primeng/tooltip', 'primeng/dom', 'primeng/calendar', '@ngx-translate/core', 'ngx-mask', '@angular/common/http', 'angular2-hotkeys', 'bignumber.js', 'primeng/autocomplete', 'primeng/dialog', 'primeng/table', '@seniorsistemas/ng2-currency-mask', '@seniorsistemas/senior-platform-data', 'moment', 'ngx-cookie-service', 'ng2-currency-mask', 'primeng/button', 'primeng/checkbox', 'primeng/chips', 'primeng/dropdown', 'primeng/fieldset', 'primeng/inputmask', 'primeng/inputtext', 'primeng/inputtextarea', 'primeng/keyfilter', 'primeng/multiselect', 'primeng/panel', 'primeng/radiobutton', 'primeng/slider', 'primeng/progressbar', '@angular/platform-browser', 'cropperjs', 'element-resize-detector', '@angular/cdk/a11y', 'primeng/scrollpanel', 'primeng/sidebar', 'primeng/api', 'primeng/confirmdialog', '@codemirror/view', '@codemirror/state', '@codemirror/lint', '@codemirror/language', '@lezer/generator', '@codemirror/highlight', '@codemirror/autocomplete', '@codemirror/tooltip', '@codemirror/gutter'], factory) :
4
- (global = global || self, factory((global.seniorsistemas = global.seniorsistemas || {}, global.seniorsistemas['angular-components'] = {}), global.ng.core, global.ng.animations, global.ng.common, global.ng.forms, global.ng.platformBrowser.animations, global.ng.router, global.breadcrumb, global.rxjs, global.rxjs.operators, global.tieredmenu, global.tooltip, global.dom, global.calendar, global.core$1, global.ngxMask, global.ng.common.http, global.angular2Hotkeys, global.BigNumber, global.autocomplete$1, global.dialog, global.table, global.ng2CurrencyMask, global.seniorPlatformData, global.moment_, global.ngxCookieService, global.ng2CurrencyMask$1, global.button, global.checkbox, global.chips, global.dropdown, global.fieldset, global.inputmask, global.inputtext, global.inputtextarea, global.keyfilter, global.multiselect, global.panel, global.radiobutton, global.slider, global.progressbar, global.ng.platformBrowser, global.Cropper, global.elementResizeDetectorMaker_, global.ng.cdk.a11y, global.scrollpanel, global.sidebar, global.api, global.confirmdialog, global.view, global.state, global.lint, global.language, global.generator, global.highlight, global.autocomplete$2, global.tooltip$1, global.gutter));
5
- }(this, (function (exports, core, animations, common, forms, animations$1, router, breadcrumb, rxjs, operators, tieredmenu, tooltip, dom, calendar, core$1, ngxMask, http, angular2Hotkeys, BigNumber, autocomplete$1, dialog, table, ng2CurrencyMask, seniorPlatformData, moment_, ngxCookieService, ng2CurrencyMask$1, button, checkbox, chips, dropdown, fieldset, inputmask, inputtext, inputtextarea, keyfilter, multiselect, panel, radiobutton, slider, progressbar, platformBrowser, Cropper, elementResizeDetectorMaker_, a11y, scrollpanel, sidebar, api, confirmdialog, view, state, lint, language, generator, highlight, autocomplete$2, tooltip$1, gutter) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/animations'), require('@angular/common'), require('@angular/forms'), require('@angular/platform-browser/animations'), require('@angular/router'), require('primeng/breadcrumb'), require('rxjs'), require('rxjs/operators'), require('primeng/tieredmenu'), require('primeng/tooltip'), require('primeng/dom'), require('primeng/calendar'), require('@ngx-translate/core'), require('ngx-mask'), require('@angular/common/http'), require('angular2-hotkeys'), require('bignumber.js'), require('primeng/autocomplete'), require('primeng/dialog'), require('primeng/table'), require('@seniorsistemas/ng2-currency-mask'), require('@seniorsistemas/senior-platform-data'), require('moment'), require('ngx-cookie-service'), require('ng2-currency-mask'), require('primeng/button'), require('primeng/checkbox'), require('primeng/chips'), require('primeng/dropdown'), require('primeng/fieldset'), require('primeng/inputmask'), require('primeng/inputtext'), require('primeng/inputtextarea'), require('primeng/keyfilter'), require('primeng/multiselect'), require('primeng/panel'), require('primeng/radiobutton'), require('primeng/slider'), require('primeng/progressbar'), require('@angular/platform-browser'), require('primeng/api'), require('cropperjs'), require('element-resize-detector'), require('@angular/cdk/a11y'), require('primeng/scrollpanel'), require('primeng/sidebar'), require('primeng/confirmdialog'), require('@codemirror/view'), require('@codemirror/state'), require('@codemirror/lint'), require('@codemirror/language'), require('@lezer/generator'), require('@codemirror/highlight'), require('@codemirror/autocomplete'), require('@codemirror/tooltip'), require('@codemirror/gutter')) :
3
+ typeof define === 'function' && define.amd ? define('@seniorsistemas/angular-components', ['exports', '@angular/core', '@angular/animations', '@angular/common', '@angular/forms', '@angular/platform-browser/animations', '@angular/router', 'primeng/breadcrumb', 'rxjs', 'rxjs/operators', 'primeng/tieredmenu', 'primeng/tooltip', 'primeng/dom', 'primeng/calendar', '@ngx-translate/core', 'ngx-mask', '@angular/common/http', 'angular2-hotkeys', 'bignumber.js', 'primeng/autocomplete', 'primeng/dialog', 'primeng/table', '@seniorsistemas/ng2-currency-mask', '@seniorsistemas/senior-platform-data', 'moment', 'ngx-cookie-service', 'ng2-currency-mask', 'primeng/button', 'primeng/checkbox', 'primeng/chips', 'primeng/dropdown', 'primeng/fieldset', 'primeng/inputmask', 'primeng/inputtext', 'primeng/inputtextarea', 'primeng/keyfilter', 'primeng/multiselect', 'primeng/panel', 'primeng/radiobutton', 'primeng/slider', 'primeng/progressbar', '@angular/platform-browser', 'primeng/api', 'cropperjs', 'element-resize-detector', '@angular/cdk/a11y', 'primeng/scrollpanel', 'primeng/sidebar', 'primeng/confirmdialog', '@codemirror/view', '@codemirror/state', '@codemirror/lint', '@codemirror/language', '@lezer/generator', '@codemirror/highlight', '@codemirror/autocomplete', '@codemirror/tooltip', '@codemirror/gutter'], factory) :
4
+ (global = global || self, factory((global.seniorsistemas = global.seniorsistemas || {}, global.seniorsistemas['angular-components'] = {}), global.ng.core, global.ng.animations, global.ng.common, global.ng.forms, global.ng.platformBrowser.animations, global.ng.router, global.breadcrumb, global.rxjs, global.rxjs.operators, global.tieredmenu, global.tooltip, global.dom, global.calendar, global.core$1, global.ngxMask, global.ng.common.http, global.angular2Hotkeys, global.BigNumber, global.autocomplete$1, global.dialog, global.table, global.ng2CurrencyMask, global.seniorPlatformData, global.moment_, global.ngxCookieService, global.ng2CurrencyMask$1, global.button, global.checkbox, global.chips, global.dropdown, global.fieldset, global.inputmask, global.inputtext, global.inputtextarea, global.keyfilter, global.multiselect, global.panel, global.radiobutton, global.slider, global.progressbar, global.ng.platformBrowser, global.api, global.Cropper, global.elementResizeDetectorMaker_, global.ng.cdk.a11y, global.scrollpanel, global.sidebar, global.confirmdialog, global.view, global.state, global.lint, global.language, global.generator, global.highlight, global.autocomplete$2, global.tooltip$1, global.gutter));
5
+ }(this, (function (exports, core, animations, common, forms, animations$1, router, breadcrumb, rxjs, operators, tieredmenu, tooltip, dom, calendar, core$1, ngxMask, http, angular2Hotkeys, BigNumber, autocomplete$1, dialog, table, ng2CurrencyMask, seniorPlatformData, moment_, ngxCookieService, ng2CurrencyMask$1, button, checkbox, chips, dropdown, fieldset, inputmask, inputtext, inputtextarea, keyfilter, multiselect, panel, radiobutton, slider, progressbar, platformBrowser, api, Cropper, elementResizeDetectorMaker_, a11y, scrollpanel, sidebar, confirmdialog, view, state, lint, language, generator, highlight, autocomplete$2, tooltip$1, gutter) { 'use strict';
6
6
 
7
7
  var BigNumber__default = 'default' in BigNumber ? BigNumber['default'] : BigNumber;
8
8
  Cropper = Cropper && Cropper.hasOwnProperty('default') ? Cropper['default'] : Cropper;
@@ -2523,25 +2523,26 @@
2523
2523
  (function (FieldType) {
2524
2524
  FieldType["Autocomplete"] = "Autocomplete";
2525
2525
  FieldType["Binary"] = "Binary";
2526
+ FieldType["Blob"] = "Blob";
2526
2527
  FieldType["Boolean"] = "Boolean";
2527
2528
  FieldType["Chips"] = "Chips";
2529
+ FieldType["Custom"] = "Custom";
2528
2530
  FieldType["Date"] = "Date";
2529
2531
  FieldType["DateTime"] = "DateTime";
2530
- FieldType["LocalDateTime"] = "LocalDateTime";
2531
2532
  FieldType["Double"] = "Double";
2532
2533
  FieldType["Enum"] = "Enum";
2533
- FieldType["Blob"] = "Blob";
2534
2534
  FieldType["Integer"] = "Integer";
2535
+ FieldType["LocalDateTime"] = "LocalDateTime";
2535
2536
  FieldType["Lookup"] = "Lookup";
2536
2537
  FieldType["Money"] = "Money";
2538
+ FieldType["Number"] = "Number";
2539
+ FieldType["Password"] = "Password";
2537
2540
  FieldType["Radio"] = "Radio";
2541
+ FieldType["Slider"] = "Slider";
2538
2542
  FieldType["String"] = "String";
2539
2543
  FieldType["Text"] = "Text";
2544
+ FieldType["TextIA"] = "TextIA";
2540
2545
  FieldType["Time"] = "Time";
2541
- FieldType["Number"] = "Number";
2542
- FieldType["Custom"] = "Custom";
2543
- FieldType["Password"] = "Password";
2544
- FieldType["Slider"] = "Slider";
2545
2546
  })(exports.FieldType || (exports.FieldType = {}));
2546
2547
 
2547
2548
  var FieldSize = /** @class */ (function () {
@@ -3412,6 +3413,19 @@
3412
3413
  return TextAreaField;
3413
3414
  }(Field));
3414
3415
 
3416
+ var TextAreaIAField = /** @class */ (function (_super) {
3417
+ __extends(TextAreaIAField, _super);
3418
+ function TextAreaIAField(config) {
3419
+ var _this = _super.call(this, config) || this;
3420
+ _this.cols = config.cols;
3421
+ _this.rows = config.rows;
3422
+ _this.keyFilter = config.keyFilter;
3423
+ _this.style = config.style;
3424
+ return _this;
3425
+ }
3426
+ return TextAreaIAField;
3427
+ }(Field));
3428
+
3415
3429
  var TextField = /** @class */ (function (_super) {
3416
3430
  __extends(TextField, _super);
3417
3431
  function TextField(config) {
@@ -3499,11 +3513,10 @@
3499
3513
  return new PasswordField(config);
3500
3514
  case exports.FieldType.Text:
3501
3515
  return new TextAreaField(config);
3516
+ case exports.FieldType.TextIA:
3517
+ return new TextAreaIAField(config);
3502
3518
  case exports.FieldType.Boolean:
3503
- if (config.representedBy === "switch") {
3504
- return new BooleanSwitchField(config);
3505
- }
3506
- return new BooleanField(config);
3519
+ return config.representedBy === "switch" ? new BooleanSwitchField(config) : new BooleanField(config);
3507
3520
  case exports.FieldType.Date:
3508
3521
  case exports.FieldType.DateTime:
3509
3522
  case exports.FieldType.LocalDateTime:
@@ -4217,7 +4230,7 @@
4217
4230
  DynamicFormComponent = __decorate([
4218
4231
  core.Component({
4219
4232
  selector: "s-dynamic-form",
4220
- template: "<div *ngIf=\"configs; else templateFields\">\n <ng-container *ngFor=\"let config of configs\">\n <ng-container *sDynamicForm=\"{ id: id, config: config, group: form, errorMessages: errorMessages }\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #templateFields>\n <s-dynamic-field [id]=\"id\" [fields]=\"fields\" [form]=\"form\" [errorMessages]=\"errorMessages\" [displayTimeInfoSign]=\"displayTimeInfoSign\"></s-dynamic-field>\n</ng-template>\n",
4233
+ template: "<div *ngIf=\"configs; else templateFields\">\n <ng-container *ngFor=\"let config of configs\">\n <ng-container\n *sDynamicForm=\"{\n id: id,\n config: config,\n group: form,\n errorMessages: errorMessages\n }\">\n </ng-container>\n </ng-container>\n</div>\n\n<ng-template #templateFields>\n <s-dynamic-field\n [id]=\"id\"\n [fields]=\"fields\"\n [form]=\"form\"\n [errorMessages]=\"errorMessages\"\n [displayTimeInfoSign]=\"displayTimeInfoSign\">\n </s-dynamic-field>\n</ng-template>\n",
4221
4234
  encapsulation: core.ViewEncapsulation.None,
4222
4235
  styles: ["label.required:after{content:\" *\";color:#c13018}"]
4223
4236
  })
@@ -6961,6 +6974,146 @@
6961
6974
  return TextAreaFieldComponent;
6962
6975
  }());
6963
6976
 
6977
+ var IAssistService = /** @class */ (function () {
6978
+ function IAssistService(http, _messageService, _hostProjectConfigs) {
6979
+ this.http = http;
6980
+ this._messageService = _messageService;
6981
+ this._hostProjectConfigs = _hostProjectConfigs;
6982
+ }
6983
+ IAssistService.prototype.askIA = function (context, data) {
6984
+ var _this = this;
6985
+ var prompt = {
6986
+ "prompt": this._createPrompt(context, data),
6987
+ "provider": "OPEN_AI",
6988
+ "parameters": {
6989
+ "model": "gpt-3.5-turbo",
6990
+ "max_tokens": 700,
6991
+ "temperature": 1.0
6992
+ }
6993
+ };
6994
+ var url = this._endpointFactory().build("completions", prompt);
6995
+ return this.http.get(url)
6996
+ .pipe(operators.catchError(function (err) {
6997
+ _this._messageService.add({
6998
+ severity: "error",
6999
+ summary: err.status ? String(err.status) : "Error",
7000
+ detail: (err.error && err.error.message) || err.statusText || err.message || "Error",
7001
+ });
7002
+ return rxjs.throwError(err);
7003
+ }));
7004
+ };
7005
+ IAssistService.prototype._endpointFactory = function () {
7006
+ var _this = this;
7007
+ return {
7008
+ build: function (endpoint, params) {
7009
+ var e_1, _a;
7010
+ var base = _this._hostProjectConfigs.domain + "/" + _this._hostProjectConfigs.service + "/api/latest/" + endpoint;
7011
+ if (params) {
7012
+ var query = new URLSearchParams();
7013
+ try {
7014
+ for (var _b = __values(Object.keys(params)), _c = _b.next(); !_c.done; _c = _b.next()) {
7015
+ var key = _c.value;
7016
+ var value = params[key];
7017
+ if (value) {
7018
+ query.append(key, value);
7019
+ }
7020
+ }
7021
+ }
7022
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
7023
+ finally {
7024
+ try {
7025
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
7026
+ }
7027
+ finally { if (e_1) throw e_1.error; }
7028
+ }
7029
+ return base + "?" + query;
7030
+ }
7031
+ return base;
7032
+ },
7033
+ };
7034
+ };
7035
+ IAssistService.prototype._createPrompt = function (context, data) {
7036
+ 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";
7037
+ };
7038
+ IAssistService.ctorParameters = function () { return [
7039
+ { type: http.HttpClient },
7040
+ { type: api.MessageService },
7041
+ { type: undefined, decorators: [{ type: core.Inject, args: [HostProjectConfigsInjectionToken,] }] }
7042
+ ]; };
7043
+ IAssistService = __decorate([
7044
+ core.Injectable(),
7045
+ __param(2, core.Inject(HostProjectConfigsInjectionToken))
7046
+ ], IAssistService);
7047
+ return IAssistService;
7048
+ }());
7049
+
7050
+ var TextAreaIAFieldComponent = /** @class */ (function () {
7051
+ function TextAreaIAFieldComponent(_iassistService, _formBuilder, _translateService) {
7052
+ this._iassistService = _iassistService;
7053
+ this._formBuilder = _formBuilder;
7054
+ this._translateService = _translateService;
7055
+ this.dialogVisible = false;
7056
+ }
7057
+ TextAreaIAFieldComponent.prototype.ngOnInit = function () {
7058
+ this._createDialogFields();
7059
+ this._createDialogFormGroup();
7060
+ };
7061
+ TextAreaIAFieldComponent.prototype.showDialog = function () {
7062
+ this.dialogVisible = true;
7063
+ };
7064
+ TextAreaIAFieldComponent.prototype.onHideDialog = function () {
7065
+ this.formGroup.get("context").setValue("");
7066
+ };
7067
+ TextAreaIAFieldComponent.prototype.hideDialog = function () {
7068
+ this.dialogVisible = false;
7069
+ };
7070
+ TextAreaIAFieldComponent.prototype.submitContext = function () {
7071
+ var _this = this;
7072
+ var context = this.formGroup.get("context");
7073
+ this._iassistService.askIA(context.value, {
7074
+ id: this.field.id,
7075
+ label: this.field.label,
7076
+ placeholder: this.field.placeholder,
7077
+ }).subscribe(function (res) {
7078
+ _this.formControl.setValue(res.text);
7079
+ });
7080
+ this.dialogVisible = false;
7081
+ };
7082
+ TextAreaIAFieldComponent.prototype._createDialogFields = function () {
7083
+ this.fields = [
7084
+ new FormField({
7085
+ name: "context",
7086
+ type: exports.FieldType.String,
7087
+ label: this._translateService.instant("platform.angular_components.context"),
7088
+ size: { sm: 12, md: 12, lg: 12, xl: 12 },
7089
+ }),
7090
+ ];
7091
+ };
7092
+ TextAreaIAFieldComponent.prototype._createDialogFormGroup = function () {
7093
+ this.formGroup = this._formBuilder.group({
7094
+ context: [""],
7095
+ });
7096
+ };
7097
+ TextAreaIAFieldComponent.ctorParameters = function () { return [
7098
+ { type: IAssistService },
7099
+ { type: forms.FormBuilder },
7100
+ { type: core$1.TranslateService }
7101
+ ]; };
7102
+ __decorate([
7103
+ core.Input()
7104
+ ], TextAreaIAFieldComponent.prototype, "field", void 0);
7105
+ __decorate([
7106
+ core.Input()
7107
+ ], TextAreaIAFieldComponent.prototype, "formControl", void 0);
7108
+ TextAreaIAFieldComponent = __decorate([
7109
+ core.Component({
7110
+ 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>",
7111
+ 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}"]
7112
+ })
7113
+ ], TextAreaIAFieldComponent);
7114
+ return TextAreaIAFieldComponent;
7115
+ }());
7116
+
6964
7117
  var TextFieldComponent = /** @class */ (function (_super) {
6965
7118
  __extends(TextFieldComponent, _super);
6966
7119
  function TextFieldComponent() {
@@ -7437,10 +7590,7 @@
7437
7590
  case exports.FieldType.String:
7438
7591
  return TextFieldComponent;
7439
7592
  case exports.FieldType.Boolean:
7440
- if (this.field.representedBy === "switch") {
7441
- return BooleanSwitchFieldComponent;
7442
- }
7443
- return BooleanFieldComponent;
7593
+ return this.field.representedBy === "switch" ? BooleanSwitchFieldComponent : BooleanFieldComponent;
7444
7594
  case exports.FieldType.Chips:
7445
7595
  return ChipsFieldComponent;
7446
7596
  case exports.FieldType.Date:
@@ -7462,6 +7612,8 @@
7462
7612
  return RadioButtonComponent;
7463
7613
  case exports.FieldType.Text:
7464
7614
  return TextAreaFieldComponent;
7615
+ case exports.FieldType.TextIA:
7616
+ return TextAreaIAFieldComponent;
7465
7617
  case exports.FieldType.Password:
7466
7618
  return PasswordFieldComponent;
7467
7619
  case exports.FieldType.Blob:
@@ -8105,6 +8257,7 @@
8105
8257
  SectionComponent,
8106
8258
  SelectFieldComponent,
8107
8259
  TextAreaFieldComponent,
8260
+ TextAreaIAFieldComponent,
8108
8261
  TextFieldComponent,
8109
8262
  BooleanSwitchFieldComponent,
8110
8263
  PasswordFieldComponent,
@@ -8127,12 +8280,16 @@
8127
8280
  SectionComponent,
8128
8281
  SelectFieldComponent,
8129
8282
  TextAreaFieldComponent,
8283
+ TextAreaIAFieldComponent,
8130
8284
  TextFieldComponent,
8131
8285
  PasswordFieldComponent,
8132
8286
  BooleanSwitchFieldComponent,
8133
8287
  SliderFieldComponent,
8134
8288
  ],
8135
- providers: [angular2Hotkeys.HotkeysService]
8289
+ providers: [
8290
+ angular2Hotkeys.HotkeysService,
8291
+ IAssistService,
8292
+ ]
8136
8293
  })
8137
8294
  ], DynamicFormModule);
8138
8295
  return DynamicFormModule;
@@ -15463,6 +15620,9 @@
15463
15620
  }());
15464
15621
 
15465
15622
  var fallback = {
15623
+ "platform.angular_components.ia_text_generator": "Gerador de texto por IA",
15624
+ "platform.angular_components.generate_text": "Gerar texto",
15625
+ "platform.angular_components.context": "Contexto",
15466
15626
  "platform.angular_components.filters": "Filtros",
15467
15627
  "platform.angular_components.filter": "Filtrar",
15468
15628
  "platform.angular_components.clear": "Limpar",
@@ -15854,42 +16014,44 @@
15854
16014
  exports.ɵb = TooltipDirective;
15855
16015
  exports.ɵba = SelectFieldComponent;
15856
16016
  exports.ɵbb = TextAreaFieldComponent;
15857
- exports.ɵbc = TextFieldComponent;
15858
- exports.ɵbd = BooleanSwitchFieldComponent;
15859
- exports.ɵbe = PasswordFieldComponent;
15860
- exports.ɵbf = SliderFieldComponent;
15861
- exports.ɵbh = DecimalField;
15862
- exports.ɵbi = SideTableComponent;
15863
- exports.ɵbj = StructureModule;
15864
- exports.ɵbk = HeaderComponent;
15865
- exports.ɵbl = FooterComponent;
15866
- exports.ɵbm = NumberLocaleOptions;
15867
- exports.ɵbn = ThumbnailService;
15868
- exports.ɵbo = BorderButtonModule;
15869
- exports.ɵbp = BorderButtonComponent;
15870
- exports.ɵbq = TimelineItemModule;
15871
- exports.ɵbr = TimelineIconItemComponent;
15872
- exports.ɵbs = HorizontalTimelineModule;
15873
- exports.ɵbt = HorizontalTimelineComponent;
15874
- exports.ɵbu = VerticalTimelineModule;
15875
- exports.ɵbv = VerticalTimelineComponent;
15876
- exports.ɵbw = RangeLineComponent;
15877
- exports.ɵbx = CollapseOptionComponent;
15878
- exports.ɵby = CollapsedItemsComponent;
15879
- exports.ɵbz = VerticalItemsComponent;
16017
+ exports.ɵbc = TextAreaIAFieldComponent;
16018
+ exports.ɵbd = IAssistService;
16019
+ exports.ɵbe = TextFieldComponent;
16020
+ exports.ɵbf = BooleanSwitchFieldComponent;
16021
+ exports.ɵbg = PasswordFieldComponent;
16022
+ exports.ɵbh = SliderFieldComponent;
16023
+ exports.ɵbj = DecimalField;
16024
+ exports.ɵbk = SideTableComponent;
16025
+ exports.ɵbl = StructureModule;
16026
+ exports.ɵbm = HeaderComponent;
16027
+ exports.ɵbn = FooterComponent;
16028
+ exports.ɵbo = NumberLocaleOptions;
16029
+ exports.ɵbp = ThumbnailService;
16030
+ exports.ɵbq = BorderButtonModule;
16031
+ exports.ɵbr = BorderButtonComponent;
16032
+ exports.ɵbs = TimelineItemModule;
16033
+ exports.ɵbt = TimelineIconItemComponent;
16034
+ exports.ɵbu = HorizontalTimelineModule;
16035
+ exports.ɵbv = HorizontalTimelineComponent;
16036
+ exports.ɵbw = VerticalTimelineModule;
16037
+ exports.ɵbx = VerticalTimelineComponent;
16038
+ exports.ɵby = RangeLineComponent;
16039
+ exports.ɵbz = CollapseOptionComponent;
15880
16040
  exports.ɵc = CountryPhonePickerService;
15881
- exports.ɵca = InfiniteScrollModule;
15882
- exports.ɵcb = InfiniteScrollDirective;
15883
- exports.ɵcc = CustomTranslationsModule;
15884
- exports.ɵcd = CodeEditorComponent;
15885
- exports.ɵce = CoreFacade;
15886
- exports.ɵcf = CodeMirror6Core;
15887
- exports.ɵcg = TieredMenuEventService;
15888
- exports.ɵch = TieredMenuService;
15889
- exports.ɵci = TieredMenuComponent;
15890
- exports.ɵcj = TieredMenuNestedComponent;
15891
- exports.ɵck = TieredMenuItemComponent;
15892
- exports.ɵcl = TieredMenuDividerComponent;
16041
+ exports.ɵca = CollapsedItemsComponent;
16042
+ exports.ɵcb = VerticalItemsComponent;
16043
+ exports.ɵcc = InfiniteScrollModule;
16044
+ exports.ɵcd = InfiniteScrollDirective;
16045
+ exports.ɵce = CustomTranslationsModule;
16046
+ exports.ɵcf = CodeEditorComponent;
16047
+ exports.ɵcg = CoreFacade;
16048
+ exports.ɵch = CodeMirror6Core;
16049
+ exports.ɵci = TieredMenuEventService;
16050
+ exports.ɵcj = TieredMenuService;
16051
+ exports.ɵck = TieredMenuComponent;
16052
+ exports.ɵcl = TieredMenuNestedComponent;
16053
+ exports.ɵcm = TieredMenuItemComponent;
16054
+ exports.ɵcn = TieredMenuDividerComponent;
15893
16055
  exports.ɵd = LocalizedCurrencyImpurePipe;
15894
16056
  exports.ɵe = LocalizedBignumberPipe;
15895
16057
  exports.ɵf = LocalizedBignumberImpurePipe;