'Acciones', 'code' => 'Código personal', 'full_name' => 'Nombre Completo', 'email' => 'Correo Electrónico', 'parent_name' => 'Responsable', 'parent_email' => 'Correo Responsable', 'company' => 'Empresa', 'birth_date' => 'Fecha de Nacimiento', 'hire_date' => 'Fecha de Contratación', 'curp' => 'CURP', 'nss' => 'NSS', 'job_title' => 'Puesto', 'rfc' => 'RFC', 'nombre_fiscal' => 'Nombre Fiscal', 'tipo_persona' => 'Tipo de Persona', 'c_regimen_fiscal'=> 'Régimen Fiscal', 'domicilio_fiscal'=> 'Domicilio Fiscal', 'c_uso_cfdi' => 'Clave Uso CFDI', 'uso_cfdi' => 'Uso CFDI', 'profile_photo_path' => 'Foto de Perfil', 'is_partner' => 'Socio', 'is_employee' => 'Empleado', 'is_prospect' => 'Prospecto', 'is_customer' => 'Cliente', 'is_provider' => 'Proveedor', 'is_user' => 'Usuario', 'status' => 'Estatus', 'creator' => 'Creado Por', 'creator_email' => 'Correo Creador', 'created_at' => 'Fecha de Creación', 'updated_at' => 'Última Modificación', ]; } /** * Retorna el formato (formatter) para cada columna. */ protected function format(): array { return [ 'action' => [ 'formatter' => 'contactActionFormatter', 'onlyFormatter' => true, ], 'code' => [ 'formatter' => [ 'name' => 'dynamicBadgeFormatter', 'params' => ['color' => 'secondary'], ], 'align' => 'center', 'switchable' => false, ], 'full_name' => [ 'formatter' => 'contactProfileFormatter', ], 'email' => [ 'formatter' => 'emailFormatter', 'visible' => false, ], 'parent_name' => [ 'formatter' => 'contactParentFormatter', 'visible' => false, ], 'agent_name' => [ 'formatter' => 'agentFormatter', 'visible' => false, ], 'company' => [ 'formatter' => 'textNowrapFormatter', ], 'curp' => [ 'visible' => false, ], 'nss' => [ 'visible' => false, ], 'job_title' => [ 'formatter' => 'textNowrapFormatter', 'visible' => false, ], 'rfc' => [ 'visible' => false, ], 'nombre_fiscal' => [ 'formatter' => 'textNowrapFormatter', 'visible' => false, ], 'domicilio_fiscal' => [ 'visible' => false, ], 'c_uso_cfdi' => [ 'formatter' => 'usoCfdiFormatter', 'visible' => false, ], 'tipo_persona' => [ 'formatter' => 'dynamicBadgeFormatter', 'align' => 'center', 'visible' => false, ], 'c_regimen_fiscal' => [ 'formatter' => 'regimenFiscalFormatter', 'visible' => false, ], 'birth_date' => [ 'align' => 'center', 'visible' => false, ], 'hire_date' => [ 'align' => 'center', 'visible' => false, ], 'estado' => [ 'formatter' => 'textNowrapFormatter', ], 'municipio' => [ 'formatter' => 'textNowrapFormatter', ], 'localidad' => [ 'formatter' => 'textNowrapFormatter', 'visible' => false, ], 'is_partner' => [ 'formatter' => [ 'name' => 'dynamicBooleanFormatter', 'params' => ['tag' => 'checkSI'], ], 'align' => 'center', ], 'is_employee' => [ 'formatter' => [ 'name' => 'dynamicBooleanFormatter', 'params' => ['tag' => 'checkSI'], ], 'align' => 'center', ], 'is_prospect' => [ 'formatter' => [ 'name' => 'dynamicBooleanFormatter', 'params' => ['tag' => 'checkSI'], ], 'align' => 'center', ], 'is_customer' => [ 'formatter' => [ 'name' => 'dynamicBooleanFormatter', 'params' => ['tag' => 'checkSI'], ], 'align' => 'center', ], 'is_provider' => [ 'formatter' => [ 'name' => 'dynamicBooleanFormatter', 'params' => ['tag' => 'checkSI'], ], 'align' => 'center', ], 'is_user' => [ 'formatter' => [ 'name' => 'dynamicBooleanFormatter', 'params' => ['tag' => 'checkSI'], ], 'align' => 'center', ], 'status' => [ 'formatter' => 'statusIntBadgeBgFormatter', 'align' => 'center', ], 'creator' => [ 'formatter' => 'creatorFormatter', 'visible' => false, ], 'created_at' => [ 'formatter' => 'textNowrapFormatter', 'align' => 'center', 'visible' => false, ], 'updated_at' => [ 'formatter' => 'textNowrapFormatter', 'align' => 'center', 'visible' => false, ], ]; } /** * Montamos el componente y llamamos al parent::mount() para configurar la tabla. */ public function mount(): void { parent::mount(); // Definimos las rutas específicas de este componente $this->routes = [ 'admin.user.show' => route('admin.core.users.show', ['user' => ':id']), 'admin.contact.show' => route('admin.contacts.contacts.show', ['contact' => ':id']), 'admin.contact.edit' => route('admin.contacts.contacts.edit', ['contact' => ':id']), 'admin.contact.delete' => route('admin.contacts.contacts.delete', ['contact' => ':id']), ]; } /** * Retorna la vista a renderizar por este componente. */ protected function viewPath(): string { return 'vuexy-contacts::livewire.contacts.index'; } }