{"id":33,"date":"2026-03-02T11:05:42","date_gmt":"2026-03-02T14:05:42","guid":{"rendered":"https:\/\/sites.williarts.com.br\/allent\/?page_id=33"},"modified":"2026-04-27T11:02:24","modified_gmt":"2026-04-27T14:02:24","slug":"ginecologia","status":"publish","type":"page","link":"https:\/\/sites.williarts.com.br\/allent\/ginecologia\/","title":{"rendered":"Ginecologia"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;#009ea5&#8243; custom_padding=&#8221;0px||0px||false|&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_row column_structure=&#8221;2_5,3_5&#8243; use_custom_gutter=&#8221;on&#8221; gutter_width=&#8221;2&#8243; _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; custom_padding=&#8221;0px||0px||true|&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;2_5&#8243; _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;Ubuntu||||||||&#8221; text_text_color=&#8221;#FFFFFF&#8221; text_font_size=&#8221;25px&#8221; custom_margin=&#8221;90px||6px|||&#8221; custom_margin_tablet=&#8221;40px||||false|false&#8221; custom_margin_phone=&#8221;40px||||false|false&#8221; custom_margin_last_edited=&#8221;on|phone&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>PRODUTOS<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;Ubuntu||||||||&#8221; text_text_color=&#8221;#FFFFFF&#8221; text_font_size=&#8221;45px&#8221; text_line_height=&#8221;1.2em&#8221; text_font_size_tablet=&#8221;45px&#8221; text_font_size_phone=&#8221;40px&#8221; text_font_size_last_edited=&#8221;on|phone&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>GINECOLOGIA<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; text_text_color=&#8221;#FFFFFF&#8221; text_font_size=&#8221;16px&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>Tecnologia de ponta e qualidade comprovada em cada produto. <br \/>Solu\u00e7\u00f5es que elevam o padr\u00e3o da medicina brasileira.<\/p>\n<p>[\/et_pb_text][\/et_pb_column][et_pb_column type=&#8221;3_5&#8243; _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_image src=&#8221;https:\/\/sites.williarts.com.br\/allent\/wp-content\/uploads\/2026\/03\/ginecologia.webp&#8221; force_fullwidth=&#8221;on&#8221; _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; custom_margin=&#8221;-5px||-80px||false|false&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; custom_padding=&#8221;75px|||||&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_row _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; width=&#8221;74.1%&#8221; custom_margin=&#8221;||||false|false&#8221; custom_margin_tablet=&#8221;50px||||false|false&#8221; custom_margin_phone=&#8221;50px||||false|false&#8221; custom_margin_last_edited=&#8221;on|phone&#8221; custom_padding=&#8221;1px||1px|0px|true|&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_code _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; min_height=&#8221;45.8px&#8221; global_colors_info=&#8221;{}&#8221;]    <form action='https:\/\/sites.williarts.com.br\/allent\/wp-json\/api\/v1\/equipments' id=\"equipment-form\" method=\"GET\">\r\n\r\n        <select name=\"equipment_category\" id=\"equipment_category\">\r\n            <option value=\"\" disabled selected hidden>Selecione uma categoria<\/option>\r\n            <option value=\"\">Todas as categorias<\/option>\r\n                            <option value=\"20\">Acess\u00f3rios<\/option>\r\n                            <option value=\"36\">Aspirador e Irrigador<\/option>\r\n                            <option value=\"37\">Bainha de Acesso Ureteral<\/option>\r\n                            <option value=\"32\">Bainha de Aspira\u00e7\u00e3o<\/option>\r\n                            <option value=\"44\">Bal\u00e3o Dilatador<\/option>\r\n                            <option value=\"41\">Cateter Duplo J de Silicone<\/option>\r\n                            <option value=\"42\">Cateter Ureteral<\/option>\r\n                            <option value=\"23\">Cateteres Duplo J Termosens\u00edvel<\/option>\r\n                            <option value=\"47\">Clipe para Tecido<\/option>\r\n                            <option value=\"38\">Dilatador Ureteral<\/option>\r\n                            <option value=\"26\">Eletrodos de Ressec\u00e7\u00e3o<\/option>\r\n                            <option value=\"43\">Extrator de C\u00e1lculos<\/option>\r\n                            <option value=\"40\">Extratores<\/option>\r\n                            <option value=\"39\">Fio Guia Nitinol<\/option>\r\n                            <option value=\"24\">Kit Cateter Duplo J com Fio Guia Hidrof\u00edlico<\/option>\r\n                            <option value=\"45\">Kit de Drenagem<\/option>\r\n                            <option value=\"34\">Laser de Abla\u00e7\u00e3o Transperineal<\/option>\r\n                            <option value=\"30\">Laser de Alta Pot\u00eancia<\/option>\r\n                            <option value=\"31\">Morcelador<\/option>\r\n                            <option value=\"33\">Pr\u00f3tese<\/option>\r\n                            <option value=\"46\">Sonda Prost\u00e1tica<\/option>\r\n                            <option value=\"35\">Ureterosc\u00f3pio Flex\u00edvel<\/option>\r\n                    <\/select>\r\n\r\n        <span class=\"name-container\">\r\n            <input type=\"text\" name=\"search\" id=\"search-equipment-name\" placeholder=\"O que voc\u00ea est\u00e1 procurando?\">\r\n        <\/span>\r\n\r\n        <button type=\"submit\" id=\"submit\"><strong>Buscar<\/strong><\/button>\r\n    <\/form>\r\n\r\n\r\n    <script>\r\n        document.addEventListener('DOMContentLoaded', () => {\r\n            const form = document.querySelector(\"#equipment-form\");\r\n            const cardsContainer = document.querySelector(\"#equipment-cards-container\");\r\n            const cardTemplate = document.querySelector(\".card-template\");\r\n            const spinnerContainer = document.querySelector(\"#spinner-container\")\r\n\r\n            const createCard = (data) => {\r\n                const fragment = cardTemplate.content.cloneNode(\".card-template\");\r\n                const card = fragment.querySelector(\".equipment-card\");\r\n                const img = fragment.querySelector(\".equipment-img\");\r\n                const category = fragment.querySelector(\".equipment-description\");\r\n                const name = fragment.querySelector(\".equipment-name\");\r\n                \/\/ const description = fragment.querySelector(\".equipment-description\");\r\n                const url = fragment.querySelector(\".equipment-url\")\r\n\r\n                img.src = data.equipment_img;\r\n                category.innerHTML = data.category;\r\n                name.innerHTML = data.title;\r\n                \/\/ description.innerText = data.description.replace(\/<[^>]*>\/g, '');\r\n                url.href = data.url;\r\n\r\n                cardsContainer.classList.remove(\"hidden\");\r\n\r\n                return card;\r\n            }\r\n\r\n            const getEquipments = async (page = 1) => {\r\n                const data = new FormData(form);\r\n                data.append(\"endpoint\", \"33\")\r\n                data.append(\"page\", page)\r\n\r\n                const params = new URLSearchParams(data).toString()\r\n\r\n                console.log(`${form.action}?${params}`)\r\n\r\n                const response = await fetch(`${form.action}?${params}`, {\r\n                        method: \"GET\",\r\n                    }).then(res => res.json())\r\n                    .then(data => data);\r\n\r\n                return response;\r\n            }\r\n\r\n            const renderEmptyResults = () => {\r\n                cardsContainer.classList.remove(\"hidden\")\r\n                const p = document.createElement(\"p\")\r\n                p.classList.add(\"empty-result\")\r\n                p.innerText = \"Nenhum equipamento encontrado\"\r\n\r\n                cardsContainer.innerHTML = \"\"\r\n                cardsContainer.appendChild(p)\r\n            }\r\n\r\n            const renderEquipments = (results) => {\r\n                if (results.length === 0) {\r\n                    renderEmptyResults()\r\n                    return\r\n                }\r\n\r\n                cardsContainer.innerHTML = \"\";\r\n\r\n                results.forEach(equipment => {\r\n                    const card = createCard(equipment);\r\n                    card.classList.add('fade-in');\r\n                    cardsContainer.appendChild(card)\r\n                })\r\n            }\r\n\r\n            window.loadEvents = async (page = 1) => {\r\n                if (form.classList.contains(\"loading\")) return;\r\n\r\n                const spinner = createSpinner();\r\n\r\n                if (cardsContainer.hasChildNodes())\r\n                    cardsContainer.classList.add(\"hidden\")\r\n\r\n                spinnerContainer.appendChild(spinner);\r\n\r\n                form.classList.add(\"loading\");\r\n\r\n                const response = await getEquipments(page)\r\n\r\n                renderEquipments(response.results)\r\n\r\n                spinnerContainer.innerHTML = \"\";\r\n                form.classList.remove(\"loading\");\r\n\r\n                createPagination(response.totalPages, page);\r\n            }\r\n\r\n            form.addEventListener('submit', (event) => {\r\n                event.preventDefault();\r\n                loadEvents()\r\n            })\r\n\r\n            loadEvents()\r\n        })\r\n    <\/script>\r\n[\/et_pb_code][et_pb_code _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; custom_margin=&#8221;||8px|||&#8221; global_colors_info=&#8221;{}&#8221;]    <template class=\"card-template\">\r\n        <div class=\"equipment-card\">\r\n            <img decoding=\"async\" src=\"\" alt=\"\" class=\"equipment-img\">\r\n            <b>\r\n                <span class=\"equipment-name\"><\/span>\r\n            <\/b>\r\n            <p class=\"equipment-description\"><\/p>\r\n            <a href=\"\" class=\"equipment-url\">\r\n                <button class=\"equipment-card-button\"><b>Ver detalhes<\/b><\/button>\r\n            <\/a>\r\n        <\/div>\r\n    <\/template>\r\n\r\n    <div id=\"equipment-cards-container\"><\/div>\r\n\r\n        <template id=\"spinner-template\">\r\n        <div class=\"spinner-container\">\r\n            <div class=\"spinner-overlay\">\r\n                <div class=\"spinner\"><\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/template>\r\n\r\n    <div id=\"spinner-container\"><\/div>\r\n\r\n    <script>\r\n        const spinnerContainer = document.querySelector(\"#spinner-container\")\r\n        const spinnerTemplate = document.querySelector(\"#spinner-template\");\r\n\r\n        const createSpinner = () => {\r\n            const fragment = spinnerTemplate.content.cloneNode(true);\r\n            return fragment;\r\n        }\r\n    <\/script>\r\n        <div id=\"pagination\"><\/div>\r\n\r\n    <script>\r\n        const paginationContainer = document.querySelector(\"#pagination\")\r\n\r\n        const createPagination = (totalPages, currentPage, ) => {\r\n            paginationContainer.innerHTML = \"\";\r\n\r\n            const createButton = (page) => {\r\n                const button = document.createElement(\"button\");\r\n                button.textContent = page;\r\n\r\n                if (page === currentPage) {\r\n                    button.disabled = true;\r\n                    button.classList.add(\"active\");\r\n                }\r\n\r\n                button.addEventListener('click', (e) => {\r\n                    e.preventDefault();\r\n                    loadEvents(page);\r\n                });\r\n\r\n                return button;\r\n            };\r\n\r\n            const createDots = () => {\r\n                const span = document.createElement(\"span\");\r\n                span.textContent = \"...\";\r\n                return span;\r\n            };\r\n\r\n            \/\/ Sempre mostra a primeira p\u00e1gina\r\n            paginationContainer.appendChild(createButton(1));\r\n\r\n            \/\/ Intervalo ao redor da p\u00e1gina atual\r\n            const range = 1; \/\/ pode aumentar pra 2 se quiser mais p\u00e1ginas vis\u00edveis\r\n\r\n            let start = Math.max(2, currentPage - range);\r\n            let end = Math.min(totalPages - 1, currentPage + range);\r\n\r\n            \/\/ Se tiver gap antes\r\n            if (start > 2) {\r\n                paginationContainer.appendChild(createDots());\r\n            }\r\n\r\n            \/\/ P\u00e1ginas do meio\r\n            for (let i = start; i <= end; i++) {\r\n                paginationContainer.appendChild(createButton(i));\r\n            }\r\n\r\n            \/\/ Se tiver gap depois\r\n            if (end < totalPages - 1) {\r\n                paginationContainer.appendChild(createDots());\r\n            }\r\n\r\n            \/\/ Sempre mostra a \u00faltima p\u00e1gina (se n\u00e3o for a mesma que a primeira)\r\n            if (totalPages > 1) {\r\n                paginationContainer.appendChild(createButton(totalPages));\r\n            }\r\n        };\r\n    <\/script>\r\n\r\n\r\n[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;#f2f3f4&#8243; background_image=&#8221;https:\/\/sites.williarts.com.br\/allent\/wp-content\/uploads\/2026\/03\/Grupo-de-mascara-2.webp&#8221; background_size=&#8221;initial&#8221; background_position=&#8221;bottom_right&#8221; background_horizontal_offset=&#8221;-20%&#8221; custom_margin=&#8221;-1px||||false|false&#8221; custom_padding=&#8221;40px||40px||true|&#8221; background_last_edited=&#8221;on|phone&#8221; background_enable_image_tablet=&#8221;off&#8221; global_module=&#8221;302&#8243; saved_tabs=&#8221;all&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_row column_structure=&#8221;1_2,1_2&#8243; use_custom_gutter=&#8221;on&#8221; gutter_width=&#8221;2&#8243; _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; width=&#8221;35%&#8221; width_tablet=&#8221;40%&#8221; width_phone=&#8221;80%&#8221; width_last_edited=&#8221;on|tablet&#8221; custom_padding=&#8221;3px||3px||true|&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;1_2&#8243; _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;Ubuntu|700|||||||&#8221; text_text_color=&#8221;#009ea5&#8243; text_font_size=&#8221;22px&#8221; custom_margin=&#8221;||13px|||&#8221; text_orientation_tablet=&#8221;&#8221; text_orientation_phone=&#8221;center&#8221; text_orientation_last_edited=&#8221;on|phone&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>BLOG<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;Ubuntu|700|||||||&#8221; text_text_color=&#8221;#0d3d63&#8243; text_font_size=&#8221;45px&#8221; text_orientation_tablet=&#8221;&#8221; text_orientation_phone=&#8221;center&#8221; text_orientation_last_edited=&#8221;on|phone&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>ALLENT<\/p>\n<p>[\/et_pb_text][\/et_pb_column][et_pb_column type=&#8221;1_2&#8243; _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; text_text_color=&#8221;#121212&#8243; text_font_size=&#8221;16px&#8221; custom_margin=&#8221;12px||||false|false&#8221; custom_margin_tablet=&#8221;0px||||false|false&#8221; custom_margin_phone=&#8221;0px||||false|false&#8221; custom_margin_last_edited=&#8221;on|phone&#8221; text_orientation_tablet=&#8221;&#8221; text_orientation_phone=&#8221;center&#8221; text_orientation_last_edited=&#8221;on|phone&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>Fique por dentro das principais not\u00edcias e eventos da \u00e1rea.<\/p>\n<p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; custom_margin=&#8221;31px|auto||auto||&#8221; custom_padding=&#8221;0px||0px||true|&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_blog fullwidth=&#8221;off&#8221; posts_number=&#8221;3&#8243; include_categories=&#8221;4133&#8243; meta_date=&#8221;j %92d%92e F | Y&#8221; excerpt_length=&#8221;100&#8243; show_more=&#8221;on&#8221; show_author=&#8221;off&#8221; show_date=&#8221;off&#8221; show_pagination=&#8221;off&#8221; masonry_tile_background_color=&#8221;#FFFFFF&#8221; _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; header_font=&#8221;|700|||||||&#8221; header_text_color=&#8221;#0d0d0d&#8221; header_font_size=&#8221;18px&#8221; header_line_height=&#8221;1.1em&#8221; body_font=&#8221;||||||||&#8221; body_text_color=&#8221;#707070&#8243; body_font_size=&#8221;15px&#8221; meta_font=&#8221;|600||on|||||&#8221; meta_text_color=&#8221;#009ea5&#8243; meta_font_size=&#8221;13px&#8221; read_more_font=&#8221;|700||on|on||||&#8221; read_more_text_color=&#8221;#006596&#8243; pagination_font=&#8221;|700||on|||||&#8221; pagination_text_color=&#8221;#454545&#8243; pagination_font_size=&#8221;16px&#8221; custom_margin=&#8221;||2px||false|false&#8221; custom_padding=&#8221;||||false|false&#8221; border_radii=&#8221;on|0px|0px|0px|0px&#8221; border_width_all=&#8221;2px&#8221; border_color_all=&#8221;#ebebeb&#8221; border_radii_image=&#8221;off||||&#8221; border_width_all_image=&#8221;10px&#8221; border_color_all_image=&#8221;RGBA(255,255,255,0)&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_blog][et_pb_button button_url=&#8221;https:\/\/sites.williarts.com.br\/allent\/blog\/&#8221; button_text=&#8221;+ Not\u00edcias&#8221; button_alignment=&#8221;center&#8221; _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; custom_button=&#8221;on&#8221; button_text_size=&#8221;18px&#8221; button_text_color=&#8221;#006786&#8243; button_bg_color=&#8221;#f2f3f4&#8243; button_border_color=&#8221;#006786&#8243; button_border_radius=&#8221;5px&#8221; button_font=&#8221;|700|||||||&#8221; button_use_icon=&#8221;off&#8221; custom_margin_tablet=&#8221;&#8221; custom_margin_phone=&#8221;15px||||false|false&#8221; custom_margin_last_edited=&#8221;on|phone&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_button][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; background_color=&#8221;#0d3d63&#8243; custom_margin=&#8221;||||false|false&#8221; custom_padding=&#8221;40px||40px||true|&#8221; global_module=&#8221;300&#8243; saved_tabs=&#8221;all&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_row column_structure=&#8221;1_2,1_2&#8243; use_custom_gutter=&#8221;on&#8221; gutter_width=&#8221;2&#8243; _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; width=&#8221;70%&#8221; custom_padding=&#8221;3px||3px||true|&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;1_2&#8243; _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;||||||||&#8221; text_text_color=&#8221;#FFFFFF&#8221; text_font_size=&#8221;30px&#8221; text_line_height=&#8221;1.2em&#8221; custom_margin=&#8221;||13px|||&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>Fale com os especialistas Allent<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;|300|||||||&#8221; text_text_color=&#8221;#FFFFFF&#8221; text_font_size=&#8221;16px&#8221; custom_margin=&#8221;||27px|||&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>Nossa equipe esta prepara para tirar todas as suas d\u00favidas.<br \/>\u3164\u3164<\/p>\n<p>[\/et_pb_text][et_pb_button button_url=&#8221;https:\/\/sites.williarts.com.br\/allent\/fale-conosco\/&#8221; button_text=&#8221;Entre em contato&#8221; _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; custom_button=&#8221;on&#8221; button_text_size=&#8221;17px&#8221; button_text_color=&#8221;#FFFFFF&#8221; button_bg_color=&#8221;#009ea5&#8243; button_border_color=&#8221;#009ea5&#8243; button_border_radius=&#8221;5px&#8221; button_font=&#8221;|700|||||||&#8221; button_use_icon=&#8221;off&#8221; custom_padding=&#8221;6px||6px||true|false&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_button][\/et_pb_column][et_pb_column type=&#8221;1_2&#8243; _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;||||||||&#8221; text_text_color=&#8221;#FFFFFF&#8221; text_font_size=&#8221;30px&#8221; text_line_height=&#8221;1.2em&#8221; custom_margin=&#8221;||13px|||&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>Quer mais informa\u00e7\u00f5es?<\/p>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;|300|||||||&#8221; text_text_color=&#8221;#FFFFFF&#8221; text_font_size=&#8221;16px&#8221; custom_margin=&#8221;||27px|||&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>Conecte-se \u00e0 excel\u00eancia: fale com a Allent e conhe\u00e7a solu\u00e7\u00f5es m\u00e9dicas que transformam o cuidado.<\/p>\n<p>[\/et_pb_text][et_pb_button button_url=&#8221;https:\/\/sites.williarts.com.br\/allent\/orcamento\/&#8221; button_text=&#8221;Quero um or\u00e7amento&#8221; button_alignment=&#8221;left&#8221; _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; custom_button=&#8221;on&#8221; button_text_size=&#8221;18px&#8221; button_text_color=&#8221;#FFFFFF&#8221; button_bg_color=&#8221;RGBA(255,255,255,0)&#8221; button_border_width=&#8221;2px&#8221; button_border_color=&#8221;#FFFFFF&#8221; button_border_radius=&#8221;5px&#8221; button_font=&#8221;||||||||&#8221; button_use_icon=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_button][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>PRODUTOSGINECOLOGIATecnologia de ponta e qualidade comprovada em cada produto. Solu\u00e7\u00f5es que elevam o padr\u00e3o da medicina brasileira.    <form action='https:\/\/sites.williarts.com.br\/allent\/wp-json\/api\/v1\/equipments' id=\"equipment-form\" method=\"GET\">\r\n\r\n        <select name=\"equipment_category\" id=\"equipment_category\">\r\n            <option value=\"\" disabled selected hidden>Selecione uma categoria<\/option>\r\n            <option value=\"\">Todas as categorias<\/option>\r\n                            <option value=\"20\">Acess\u00f3rios<\/option>\r\n                            <option value=\"36\">Aspirador e Irrigador<\/option>\r\n                            <option value=\"37\">Bainha de Acesso Ureteral<\/option>\r\n                            <option value=\"32\">Bainha de Aspira\u00e7\u00e3o<\/option>\r\n                            <option value=\"44\">Bal\u00e3o Dilatador<\/option>\r\n                            <option value=\"41\">Cateter Duplo J de Silicone<\/option>\r\n                            <option value=\"42\">Cateter Ureteral<\/option>\r\n                            <option value=\"23\">Cateteres Duplo J Termosens\u00edvel<\/option>\r\n                            <option value=\"47\">Clipe para Tecido<\/option>\r\n                            <option value=\"38\">Dilatador Ureteral<\/option>\r\n                            <option value=\"26\">Eletrodos de Ressec\u00e7\u00e3o<\/option>\r\n                            <option value=\"43\">Extrator de C\u00e1lculos<\/option>\r\n                            <option value=\"40\">Extratores<\/option>\r\n                            <option value=\"39\">Fio Guia Nitinol<\/option>\r\n                            <option value=\"24\">Kit Cateter Duplo J com Fio Guia Hidrof\u00edlico<\/option>\r\n                            <option value=\"45\">Kit de Drenagem<\/option>\r\n                            <option value=\"34\">Laser de Abla\u00e7\u00e3o Transperineal<\/option>\r\n                            <option value=\"30\">Laser de Alta Pot\u00eancia<\/option>\r\n                            <option value=\"31\">Morcelador<\/option>\r\n                            <option value=\"33\">Pr\u00f3tese<\/option>\r\n                            <option value=\"46\">Sonda Prost\u00e1tica<\/option>\r\n                            <option value=\"35\">Ureterosc\u00f3pio Flex\u00edvel<\/option>\r\n                    <\/select>\r\n\r\n        <span class=\"name-container\">\r\n            <input type=\"text\" name=\"search\" id=\"search-equipment-name\" placeholder=\"O que voc\u00ea est\u00e1 procurando?\">\r\n        <\/span>\r\n\r\n        <button type=\"submit\" id=\"submit\"><strong>Buscar<\/strong><\/button>\r\n    <\/form>\r\n\r\n\r\n    <script>\r\n        document.addEventListener('DOMContentLoaded', () => {\r\n            const form = document.querySelector(\"#equipment-form\");\r\n            const cardsContainer = document.querySelector(\"#equipment-cards-container\");\r\n            const cardTemplate = document.querySelector(\".card-template\");\r\n            const spinnerContainer = document.querySelector(\"#spinner-container\")\r\n\r\n            const createCard = (data) => {\r\n                const fragment = cardTemplate.content.cloneNode(\".card-template\");\r\n                const card = fragment.querySelector(\".equipment-card\");\r\n                const img = fragment.querySelector(\".equipment-img\");\r\n                const category = fragment.querySelector(\".equipment-description\");\r\n                const name = fragment.querySelector(\".equipment-name\");\r\n                \/\/ const description = fragment.querySelector(\".equipment-description\");\r\n                const url = fragment.querySelector(\".equipment-url\")\r\n\r\n                img.src = data.equipment_img;\r\n                category.innerHTML = data.category;\r\n                name.innerHTML = data.title;\r\n                \/\/ description.innerText = data.description.replace(\/<[^>]*>\/g, '');\r\n                url.href = data.url;\r\n\r\n                cardsContainer.classList.remove(\"hidden\");\r\n\r\n                return card;\r\n            }\r\n\r\n            const getEquipments = async (page = 1) => {\r\n                const data = new FormData(form);\r\n                data.append(\"endpoint\", \"33\")\r\n                data.append(\"page\", page)\r\n\r\n                const params = new URLSearchParams(data).toString()\r\n\r\n                console.log(`${form.action}?${params}`)\r\n\r\n                const response = await fetch(`${form.action}?${params}`, {\r\n                        method: \"GET\",\r\n                    }).then(res => res.json())\r\n                    .then(data => data);\r\n\r\n                return response;\r\n            }\r\n\r\n            const renderEmptyResults = () => {\r\n                cardsContainer.classList.remove(\"hidden\")\r\n                const p = document.createElement(\"p\")\r\n                p.classList.add(\"empty-result\")\r\n                p.innerText = \"Nenhum equipamento encontrado\"\r\n\r\n                cardsContainer.innerHTML = \"\"\r\n                cardsContainer.appendChild(p)\r\n            }\r\n\r\n            const renderEquipments = (results) => {\r\n                if (results.length === 0) {\r\n                    renderEmptyResults()\r\n                    return\r\n                }\r\n\r\n                cardsContainer.innerHTML = \"\";\r\n\r\n                results.forEach(equipment => {\r\n                    const card = createCard(equipment);\r\n                    card.classList.add('fade-in');\r\n                    cardsContainer.appendChild(card)\r\n                })\r\n            }\r\n\r\n            window.loadEvents = async (page = 1) => {\r\n                if (form.classList.contains(\"loading\")) return;\r\n\r\n                const spinner = createSpinner();\r\n\r\n                if (cardsContainer.hasChildNodes())\r\n                    cardsContainer.classList.add(\"hidden\")\r\n\r\n                spinnerContainer.appendChild(spinner);\r\n\r\n                form.classList.add(\"loading\");\r\n\r\n                const response = await getEquipments(page)\r\n\r\n                renderEquipments(response.results)\r\n\r\n                spinnerContainer.innerHTML = \"\";\r\n                form.classList.remove(\"loading\");\r\n\r\n                createPagination(response.totalPages, page);\r\n            }\r\n\r\n            form.addEventListener('submit', (event) => {\r\n                event.preventDefault();\r\n                loadEvents()\r\n            })\r\n\r\n            loadEvents()\r\n        })\r\n    <\/script>\r\n    <template class=\"card-template\">\r\n        <div class=\"equipment-card\">\r\n            <img decoding=\"async\" src=\"\" alt=\"\" class=\"equipment-img\">\r\n            <b>\r\n                <span class=\"equipment-name\"><\/span>\r\n            <\/b>\r\n            <p class=\"equipment-description\"><\/p>\r\n            <a href=\"\" class=\"equipment-url\">\r\n                <button class=\"equipment-card-button\"><b>Ver detalhes<\/b><\/button>\r\n            <\/a>\r\n        <\/div>\r\n    <\/template>\r\n\r\n    <div id=\"equipment-cards-container\"><\/div>\r\n\r\n        <template id=\"spinner-template\">\r\n        <div class=\"spinner-container\">\r\n            <div class=\"spinner-overlay\">\r\n                <div class=\"spinner\"><\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/template>\r\n\r\n    <div id=\"spinner-container\"><\/div>\r\n\r\n    <script>\r\n        const spinnerContainer = document.querySelector(\"#spinner-container\")\r\n        const spinnerTemplate = document.querySelector(\"#spinner-template\");\r\n\r\n        const createSpinner = () => {\r\n            const fragment = spinnerTemplate.content.cloneNode(true);\r\n            return fragment;\r\n        }\r\n    <\/script>\r\n        <div id=\"pagination\"><\/div>\r\n\r\n    <script>\r\n        const paginationContainer = document.querySelector(\"#pagination\")\r\n\r\n        const createPagination = (totalPages, currentPage, ) => {\r\n            paginationContainer.innerHTML = \"\";\r\n\r\n            const createButton = (page) => {\r\n                const button = document.createElement(\"button\");\r\n                button.textContent = page;\r\n\r\n                if (page === currentPage) {\r\n                    button.disabled = true;\r\n                    button.classList.add(\"active\");\r\n                }\r\n\r\n                button.addEventListener('click', (e) => {\r\n                    e.preventDefault();\r\n                    loadEvents(page);\r\n                });\r\n\r\n                return button;\r\n            };\r\n\r\n            const createDots = () => {\r\n                const span = document.createElement(\"span\");\r\n                span.textContent = \"...\";\r\n                return span;\r\n            };\r\n\r\n            \/\/ Sempre mostra a primeira p\u00e1gina\r\n            paginationContainer.appendChild(createButton(1));\r\n\r\n            \/\/ Intervalo ao redor da p\u00e1gina atual\r\n            const range = 1; \/\/ pode aumentar pra 2 se quiser mais p\u00e1ginas vis\u00edveis\r\n\r\n            let start = Math.max(2, currentPage - range);\r\n            let end = Math.min(totalPages - 1, currentPage + range);\r\n\r\n            \/\/ Se tiver gap antes\r\n            if (start > 2) {\r\n                paginationContainer.appendChild(createDots());\r\n            }\r\n\r\n            \/\/ P\u00e1ginas do meio\r\n            for (let i = start; i <= end; i++) {\r\n                paginationContainer.appendChild(createButton(i));\r\n            }\r\n\r\n            \/\/ Se tiver gap depois\r\n            if (end < totalPages - 1) {\r\n                paginationContainer.appendChild(createDots());\r\n            }\r\n\r\n            \/\/ Sempre mostra a \u00faltima p\u00e1gina (se n\u00e3o for a mesma que a primeira)\r\n            if (totalPages > 1) {\r\n                paginationContainer.appendChild(createButton(totalPages));\r\n            }\r\n        };\r\n    <\/script>\r\n\r\n\r\nBLOGALLENTFique por dentro das principais not\u00edcias e eventos da \u00e1rea.Fale com os especialistas AllentNossa equipe esta prepara para tirar todas as suas d\u00favidas.\u3164\u3164Quer mais informa\u00e7\u00f5es?Conecte-se \u00e0 excel\u00eancia: fale com a Allent e conhe\u00e7a solu\u00e7\u00f5es m\u00e9dicas que transformam o cuidado.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"class_list":["post-33","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/sites.williarts.com.br\/allent\/wp-json\/wp\/v2\/pages\/33","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sites.williarts.com.br\/allent\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sites.williarts.com.br\/allent\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sites.williarts.com.br\/allent\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sites.williarts.com.br\/allent\/wp-json\/wp\/v2\/comments?post=33"}],"version-history":[{"count":9,"href":"https:\/\/sites.williarts.com.br\/allent\/wp-json\/wp\/v2\/pages\/33\/revisions"}],"predecessor-version":[{"id":974,"href":"https:\/\/sites.williarts.com.br\/allent\/wp-json\/wp\/v2\/pages\/33\/revisions\/974"}],"wp:attachment":[{"href":"https:\/\/sites.williarts.com.br\/allent\/wp-json\/wp\/v2\/media?parent=33"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}