{"ast":null,"code":"import { HttpHeaders } from '@angular/common/http';\nimport { environment } from '../environments/environment';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common/http\";\nimport * as i2 from \"../services/client.service\";\nimport * as i3 from \"@angular/common\";\nimport * as i4 from \"@angular/forms\";\nfunction ConfiguracaoMensagensComponent_option_5_Template(rf, ctx) {\n  if (rf & 1) {\n    i0.ɵɵelementStart(0, \"option\", 15);\n    i0.ɵɵtext(1);\n    i0.ɵɵelementEnd();\n  }\n  if (rf & 2) {\n    const display_r1 = ctx.$implicit;\n    i0.ɵɵproperty(\"value\", display_r1.physical_name_io_device);\n    i0.ɵɵadvance();\n    i0.ɵɵtextInterpolate1(\" \", display_r1.physical_name_io_device, \" \");\n  }\n}\nfunction ConfiguracaoMensagensComponent_button_86_Template(rf, ctx) {\n  if (rf & 1) {\n    const _r2 = i0.ɵɵgetCurrentView();\n    i0.ɵɵelementStart(0, \"button\", 16);\n    i0.ɵɵlistener(\"click\", function ConfiguracaoMensagensComponent_button_86_Template_button_click_0_listener() {\n      i0.ɵɵrestoreView(_r2);\n      const ctx_r2 = i0.ɵɵnextContext();\n      return i0.ɵɵresetView(ctx_r2.onEditMessage());\n    });\n    i0.ɵɵtext(1, \"Editar Mensagem\");\n    i0.ɵɵelementEnd();\n  }\n}\nfunction ConfiguracaoMensagensComponent_button_87_Template(rf, ctx) {\n  if (rf & 1) {\n    const _r4 = i0.ɵɵgetCurrentView();\n    i0.ɵɵelementStart(0, \"button\", 17);\n    i0.ɵɵlistener(\"click\", function ConfiguracaoMensagensComponent_button_87_Template_button_click_0_listener() {\n      i0.ɵɵrestoreView(_r4);\n      const ctx_r2 = i0.ɵɵnextContext();\n      return i0.ɵɵresetView(ctx_r2.saveConfigurations());\n    });\n    i0.ɵɵtext(1, \"Salvar\");\n    i0.ɵɵelementEnd();\n  }\n}\nfunction ConfiguracaoMensagensComponent_button_88_Template(rf, ctx) {\n  if (rf & 1) {\n    const _r5 = i0.ɵɵgetCurrentView();\n    i0.ɵɵelementStart(0, \"button\", 18);\n    i0.ɵɵlistener(\"click\", function ConfiguracaoMensagensComponent_button_88_Template_button_click_0_listener() {\n      i0.ɵɵrestoreView(_r5);\n      const ctx_r2 = i0.ɵɵnextContext();\n      return i0.ɵɵresetView(ctx_r2.onCancelEdit());\n    });\n    i0.ɵɵtext(1, \"Cancelar\");\n    i0.ɵɵelementEnd();\n  }\n}\nexport let ConfiguracaoMensagensComponent = /*#__PURE__*/(() => {\n  class ConfiguracaoMensagensComponent {\n    constructor(http, clientService) {\n      this.http = http;\n      this.clientService = clientService;\n      this.availableDisplays = [];\n      this.selectedDisplay = '';\n      // Configurações\n      this.v_id_type_operation_message = 0;\n      this.v_id_type_directions_message = 0;\n      this.v_shine_message = 0;\n      this.v_velocity_text_message = 0;\n      this.v_r_type_color = 0;\n      this.v_g_type_color = 0;\n      this.v_b_type_color = 0;\n      this.textMessage = '';\n      // Estado\n      this.saved = false;\n      this.isEditMode = false;\n      // Cliente selecionado\n      this.selectedClientId = '';\n      // IDs do display escolhido\n      this.idDevice = null;\n      this.idIODevice = null;\n    }\n    ngOnInit() {\n      this.clientService.selectedClient$.subscribe(clientId => {\n        this.selectedClientId = clientId;\n        console.log('Cliente selecionado:', this.selectedClientId);\n        this.getAvailableDisplays();\n      });\n      this.resetConfiguration();\n    }\n    getAvailableDisplays() {\n      if (!this.selectedClientId) {\n        console.error('Nenhum cliente selecionado');\n        return;\n      }\n      const apiUrl = environment.apiUrlBackEndExternaApiDB; // ex.: https://spark.engetera.com.br/apiDB\n      const url = `${apiUrl}/v1/available-displays?customer=${this.selectedClientId}-1`;\n      console.log(`GET displays: ${url}`);\n      const headers = new HttpHeaders({\n        device: 'manager'\n      });\n      this.http.get(url, {\n        headers\n      }).subscribe({\n        next: data => {\n          console.log('Displays recebidos:', data);\n          this.availableDisplays = data ?? [];\n          if (this.availableDisplays.length > 0) {\n            this.selectedDisplay = this.availableDisplays[0].physical_name_io_device;\n            this.applyDisplayConfiguration(this.availableDisplays[0]);\n          }\n        },\n        error: err => {\n          console.error('Erro ao buscar displays disponíveis:', err);\n        }\n      });\n    }\n    // Ao trocar no combo, usamos o array já carregado\n    onDisplayChange(event) {\n      const selectedPhysicalName = event?.target?.value ?? '';\n      const selected = this.availableDisplays.find(d => d.physical_name_io_device === selectedPhysicalName);\n      if (!selected) {\n        console.error('Display não encontrado:', selectedPhysicalName);\n        return;\n      }\n      this.applyDisplayConfiguration(selected);\n    }\n    applyDisplayConfiguration(displayData) {\n      const idDevice = displayData?.id_device_io_device;\n      const idIODevice = displayData?.id_io_device;\n      console.log('Aplicando configuração do display:', displayData);\n      this.v_id_type_operation_message = displayData?.id_type_operation_message ?? 0;\n      this.v_id_type_directions_message = displayData?.id_type_directions_message ?? 0;\n      this.v_shine_message = displayData?.shine_message ?? 0;\n      this.v_velocity_text_message = displayData?.velocity_text_message ?? 0;\n      this.v_r_type_color = displayData?.r_type_color ?? 0;\n      this.v_g_type_color = displayData?.g_type_color ?? 0;\n      this.v_b_type_color = displayData?.b_type_color ?? 0;\n      this.textMessage = displayData?.text_message ?? '';\n      this.idDevice = idDevice ?? null;\n      this.idIODevice = idIODevice ?? null;\n    }\n    onRadioChange(option) {\n      switch (option) {\n        case 'lotado':\n          this.v_id_type_operation_message = 1;\n          break;\n        case 'personalizado':\n          this.v_id_type_operation_message = 2;\n          break;\n        case 'vagas':\n          this.v_id_type_operation_message = 3;\n          break;\n        case 'dinamico':\n          this.v_id_type_directions_message = 2;\n          break;\n        case 'fixo':\n          this.v_id_type_directions_message = 3;\n          break;\n        case '0':\n          this.v_shine_message = 0;\n          break;\n        case '25':\n          this.v_shine_message = 25;\n          break;\n        case '50':\n          this.v_shine_message = 50;\n          break;\n        case '75':\n          this.v_shine_message = 75;\n          break;\n        case '100':\n          this.v_shine_message = 100;\n          break;\n        case 'alto':\n          this.v_velocity_text_message = 100;\n          break;\n        case 'medio':\n          this.v_velocity_text_message = 50;\n          break;\n        case 'baixo':\n          this.v_velocity_text_message = 0;\n          break;\n        case 'white':\n          this.v_r_type_color = 255;\n          this.v_g_type_color = 255;\n          this.v_b_type_color = 255;\n          break;\n        case 'red':\n          this.v_r_type_color = 255;\n          this.v_g_type_color = 0;\n          this.v_b_type_color = 0;\n          break;\n        case 'green':\n          this.v_r_type_color = 0;\n          this.v_g_type_color = 255;\n          this.v_b_type_color = 0;\n          break;\n        case 'blue':\n          this.v_r_type_color = 0;\n          this.v_g_type_color = 0;\n          this.v_b_type_color = 255;\n          break;\n        case 'yellow':\n          this.v_r_type_color = 255;\n          this.v_g_type_color = 255;\n          this.v_b_type_color = 0;\n          break;\n        default:\n          console.error('Opção inválida:', option);\n      }\n    }\n    saveConfigurations() {\n      if (!this.selectedClientId) {\n        console.error('Nenhum cliente selecionado');\n        return;\n      }\n      if (this.idDevice == null || this.idIODevice == null) {\n        console.error('idDevice ou idIODevice não definido');\n        return;\n      }\n      const apiUrl = environment.apiUrlBackEndExternaApiDB; // ex.: https://spark.engetera.com.br/apiDB\n      const id_customer = Number(this.selectedClientId); // garante número\n      // >>> JSON vai no PATH <<<\n      const pathParams = {\n        id_customer,\n        id_park: 1,\n        id_device: this.idDevice,\n        id_io_device: this.idIODevice\n      };\n      const encoded = encodeURIComponent(JSON.stringify(pathParams));\n      const url = `${apiUrl}/v1/update-display/${encoded}`;\n      // body SOMENTE com os campos de mensagem (como no seu cURL)\n      const body = {\n        text_message: this.textMessage,\n        r_type_color: this.v_r_type_color,\n        g_type_color: this.v_g_type_color,\n        b_type_color: this.v_b_type_color,\n        shine_message: this.v_shine_message,\n        id_type_size_message: 1,\n        id_type_operation_message: this.v_id_type_operation_message,\n        velocity_text_message: this.v_velocity_text_message,\n        id_io_device: this.idIODevice,\n        id_device_io_device: this.idDevice,\n        physical_name_io_device: this.selectedDisplay,\n        id_type_directions_message: this.v_id_type_directions_message\n        // Os dois abaixo só inclua se sua API realmente exigir sempre:\n        // id_type_directions_pointer_fk_message_pointer: 3,\n        // id_type_position_pointer_id_fk_message_pointer: 1,\n        // st_color_fk_message_pointer: 16777215,\n        // nd_color_fk_message_pointer: 16777215\n      };\n      const headers = new HttpHeaders({\n        'Content-Type': 'application/json',\n        'device': 'manager'\n      });\n      console.log('POST', url, 'BODY:', body);\n      this.http.post(url, body, {\n        headers\n      }).subscribe({\n        next: response => {\n          console.log('Configurações atualizadas com sucesso!', response);\n          alert('Configurações atualizadas com sucesso!');\n          this.saved = true;\n          this.isEditMode = false;\n        },\n        error: error => {\n          console.error('Erro ao atualizar as configurações:', error);\n          alert('Ocorreu um erro ao atualizar as configurações.');\n        }\n      });\n    }\n    resetConfiguration() {\n      this.v_id_type_operation_message = 0;\n      this.v_id_type_directions_message = 0;\n      this.v_shine_message = 0;\n      this.v_velocity_text_message = 0;\n      this.v_r_type_color = 0;\n      this.v_g_type_color = 0;\n      this.v_b_type_color = 0;\n      this.textMessage = '';\n      this.saved = false;\n      // não zera idDevice/idIODevice aqui para não perder a seleção atual\n    }\n    onEditMessage() {\n      this.isEditMode = true;\n    }\n    onCancelEdit() {\n      this.isEditMode = false;\n      this.resetConfiguration();\n    }\n    static #_ = this.ɵfac = function ConfiguracaoMensagensComponent_Factory(t) {\n      return new (t || ConfiguracaoMensagensComponent)(i0.ɵɵdirectiveInject(i1.HttpClient), i0.ɵɵdirectiveInject(i2.ClientService));\n    };\n    static #_2 = this.ɵcmp = /*@__PURE__*/i0.ɵɵdefineComponent({\n      type: ConfiguracaoMensagensComponent,\n      selectors: [[\"app-configuracao-mensagens\"]],\n      decls: 89,\n      vars: 42,\n      consts: [[1, \"configuration-group\"], [\"for\", \"displaySelect\"], [\"id\", \"displaySelect\", 1, \"form-control\", 3, \"change\"], [3, \"value\", 4, \"ngFor\", \"ngForOf\"], [1, \"radio-buttons-group\"], [\"type\", \"radio\", \"name\", \"operation\", 3, \"change\", \"checked\", \"disabled\"], [\"type\", \"radio\", \"name\", \"direcao\", 3, \"change\", \"checked\", \"disabled\"], [\"type\", \"radio\", \"name\", \"shine\", 3, \"change\", \"checked\", \"disabled\"], [\"type\", \"radio\", \"name\", \"velocidade\", 3, \"change\", \"checked\", \"disabled\"], [\"type\", \"radio\", \"name\", \"cor\", 3, \"change\", \"checked\", \"disabled\"], [\"rows\", \"4\", \"placeholder\", \"Digite o texto personalizado...\", 1, \"custom-textbox\", 3, \"ngModelChange\", \"ngModel\", \"disabled\"], [1, \"button-group\"], [\"class\", \"btn btn-primary\", 3, \"click\", 4, \"ngIf\"], [\"class\", \"btn btn-success\", 3, \"click\", 4, \"ngIf\"], [\"class\", \"btn btn-danger\", 3, \"click\", 4, \"ngIf\"], [3, \"value\"], [1, \"btn\", \"btn-primary\", 3, \"click\"], [1, \"btn\", \"btn-success\", 3, \"click\"], [1, \"btn\", \"btn-danger\", 3, \"click\"]],\n      template: function ConfiguracaoMensagensComponent_Template(rf, ctx) {\n        if (rf & 1) {\n          i0.ɵɵelementStart(0, \"div\", 0)(1, \"div\")(2, \"label\", 1);\n          i0.ɵɵtext(3, \"Selecione um Display:\");\n          i0.ɵɵelementEnd();\n          i0.ɵɵelementStart(4, \"select\", 2);\n          i0.ɵɵlistener(\"change\", function ConfiguracaoMensagensComponent_Template_select_change_4_listener($event) {\n            return ctx.onDisplayChange($event);\n          });\n          i0.ɵɵtemplate(5, ConfiguracaoMensagensComponent_option_5_Template, 2, 2, \"option\", 3);\n          i0.ɵɵelementEnd()()();\n          i0.ɵɵelementStart(6, \"div\", 0)(7, \"h3\");\n          i0.ɵɵtext(8, \"Modo de Opera\\u00E7\\u00E3o\");\n          i0.ɵɵelementEnd();\n          i0.ɵɵelementStart(9, \"div\", 4)(10, \"label\")(11, \"input\", 5);\n          i0.ɵɵlistener(\"change\", function ConfiguracaoMensagensComponent_Template_input_change_11_listener() {\n            return ctx.onRadioChange(\"lotado\");\n          });\n          i0.ɵɵelementEnd();\n          i0.ɵɵtext(12, \" Lotado \");\n          i0.ɵɵelementEnd();\n          i0.ɵɵelementStart(13, \"label\")(14, \"input\", 5);\n          i0.ɵɵlistener(\"change\", function ConfiguracaoMensagensComponent_Template_input_change_14_listener() {\n            return ctx.onRadioChange(\"personalizado\");\n          });\n          i0.ɵɵelementEnd();\n          i0.ɵɵtext(15, \" Personalizado \");\n          i0.ɵɵelementEnd();\n          i0.ɵɵelementStart(16, \"label\")(17, \"input\", 5);\n          i0.ɵɵlistener(\"change\", function ConfiguracaoMensagensComponent_Template_input_change_17_listener() {\n            return ctx.onRadioChange(\"vagas\");\n          });\n          i0.ɵɵelementEnd();\n          i0.ɵɵtext(18, \" Vagas \");\n          i0.ɵɵelementEnd()()();\n          i0.ɵɵelementStart(19, \"div\", 0)(20, \"h3\");\n          i0.ɵɵtext(21, \"Dire\\u00E7\\u00E3o da Mensagem\");\n          i0.ɵɵelementEnd();\n          i0.ɵɵelementStart(22, \"div\", 4)(23, \"label\")(24, \"input\", 6);\n          i0.ɵɵlistener(\"change\", function ConfiguracaoMensagensComponent_Template_input_change_24_listener() {\n            return ctx.onRadioChange(\"dinamico\");\n          });\n          i0.ɵɵelementEnd();\n          i0.ɵɵtext(25, \" Din\\u00E2mico \");\n          i0.ɵɵelementEnd();\n          i0.ɵɵelementStart(26, \"label\")(27, \"input\", 6);\n          i0.ɵɵlistener(\"change\", function ConfiguracaoMensagensComponent_Template_input_change_27_listener() {\n            return ctx.onRadioChange(\"fixo\");\n          });\n          i0.ɵɵelementEnd();\n          i0.ɵɵtext(28, \" Fixo \");\n          i0.ɵɵelementEnd()()();\n          i0.ɵɵelementStart(29, \"div\", 0)(30, \"h3\");\n          i0.ɵɵtext(31, \"Brilho da Mensagem\");\n          i0.ɵɵelementEnd();\n          i0.ɵɵelementStart(32, \"div\", 4)(33, \"label\")(34, \"input\", 7);\n          i0.ɵɵlistener(\"change\", function ConfiguracaoMensagensComponent_Template_input_change_34_listener() {\n            return ctx.onRadioChange(\"0\");\n          });\n          i0.ɵɵelementEnd();\n          i0.ɵɵtext(35, \" 0% \");\n          i0.ɵɵelementEnd();\n          i0.ɵɵelementStart(36, \"label\")(37, \"input\", 7);\n          i0.ɵɵlistener(\"change\", function ConfiguracaoMensagensComponent_Template_input_change_37_listener() {\n            return ctx.onRadioChange(\"25\");\n          });\n          i0.ɵɵelementEnd();\n          i0.ɵɵtext(38, \" 25% \");\n          i0.ɵɵelementEnd();\n          i0.ɵɵelementStart(39, \"label\")(40, \"input\", 7);\n          i0.ɵɵlistener(\"change\", function ConfiguracaoMensagensComponent_Template_input_change_40_listener() {\n            return ctx.onRadioChange(\"50\");\n          });\n          i0.ɵɵelementEnd();\n          i0.ɵɵtext(41, \" 50% \");\n          i0.ɵɵelementEnd();\n          i0.ɵɵelementStart(42, \"label\")(43, \"input\", 7);\n          i0.ɵɵlistener(\"change\", function ConfiguracaoMensagensComponent_Template_input_change_43_listener() {\n            return ctx.onRadioChange(\"75\");\n          });\n          i0.ɵɵelementEnd();\n          i0.ɵɵtext(44, \" 75% \");\n          i0.ɵɵelementEnd();\n          i0.ɵɵelementStart(45, \"label\")(46, \"input\", 7);\n          i0.ɵɵlistener(\"change\", function ConfiguracaoMensagensComponent_Template_input_change_46_listener() {\n            return ctx.onRadioChange(\"100\");\n          });\n          i0.ɵɵelementEnd();\n          i0.ɵɵtext(47, \" 100% \");\n          i0.ɵɵelementEnd()()();\n          i0.ɵɵelementStart(48, \"div\", 0)(49, \"h3\");\n          i0.ɵɵtext(50, \"Velocidade da Mensagem\");\n          i0.ɵɵelementEnd();\n          i0.ɵɵelementStart(51, \"div\", 4)(52, \"label\")(53, \"input\", 8);\n          i0.ɵɵlistener(\"change\", function ConfiguracaoMensagensComponent_Template_input_change_53_listener() {\n            return ctx.onRadioChange(\"alto\");\n          });\n          i0.ɵɵelementEnd();\n          i0.ɵɵtext(54, \" Alto \");\n          i0.ɵɵelementEnd();\n          i0.ɵɵelementStart(55, \"label\")(56, \"input\", 8);\n          i0.ɵɵlistener(\"change\", function ConfiguracaoMensagensComponent_Template_input_change_56_listener() {\n            return ctx.onRadioChange(\"medio\");\n          });\n          i0.ɵɵelementEnd();\n          i0.ɵɵtext(57, \" M\\u00E9dio \");\n          i0.ɵɵelementEnd();\n          i0.ɵɵelementStart(58, \"label\")(59, \"input\", 8);\n          i0.ɵɵlistener(\"change\", function ConfiguracaoMensagensComponent_Template_input_change_59_listener() {\n            return ctx.onRadioChange(\"baixo\");\n          });\n          i0.ɵɵelementEnd();\n          i0.ɵɵtext(60, \" Baixo \");\n          i0.ɵɵelementEnd()()();\n          i0.ɵɵelementStart(61, \"div\", 0)(62, \"h3\");\n          i0.ɵɵtext(63, \"Cor da Mensagem\");\n          i0.ɵɵelementEnd();\n          i0.ɵɵelementStart(64, \"div\", 4)(65, \"label\")(66, \"input\", 9);\n          i0.ɵɵlistener(\"change\", function ConfiguracaoMensagensComponent_Template_input_change_66_listener() {\n            return ctx.onRadioChange(\"white\");\n          });\n          i0.ɵɵelementEnd();\n          i0.ɵɵtext(67, \" Branco \");\n          i0.ɵɵelementEnd();\n          i0.ɵɵelementStart(68, \"label\")(69, \"input\", 9);\n          i0.ɵɵlistener(\"change\", function ConfiguracaoMensagensComponent_Template_input_change_69_listener() {\n            return ctx.onRadioChange(\"red\");\n          });\n          i0.ɵɵelementEnd();\n          i0.ɵɵtext(70, \" Vermelho \");\n          i0.ɵɵelementEnd();\n          i0.ɵɵelementStart(71, \"label\")(72, \"input\", 9);\n          i0.ɵɵlistener(\"change\", function ConfiguracaoMensagensComponent_Template_input_change_72_listener() {\n            return ctx.onRadioChange(\"green\");\n          });\n          i0.ɵɵelementEnd();\n          i0.ɵɵtext(73, \" Verde \");\n          i0.ɵɵelementEnd();\n          i0.ɵɵelementStart(74, \"label\")(75, \"input\", 9);\n          i0.ɵɵlistener(\"change\", function ConfiguracaoMensagensComponent_Template_input_change_75_listener() {\n            return ctx.onRadioChange(\"blue\");\n          });\n          i0.ɵɵelementEnd();\n          i0.ɵɵtext(76, \" Azul \");\n          i0.ɵɵelementEnd();\n          i0.ɵɵelementStart(77, \"label\")(78, \"input\", 9);\n          i0.ɵɵlistener(\"change\", function ConfiguracaoMensagensComponent_Template_input_change_78_listener() {\n            return ctx.onRadioChange(\"yellow\");\n          });\n          i0.ɵɵelementEnd();\n          i0.ɵɵtext(79, \" Amarelo \");\n          i0.ɵɵelementEnd()()();\n          i0.ɵɵelementStart(80, \"div\", 0)(81, \"h3\");\n          i0.ɵɵtext(82, \"Texto Personalizado\");\n          i0.ɵɵelementEnd();\n          i0.ɵɵelementStart(83, \"textarea\", 10);\n          i0.ɵɵtwoWayListener(\"ngModelChange\", function ConfiguracaoMensagensComponent_Template_textarea_ngModelChange_83_listener($event) {\n            i0.ɵɵtwoWayBindingSet(ctx.textMessage, $event) || (ctx.textMessage = $event);\n            return $event;\n          });\n          i0.ɵɵelementEnd()();\n          i0.ɵɵelementStart(84, \"div\", 0)(85, \"div\", 11);\n          i0.ɵɵtemplate(86, ConfiguracaoMensagensComponent_button_86_Template, 2, 0, \"button\", 12)(87, ConfiguracaoMensagensComponent_button_87_Template, 2, 0, \"button\", 13)(88, ConfiguracaoMensagensComponent_button_88_Template, 2, 0, \"button\", 14);\n          i0.ɵɵelementEnd()();\n        }\n        if (rf & 2) {\n          i0.ɵɵadvance(5);\n          i0.ɵɵproperty(\"ngForOf\", ctx.availableDisplays);\n          i0.ɵɵadvance(6);\n          i0.ɵɵproperty(\"checked\", ctx.v_id_type_operation_message === 1)(\"disabled\", !ctx.isEditMode);\n          i0.ɵɵadvance(3);\n          i0.ɵɵproperty(\"checked\", ctx.v_id_type_operation_message === 2)(\"disabled\", !ctx.isEditMode);\n          i0.ɵɵadvance(3);\n          i0.ɵɵproperty(\"checked\", ctx.v_id_type_operation_message === 3)(\"disabled\", !ctx.isEditMode);\n          i0.ɵɵadvance(7);\n          i0.ɵɵproperty(\"checked\", ctx.v_id_type_directions_message === 2)(\"disabled\", !ctx.isEditMode);\n          i0.ɵɵadvance(3);\n          i0.ɵɵproperty(\"checked\", ctx.v_id_type_directions_message === 3)(\"disabled\", !ctx.isEditMode);\n          i0.ɵɵadvance(7);\n          i0.ɵɵproperty(\"checked\", ctx.v_shine_message === 0)(\"disabled\", !ctx.isEditMode);\n          i0.ɵɵadvance(3);\n          i0.ɵɵproperty(\"checked\", ctx.v_shine_message === 25)(\"disabled\", !ctx.isEditMode);\n          i0.ɵɵadvance(3);\n          i0.ɵɵproperty(\"checked\", ctx.v_shine_message === 50)(\"disabled\", !ctx.isEditMode);\n          i0.ɵɵadvance(3);\n          i0.ɵɵproperty(\"checked\", ctx.v_shine_message === 75)(\"disabled\", !ctx.isEditMode);\n          i0.ɵɵadvance(3);\n          i0.ɵɵproperty(\"checked\", ctx.v_shine_message === 100)(\"disabled\", !ctx.isEditMode);\n          i0.ɵɵadvance(7);\n          i0.ɵɵproperty(\"checked\", ctx.v_velocity_text_message === 100)(\"disabled\", !ctx.isEditMode);\n          i0.ɵɵadvance(3);\n          i0.ɵɵproperty(\"checked\", ctx.v_velocity_text_message === 50)(\"disabled\", !ctx.isEditMode);\n          i0.ɵɵadvance(3);\n          i0.ɵɵproperty(\"checked\", ctx.v_velocity_text_message === 0)(\"disabled\", !ctx.isEditMode);\n          i0.ɵɵadvance(7);\n          i0.ɵɵproperty(\"checked\", ctx.v_r_type_color === 255 && ctx.v_g_type_color === 255 && ctx.v_b_type_color === 255)(\"disabled\", !ctx.isEditMode);\n          i0.ɵɵadvance(3);\n          i0.ɵɵproperty(\"checked\", ctx.v_r_type_color === 255 && ctx.v_g_type_color === 0 && ctx.v_b_type_color === 0)(\"disabled\", !ctx.isEditMode);\n          i0.ɵɵadvance(3);\n          i0.ɵɵproperty(\"checked\", ctx.v_r_type_color === 0 && ctx.v_g_type_color === 255 && ctx.v_b_type_color === 0)(\"disabled\", !ctx.isEditMode);\n          i0.ɵɵadvance(3);\n          i0.ɵɵproperty(\"checked\", ctx.v_r_type_color === 0 && ctx.v_g_type_color === 0 && ctx.v_b_type_color === 255)(\"disabled\", !ctx.isEditMode);\n          i0.ɵɵadvance(3);\n          i0.ɵɵproperty(\"checked\", ctx.v_r_type_color === 255 && ctx.v_g_type_color === 255 && ctx.v_b_type_color === 0)(\"disabled\", !ctx.isEditMode);\n          i0.ɵɵadvance(5);\n          i0.ɵɵtwoWayProperty(\"ngModel\", ctx.textMessage);\n          i0.ɵɵproperty(\"disabled\", !ctx.isEditMode);\n          i0.ɵɵadvance(3);\n          i0.ɵɵproperty(\"ngIf\", !ctx.isEditMode);\n          i0.ɵɵadvance();\n          i0.ɵɵproperty(\"ngIf\", ctx.isEditMode);\n          i0.ɵɵadvance();\n          i0.ɵɵproperty(\"ngIf\", ctx.isEditMode);\n        }\n      },\n      dependencies: [i3.NgForOf, i3.NgIf, i4.NgSelectOption, i4.ɵNgSelectMultipleOption, i4.DefaultValueAccessor, i4.NgControlStatus, i4.NgModel],\n      styles: [\".button-group[_ngcontent-%COMP%]{display:flex;gap:10px;margin-bottom:20px}.btn[_ngcontent-%COMP%]{padding:10px 20px;border-radius:5px;cursor:pointer}.btn-primary[_ngcontent-%COMP%]{background-color:#007bff;color:#fff;border:none}.btn-success[_ngcontent-%COMP%]{background-color:#28a745;color:#fff;border:none}.btn-danger[_ngcontent-%COMP%]{background-color:#dc3545;color:#fff;border:none}select[_ngcontent-%COMP%]{width:100%;max-width:400px}option[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\\n\\n/*# sourceMappingURL=configuracao-mensagens.component.css.map*/\"]\n    });\n  }\n  return ConfiguracaoMensagensComponent;\n})();","map":{"version":3,"names":["HttpHeaders","environment","i0","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","ɵɵproperty","display_r1","physical_name_io_device","ɵɵadvance","ɵɵtextInterpolate1","ɵɵlistener","ConfiguracaoMensagensComponent_button_86_Template_button_click_0_listener","ɵɵrestoreView","_r2","ctx_r2","ɵɵnextContext","ɵɵresetView","onEditMessage","ConfiguracaoMensagensComponent_button_87_Template_button_click_0_listener","_r4","saveConfigurations","ConfiguracaoMensagensComponent_button_88_Template_button_click_0_listener","_r5","onCancelEdit","ConfiguracaoMensagensComponent","constructor","http","clientService","availableDisplays","selectedDisplay","v_id_type_operation_message","v_id_type_directions_message","v_shine_message","v_velocity_text_message","v_r_type_color","v_g_type_color","v_b_type_color","textMessage","saved","isEditMode","selectedClientId","idDevice","idIODevice","ngOnInit","selectedClient$","subscribe","clientId","console","log","getAvailableDisplays","resetConfiguration","error","apiUrl","apiUrlBackEndExternaApiDB","url","headers","device","get","next","data","length","applyDisplayConfiguration","err","onDisplayChange","event","selectedPhysicalName","target","value","selected","find","d","displayData","id_device_io_device","id_io_device","id_type_operation_message","id_type_directions_message","shine_message","velocity_text_message","r_type_color","g_type_color","b_type_color","text_message","onRadioChange","option","id_customer","Number","pathParams","id_park","id_device","encoded","encodeURIComponent","JSON","stringify","body","id_type_size_message","post","response","alert","_","ɵɵdirectiveInject","i1","HttpClient","i2","ClientService","_2","selectors","decls","vars","consts","template","ConfiguracaoMensagensComponent_Template","rf","ctx","ConfiguracaoMensagensComponent_Template_select_change_4_listener","$event","ɵɵtemplate","ConfiguracaoMensagensComponent_option_5_Template","ConfiguracaoMensagensComponent_Template_input_change_11_listener","ConfiguracaoMensagensComponent_Template_input_change_14_listener","ConfiguracaoMensagensComponent_Template_input_change_17_listener","ConfiguracaoMensagensComponent_Template_input_change_24_listener","ConfiguracaoMensagensComponent_Template_input_change_27_listener","ConfiguracaoMensagensComponent_Template_input_change_34_listener","ConfiguracaoMensagensComponent_Template_input_change_37_listener","ConfiguracaoMensagensComponent_Template_input_change_40_listener","ConfiguracaoMensagensComponent_Template_input_change_43_listener","ConfiguracaoMensagensComponent_Template_input_change_46_listener","ConfiguracaoMensagensComponent_Template_input_change_53_listener","ConfiguracaoMensagensComponent_Template_input_change_56_listener","ConfiguracaoMensagensComponent_Template_input_change_59_listener","ConfiguracaoMensagensComponent_Template_input_change_66_listener","ConfiguracaoMensagensComponent_Template_input_change_69_listener","ConfiguracaoMensagensComponent_Template_input_change_72_listener","ConfiguracaoMensagensComponent_Template_input_change_75_listener","ConfiguracaoMensagensComponent_Template_input_change_78_listener","ɵɵtwoWayListener","ConfiguracaoMensagensComponent_Template_textarea_ngModelChange_83_listener","ɵɵtwoWayBindingSet","ConfiguracaoMensagensComponent_button_86_Template","ConfiguracaoMensagensComponent_button_87_Template","ConfiguracaoMensagensComponent_button_88_Template","ɵɵtwoWayProperty"],"sources":["/root/rfcontavagas_hom/12.-Servidor-local-Docker/Front-Parking-Angular/src/app/configuracao-mensagens/configuracao-mensagens.component.ts","/root/rfcontavagas_hom/12.-Servidor-local-Docker/Front-Parking-Angular/src/app/configuracao-mensagens/configuracao-mensagens.component.html"],"sourcesContent":["import { Component, OnInit } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { environment } from '../environments/environment';\r\nimport { ClientService } from '../services/client.service';\r\n\r\ninterface Display {\r\n  physical_name_io_device: string;\r\n  id_type_operation_message: number;\r\n  id_type_directions_message: number;\r\n  shine_message: number;\r\n  velocity_text_message: number;\r\n  r_type_color: number;\r\n  g_type_color: number;\r\n  b_type_color: number;\r\n  text_message: string;\r\n  id_io_device: number;\r\n  id_device_io_device: number;\r\n  // (os campos abaixo parecem duplicados com PascalCase; mantive os \"snake\" que de fato você usa)\r\n}\r\n\r\n@Component({\r\n  selector: 'app-configuracao-mensagens',\r\n  templateUrl: './configuracao-mensagens.component.html',\r\n  styleUrls: ['./configuracao-mensagens.component.css']\r\n})\r\nexport class ConfiguracaoMensagensComponent implements OnInit {\r\n  availableDisplays: Display[] = [];\r\n  selectedDisplay: string = '';\r\n\r\n  // Configurações\r\n  v_id_type_operation_message = 0;\r\n  v_id_type_directions_message = 0;\r\n  v_shine_message = 0;\r\n  v_velocity_text_message = 0;\r\n  v_r_type_color = 0;\r\n  v_g_type_color = 0;\r\n  v_b_type_color = 0;\r\n  textMessage = '';\r\n\r\n  // Estado\r\n  saved = false;\r\n  isEditMode = false;\r\n\r\n  // Cliente selecionado\r\n  selectedClientId: string = '';\r\n\r\n  // IDs do display escolhido\r\n  idDevice: number | null = null;\r\n  idIODevice: number | null = null;\r\n\r\n  constructor(private http: HttpClient, private clientService: ClientService) {}\r\n\r\n  ngOnInit(): void {\r\n    this.clientService.selectedClient$.subscribe(clientId => {\r\n      this.selectedClientId = clientId;\r\n      console.log('Cliente selecionado:', this.selectedClientId);\r\n      this.getAvailableDisplays();\r\n    });\r\n\r\n    this.resetConfiguration();\r\n  }\r\n\r\n  getAvailableDisplays(): void {\r\n    if (!this.selectedClientId) {\r\n      console.error('Nenhum cliente selecionado');\r\n      return;\r\n    }\r\n\r\n    const apiUrl = environment.apiUrlBackEndExternaApiDB; // ex.: https://spark.engetera.com.br/apiDB\r\n    const url = `${apiUrl}/v1/available-displays?customer=${this.selectedClientId}-1`;\r\n\r\n    console.log(`GET displays: ${url}`);\r\n\r\n    const headers = new HttpHeaders({ device: 'manager' });\r\n\r\n    this.http.get<Display[]>(url, { headers }).subscribe({\r\n      next: (data) => {\r\n        console.log('Displays recebidos:', data);\r\n        this.availableDisplays = data ?? [];\r\n        if (this.availableDisplays.length > 0) {\r\n          this.selectedDisplay = this.availableDisplays[0].physical_name_io_device;\r\n          this.applyDisplayConfiguration(this.availableDisplays[0]);\r\n        }\r\n      },\r\n      error: (err) => {\r\n        console.error('Erro ao buscar displays disponíveis:', err);\r\n      }\r\n    });\r\n  }\r\n\r\n  // Ao trocar no combo, usamos o array já carregado\r\n  onDisplayChange(event: any): void {\r\n    const selectedPhysicalName: string = event?.target?.value ?? '';\r\n    const selected = this.availableDisplays.find(d => d.physical_name_io_device === selectedPhysicalName);\r\n    if (!selected) {\r\n      console.error('Display não encontrado:', selectedPhysicalName);\r\n      return;\r\n    }\r\n    this.applyDisplayConfiguration(selected);\r\n  }\r\n\r\n  applyDisplayConfiguration(displayData: Display): void {\r\n    const idDevice = displayData?.id_device_io_device;\r\n    const idIODevice = displayData?.id_io_device;\r\n\r\n    console.log('Aplicando configuração do display:', displayData);\r\n\r\n    this.v_id_type_operation_message = displayData?.id_type_operation_message ?? 0;\r\n    this.v_id_type_directions_message = displayData?.id_type_directions_message ?? 0;\r\n    this.v_shine_message = displayData?.shine_message ?? 0;\r\n    this.v_velocity_text_message = displayData?.velocity_text_message ?? 0;\r\n    this.v_r_type_color = displayData?.r_type_color ?? 0;\r\n    this.v_g_type_color = displayData?.g_type_color ?? 0;\r\n    this.v_b_type_color = displayData?.b_type_color ?? 0;\r\n    this.textMessage = displayData?.text_message ?? '';\r\n\r\n    this.idDevice = idDevice ?? null;\r\n    this.idIODevice = idIODevice ?? null;\r\n  }\r\n\r\n  onRadioChange(option: string): void {\r\n    switch (option) {\r\n      case 'lotado':\r\n        this.v_id_type_operation_message = 1; break;\r\n      case 'personalizado':\r\n        this.v_id_type_operation_message = 2; break;\r\n      case 'vagas':\r\n        this.v_id_type_operation_message = 3; break;\r\n\r\n      case 'dinamico':\r\n        this.v_id_type_directions_message = 2; break;\r\n      case 'fixo':\r\n        this.v_id_type_directions_message = 3; break;\r\n\r\n      case '0': this.v_shine_message = 0; break;\r\n      case '25': this.v_shine_message = 25; break;\r\n      case '50': this.v_shine_message = 50; break;\r\n      case '75': this.v_shine_message = 75; break;\r\n      case '100': this.v_shine_message = 100; break;\r\n\r\n      case 'alto': this.v_velocity_text_message = 100; break;\r\n      case 'medio': this.v_velocity_text_message = 50; break;\r\n      case 'baixo': this.v_velocity_text_message = 0; break;\r\n\r\n      case 'white':\r\n        this.v_r_type_color = 255; this.v_g_type_color = 255; this.v_b_type_color = 255; break;\r\n      case 'red':\r\n        this.v_r_type_color = 255; this.v_g_type_color = 0; this.v_b_type_color = 0; break;\r\n      case 'green':\r\n        this.v_r_type_color = 0; this.v_g_type_color = 255; this.v_b_type_color = 0; break;\r\n      case 'blue':\r\n        this.v_r_type_color = 0; this.v_g_type_color = 0; this.v_b_type_color = 255; break;\r\n      case 'yellow':\r\n        this.v_r_type_color = 255; this.v_g_type_color = 255; this.v_b_type_color = 0; break;\r\n\r\n      default:\r\n        console.error('Opção inválida:', option);\r\n    }\r\n  }\r\n\r\n  saveConfigurations(): void {\r\n    if (!this.selectedClientId) {\r\n      console.error('Nenhum cliente selecionado');\r\n      return;\r\n    }\r\n    if (this.idDevice == null || this.idIODevice == null) {\r\n      console.error('idDevice ou idIODevice não definido');\r\n      return;\r\n    }\r\n\r\n    const apiUrl = environment.apiUrlBackEndExternaApiDB; // ex.: https://spark.engetera.com.br/apiDB\r\n    const id_customer = Number(this.selectedClientId); // garante número\r\n\r\n    // >>> JSON vai no PATH <<<\r\n    const pathParams = {\r\n      id_customer,\r\n      id_park: 1,\r\n      id_device: this.idDevice,\r\n      id_io_device: this.idIODevice\r\n    };\r\n    const encoded = encodeURIComponent(JSON.stringify(pathParams));\r\n    const url = `${apiUrl}/v1/update-display/${encoded}`;\r\n\r\n    // body SOMENTE com os campos de mensagem (como no seu cURL)\r\n    const body = {\r\n      text_message: this.textMessage,\r\n      r_type_color: this.v_r_type_color,\r\n      g_type_color: this.v_g_type_color,\r\n      b_type_color: this.v_b_type_color,\r\n      shine_message: this.v_shine_message,\r\n      id_type_size_message: 1, // se precisar, ajuste conforme sua UI\r\n      id_type_operation_message: this.v_id_type_operation_message,\r\n      velocity_text_message: this.v_velocity_text_message,\r\n      id_io_device: this.idIODevice,\r\n      id_device_io_device: this.idDevice,\r\n      physical_name_io_device: this.selectedDisplay,\r\n      id_type_directions_message: this.v_id_type_directions_message,\r\n      // Os dois abaixo só inclua se sua API realmente exigir sempre:\r\n      // id_type_directions_pointer_fk_message_pointer: 3,\r\n      // id_type_position_pointer_id_fk_message_pointer: 1,\r\n      // st_color_fk_message_pointer: 16777215,\r\n      // nd_color_fk_message_pointer: 16777215\r\n    };\r\n\r\n    const headers = new HttpHeaders({\r\n      'Content-Type': 'application/json',\r\n      'device': 'manager'\r\n    });\r\n\r\n    console.log('POST', url, 'BODY:', body);\r\n\r\n    this.http.post(url, body, { headers }).subscribe({\r\n      next: (response) => {\r\n        console.log('Configurações atualizadas com sucesso!', response);\r\n        alert('Configurações atualizadas com sucesso!');\r\n        this.saved = true;\r\n        this.isEditMode = false;\r\n      },\r\n      error: (error) => {\r\n        console.error('Erro ao atualizar as configurações:', error);\r\n        alert('Ocorreu um erro ao atualizar as configurações.');\r\n      }\r\n    });\r\n  }\r\n\r\n  resetConfiguration(): void {\r\n    this.v_id_type_operation_message = 0;\r\n    this.v_id_type_directions_message = 0;\r\n    this.v_shine_message = 0;\r\n    this.v_velocity_text_message = 0;\r\n    this.v_r_type_color = 0;\r\n    this.v_g_type_color = 0;\r\n    this.v_b_type_color = 0;\r\n    this.textMessage = '';\r\n    this.saved = false;\r\n    // não zera idDevice/idIODevice aqui para não perder a seleção atual\r\n  }\r\n\r\n  onEditMessage(): void {\r\n    this.isEditMode = true;\r\n  }\r\n\r\n  onCancelEdit(): void {\r\n    this.isEditMode = false;\r\n    this.resetConfiguration();\r\n  }\r\n}\r\n","<!-- configuracao-mensagens.component.html -->\r\n\r\n<div class=\"configuration-group\">\r\n    <div>\r\n        <label for=\"displaySelect\">Selecione um Display:</label>\r\n        <select id=\"displaySelect\" (change)=\"onDisplayChange($event)\" class=\"form-control\">\r\n            <option *ngFor=\"let display of availableDisplays\" [value]=\"display.physical_name_io_device\">\r\n                {{ display.physical_name_io_device }}\r\n            </option>\r\n        </select>\r\n    </div>\r\n</div>\r\n\r\n<div class=\"configuration-group\">\r\n    <h3>Modo de Operação</h3>\r\n    <div class=\"radio-buttons-group\">\r\n        <label>\r\n            <input type=\"radio\" name=\"operation\" (change)=\"onRadioChange('lotado')\" [checked]=\"v_id_type_operation_message === 1\" [disabled]=\"!isEditMode\" />\r\n            Lotado\r\n        </label>\r\n        <label>\r\n            <input type=\"radio\" name=\"operation\" (change)=\"onRadioChange('personalizado')\" [checked]=\"v_id_type_operation_message === 2\" [disabled]=\"!isEditMode\" />\r\n            Personalizado\r\n        </label>\r\n        <label>\r\n            <input type=\"radio\" name=\"operation\" (change)=\"onRadioChange('vagas')\" [checked]=\"v_id_type_operation_message === 3\" [disabled]=\"!isEditMode\" />\r\n            Vagas\r\n        </label>\r\n    </div>\r\n</div>\r\n\r\n<div class=\"configuration-group\">\r\n    <h3>Direção da Mensagem</h3>\r\n    <div class=\"radio-buttons-group\">\r\n        <label>\r\n            <input type=\"radio\" name=\"direcao\" (change)=\"onRadioChange('dinamico')\" [checked]=\"v_id_type_directions_message === 2\" [disabled]=\"!isEditMode\" />\r\n            Dinâmico\r\n        </label>\r\n        <label>\r\n            <input type=\"radio\" name=\"direcao\" (change)=\"onRadioChange('fixo')\" [checked]=\"v_id_type_directions_message === 3\" [disabled]=\"!isEditMode\" />\r\n            Fixo\r\n        </label>\r\n    </div>\r\n</div>\r\n\r\n<div class=\"configuration-group\">\r\n    <h3>Brilho da Mensagem</h3>\r\n    <div class=\"radio-buttons-group\">\r\n        <label>\r\n            <input type=\"radio\" name=\"shine\" (change)=\"onRadioChange('0')\" [checked]=\"v_shine_message === 0\" [disabled]=\"!isEditMode\" />\r\n            0%\r\n        </label>\r\n        <label>\r\n            <input type=\"radio\" name=\"shine\" (change)=\"onRadioChange('25')\" [checked]=\"v_shine_message === 25\" [disabled]=\"!isEditMode\" />\r\n            25%\r\n        </label>\r\n        <label>\r\n            <input type=\"radio\" name=\"shine\" (change)=\"onRadioChange('50')\" [checked]=\"v_shine_message === 50\" [disabled]=\"!isEditMode\" />\r\n            50%\r\n        </label>\r\n        <label>\r\n            <input type=\"radio\" name=\"shine\" (change)=\"onRadioChange('75')\" [checked]=\"v_shine_message === 75\" [disabled]=\"!isEditMode\" />\r\n            75%\r\n        </label>\r\n        <label>\r\n            <input type=\"radio\" name=\"shine\" (change)=\"onRadioChange('100')\" [checked]=\"v_shine_message === 100\" [disabled]=\"!isEditMode\" />\r\n            100%\r\n        </label>\r\n    </div>\r\n</div>\r\n\r\n<div class=\"configuration-group\">\r\n    <h3>Velocidade da Mensagem</h3>\r\n    <div class=\"radio-buttons-group\">\r\n        <label>\r\n            <input type=\"radio\" name=\"velocidade\" (change)=\"onRadioChange('alto')\" [checked]=\"v_velocity_text_message === 100\" [disabled]=\"!isEditMode\" />\r\n            Alto\r\n        </label>\r\n        <label>\r\n            <input type=\"radio\" name=\"velocidade\" (change)=\"onRadioChange('medio')\" [checked]=\"v_velocity_text_message === 50\" [disabled]=\"!isEditMode\" />\r\n            Médio\r\n        </label>\r\n        <label>\r\n            <input type=\"radio\" name=\"velocidade\" (change)=\"onRadioChange('baixo')\" [checked]=\"v_velocity_text_message === 0\" [disabled]=\"!isEditMode\" />\r\n            Baixo\r\n        </label>\r\n    </div>\r\n</div>\r\n\r\n<div class=\"configuration-group\">\r\n    <h3>Cor da Mensagem</h3>\r\n    <div class=\"radio-buttons-group\">\r\n        <label>\r\n            <input type=\"radio\" name=\"cor\" (change)=\"onRadioChange('white')\" [checked]=\"v_r_type_color === 255 && v_g_type_color === 255 && v_b_type_color === 255\" [disabled]=\"!isEditMode\" />\r\n            Branco\r\n        </label>\r\n        <label>\r\n            <input type=\"radio\" name=\"cor\" (change)=\"onRadioChange('red')\" [checked]=\"v_r_type_color === 255 && v_g_type_color === 0 && v_b_type_color === 0\" [disabled]=\"!isEditMode\" />\r\n            Vermelho\r\n        </label>\r\n        <label>\r\n            <input type=\"radio\" name=\"cor\" (change)=\"onRadioChange('green')\" [checked]=\"v_r_type_color === 0 && v_g_type_color === 255 && v_b_type_color === 0\" [disabled]=\"!isEditMode\" />\r\n            Verde\r\n        </label>\r\n        <label>\r\n            <input type=\"radio\" name=\"cor\" (change)=\"onRadioChange('blue')\" [checked]=\"v_r_type_color === 0 && v_g_type_color === 0 && v_b_type_color === 255\" [disabled]=\"!isEditMode\" />\r\n            Azul\r\n        </label>\r\n        <label>\r\n            <input type=\"radio\" name=\"cor\" (change)=\"onRadioChange('yellow')\" [checked]=\"v_r_type_color === 255 && v_g_type_color === 255 && v_b_type_color === 0\" [disabled]=\"!isEditMode\" />\r\n            Amarelo\r\n        </label>\r\n    </div>\r\n</div>\r\n\r\n<div class=\"configuration-group\">\r\n    <h3>Texto Personalizado</h3>\r\n    <textarea [(ngModel)]=\"textMessage\" class=\"custom-textbox\" rows=\"4\" placeholder=\"Digite o texto personalizado...\" [disabled]=\"!isEditMode\"></textarea>\r\n</div>\r\n\r\n<div class=\"configuration-group\">\r\n    <!-- Botões Editar, Salvar e Cancelar -->\r\n    <div class=\"button-group\">\r\n        <button *ngIf=\"!isEditMode\" (click)=\"onEditMessage()\" class=\"btn btn-primary\">Editar Mensagem</button>\r\n        <button *ngIf=\"isEditMode\" (click)=\"saveConfigurations()\" class=\"btn btn-success\">Salvar</button>\r\n        <button *ngIf=\"isEditMode\" (click)=\"onCancelEdit()\" class=\"btn btn-danger\">Cancelar</button>\r\n    </div>\r\n</div>\r\n\r\n<!-- configuracao-mensagens.component.html -->\r\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}