Información ¿qué Es 1xbet?

1xbet Chile: ¿cómo Apostar? Reseña Con Opiniones Durante 2024

Vías como Visa o Mastercard completarán technische universit?t retiro en algun plazo de just one minuto hasta 7 días. O si lo prefieres, sigue con las apuestas clásicas de resultado del partido 1X2 o marcador exacto. Asimismo, podrías añadir un hándicap a new tu gasto para hacer crecer mi cuota y o qual sea más irrefutable.

Al servir una casa para apuestas online, ha sido posible que sobre muchas ocasiones halla dudas sobre asi como jugar, los pagos, retiros y algunos temas. Pero aquello no es piza por lo que debas preocuparte pois en 1xBet existen varios métodos sobre contacto para ayudarte. De igual manera, al dar clic en cualquier otro evento o recreamiento la página ght mostrará una lista de opciones correspondientes para jugar.

Tercer Depósito

La tarea delete jugador es retirar su apuesta the tiempo antes de o qual el avión se estrelle. Las loterías online son completamente legales en” “Republic of chile, y las ponemos a disposición de los interesados. Cuantos más boletos compren, más probabilidades tendrán de ganar un compensacion. Una apuesta combinada es una apuesta que cubre innumerables posiciones al similar tiempo.

En 1xBet, puede arriesgar en muchos eventos deportivos diferentes, incluyendo sus favoritos. También hay muchos tipos de apuestas que puede utilizar, durante lo que aun puede apostar en varios eventos ‘s mismo tiempo. También puede apostar en deportes menos populares como el basket y el balonvolea.” “[newline]Más abajo encontrarás información sobre los importantes torneos y campeonatos de los deportes más populares durante Chile. Si buscas realizar apuestas deportivas en vivo además de disfrutar sobre distintos eventos sobre los principales deportes en todo este mundo tu opción es 1xBet https://festivalconecta2.com/.

Batalla De Fútbol

Una apuesta de sistema ha sido una apuesta que consiste en numerosos acumuladores idénticos em relação à un número decidido de resultados. Las ganancias de los dos acumuladores incorporados ‘s sistema se suman para calcular el pago. Esta es una apuesta arriesgada, aunque es realmente gratificante si ze acierta. La postura se multiplica durante las probabilidades de su selección afin de calcular el flojedad de una postura simple.

La cantidad mínima de postura 1xbet que será considerada es para 984 CLP. Cada día, el operador en línea selecciona aleatoriamente diez mil apuestas, que se vuelven ganadoras. Cuantas más apuestas sobre los juegos sobre 1xBet realice un jugador durante este día, mayores serán sus posibilidades para obtener ingresos adicionales no meio de esta promoción. Cada jugador contine la oportunidad sobre obtener una apuesta gratuita en problema de pérdida the través de la participación sobre ela promoción “Apuesta sin riesgo”.

💎¿qué Sera Lo Que Genera Que 1xbet Destaque Entre Las Demás Casas De Apuestas Online?

De todas experiencias, en caso sobre dudas, el atractivo al cliente dia a dia está disponible para ayudarte. Tiene la apariencia compleja y solo te da voie elegir entre todas las opciones dispuestas durante la casa. Para finalizar, ¿qué lo parece poner contestación an algunas para las preguntas más formuladas por los clientes de 1xbet en Chile?

Sólo se puede obtener el recibo de bienvenida sobre nuestra empresa dans le cas où no ha realizado el primer depósito. Además, puede sustraer su bono de bienvenida en este sitio web formal y en la aplicación de 1xBet. Sin embargo, el bono se acredita durante una cuenta para bono adicional y requiere apuestas afin de recibirlo. La esencia de una apostando de este modelo es que ze hace a la sucesión en tres eventos o más, adonde las probabilidades zero son inferiores a 1, 4. Una vez que haya apostado” “y ganado 5 veces su bono, lo recibirá en su cuenta. Además, durante 1xBet tendrás los angeles alternativa de achar una gran disparidad de eventos deportivos, mercados y el amplio catálogo para proveedores en casino en línea.

Torneos De Giros

La versión de prueba de algunas tragamonedas permite aplicar fácilmente estrategias conocidas para desarrollar una táctica de descender útil y rentable en el futuro. Cuanto mayor sea la cantidad depositada, mayor será los angeles cantidad del pase que el deportista recibe en mi cuenta especial. Los usuarios de Home windows y macOS podran descargar el consumidor oficial de 1xBet para su PERSONAL COMPUTER.

Así, durante su sitio los encontrarás correctamente separados por categorías. En nuestro análisis hemos podido comprobar la cual el apartado de casino en festón está i smag med consideración de las mas famosas. Crupieres reales darán forma a tus partidas de ruleta y blackjack. Además, verás que están disponibles durante todo el día por si te apetece jugar en alguna momento.

Juega Al Juego Del Día Y Continua Tus Tiradas Gratis

La primera sección contiene los resultados más importantes, como el resultado genuine, los totales y los hándicaps. 1xBet es una incapere de apuestas o qual se destaca causado por la variedad de mercados en Fútbol con por su atrayente casino online. Después de completar tu alta como usuario, haz un special primer depósito y siga las instrucciones de la promoción para ser activada y liberada.

Hasta tres aplicaciones son todas las que permite exonerar 1xbet para servirse sus servicios. Y, obviamente, códigos promocionales también es posible utilizar desde ella. Esta casa tiene habilitada su aplicación móvil para dispositivos Android, iOS o a través de Home windows. Por lo demás, merece la cosa destacar una sección de ofertas la cual supera a la mayoría de la competencia.

Código Promocional 1xbet Abril 2024 Chile: Usa Este Código Vipapuesta

Si lo deseas, cada usufructuario de 1xBet contine la excelente vez de aumentar significativamente sus ganancias mil gracias al programa para afiliados 1xPartners. Cualquier persona puede retractarse en afiliado, ahora sea un usuario con una página personal o algun portal web enorme. La casa sobre apuestas 1xBet proporciona a sus socios cupones y códigos promocionales actuales, herramientas” “XML, un sistema de cashback y una integración técnica de alta calidad BUSINESS-ON-BUSINESS.

Este es operador la cual constantemente busca sostener sus aplicaciones móviles disponibles siempre actualizadas tanto para Google android y iOS, los dos sistemas operativos más populares delete mercado. En este caso de 1xBet Chile, podrás tener las dos aplicaciones directamente desde tu sitio web. Conoce 1xBet, uno para los mejores sitios web de apuestas deportivas del ramo donde podrás encontrar una gran pluralidad de promociones sumado a apuestas.

Bet Chile

La participación en la promoción del viernes otorga al jugador el derecho a recibir otro bono para recarga el miércoles. Previamente, el usufructuario debe realizar cinco apuestas en una evento deportivo mis días lunes sumado a martes. En un cupón, los partidos deben tener coeficientes no inferiores a 1, 4, y una cantidad total sobre apuestas debe se tornar igual a la cantidad del recibo del viernes. Los juegos en línea con elementos de lotería han sido y siguen siendo increíblemente populares. Para sus usuarios, un casino en línea 1xBet ofrece encajar al bingo y al keno. En estas categorías para tragamonedas, se se puede encontrar una excelente selección de loterías en línea scam gráficos de alta calidad y tramas emocionantes.

Esta licencia es un sello de aprobación de que seja el sitio net como la aplicación son completamente seguros, legítimos y que los juegos child justos. Esta permiso nos permite dar a nuestros compradores opciones de apuestas deportivas y juegos de casino. 1xBet es una para las mayores companhias de apuestas y juegos de albur en Chile sumado a ofrece un buen programa de bonos para el deportista. Que satisface todas las necesidades” “simply no sólo de los nuevos jugadores sino también de los usuarios experimentados.

Bet Contactos Sobre Soporte De Apuestas

A continuación, podrá executar apuestas utilizando mi multitud de tipos de apuestas visto que ve el match. Podrá modificar su apuesta, pero guarde en cuenta que las ganancias podran aumentar o aminorarse en función para lo avanzado la cual esté el match. 1xBet le weil la opción sobre hacer apuestas sobre eSports, con un montón de juegos con torneos. Concretamente durante Chile, son 54.99 los métodos de pago aceptados afin de apostar. Pero afin de no crear una lista interminable, ght mostraremos los más populares.

El streaming en 1xBet es para buena calidad con es tu aliado para hacer apuestas en vivo en Chile. Gracias a todas las estadísticas puedes elegir una estrategia de apuestas. Por supuesto, el nivel para esta casa the permite tener mi sección de estadísticas bastante completa. Para confirmar tu predicción, debes hacer mi apuesta mínima para $2. 161 durante el evento con una cuota igual o superior a 2. 0. En mercados como el Marcador Correcto, tendrías que utilizar una tableta deslizante para pôr el valor. Como es de esperarse, también puedes arriesgar a Corners con Tarjetas.

¿cómo Consigo Los Angeles App Oficial Sobre 1xbet Chile?

Entre las mejores tragamonedas se destacan Turbo Ticket Bingo, Turbo Bingo 37, Bingo ninety, Bingo Pescaria, Piggy Show Bingo, Turbocharged Keno, Candy Keno, Keno War, Vintage Keno, Keno Deluxe. Entonces, una óptima opción para el principiante en algunas apuestas será un bono de bienvenida para deportes, que equivale al 100 % del montante del primer depósito. El nuevo deportista de Chile recibe un bono para inicio del one hundred %, con una límite de hasta 150, 000 CLP,” “por parte del destacado operador en línea 1xBet. Para mis aficionados a los juegos de online casino en línea, este destacado operador 1xBet tiene una extra?eza. Justo después de registrarse, el forma jugador puede adherir una generosa recompensa por su primer depósito y los tres depósitos siguientes. En el web web del operador se ofrecen más de sesenta disciplinas deportivas, con la cobertura detallada sumado a cuotas siempre superiores al promedio del mercado.

Todos los juegos sobre 1 x Wager Casino garantizan el proceso de distraccion transparente y beneficios justos en los giros de los carretes. Cuanto más popular sean una disciplina, más variada será la chollo” “para apuestas del operador en línea. Cada una de ellas tiene un propósito único y podra ayudarle an incrementar sus ganancias potenciales.

Bono Para Deportes

Este tipo de gratificación está diseñado seja para nuevos jugadores como para compradores habituales de la proyecto. Un código promocional es una combinación única de letras y números, a new veces también se puede incluir símbolos. Nuestra plataforma de apuestas 1xBet tiene mi licencia de distraccion proporcionada por Curazao, con el número de licencia 1668/JAZ.

Tienes el plazo de 30 días para llenar el bono, apostando en cuotas mínimas de 1. forty. La variante original de la tragaperras de choque sera el juego Quantum X. Sobre un fondo oscuro, un campo de intriga parecerá dos brillantes cuerdas de neón. El jugador carga con la oportunidad de controlar a tu avatar, que podra saltar de una cuerda an una otra. Si sony ericsson encuentran puntos blancos en el trayecto del avatar, pueden aumentar el multiplicador o terminar una ronda. Además, poquitos de los juegos son gestionados através de 1xBet Live Online casino, que está hecho por nosotros. Además de su Permiso de Curação, está regulada en países con normativa estricta como México con” “España.

Streaming Y Apuestas En Vivo En 1xbet Chile

La principal característica de los juegos por televisión es que nadie participa directamente en ellos. Apuesta por los beneficios probables del partido como si lo viera en sincero por televisión. Así que, básicamente, sera como hacer mi apuesta prediciendo lo que va a good ocurrir. El bacará es un intriga de cartas en el que debemos reunir un conjunto residencial de cartas que incluye” “algun valor total de nueve o lo más cercano the nueve que sony ericsson pueda. Es mi de las opciones más populares entre los jugadores para Chile. La opción de las previsiones en directo es una especie para apuesta previa al partido, sólo la cual modificada específicamente para los eventos sobre directo que tendrán lugar en mis próximos días.

Cada jugador ávido prefiere un sistema de pago que the resulte conveniente, durante lo” “o qual cuanto más amplia sea la selección de instrumentos financieros que ofrece un operador, mejor. Para jugadores en Chile y usuarios sobre otros países, los angeles empresa 1xBet permite que elija sobre forma independiente el sistema que le resulte cómodo afin de realizar transacciones financieras. Si quieres obtener el código promocional 1xbet y emplear de su magnífico bono de bienvenida para apuestas sumado a casino, en este artículo te ofrecemos toda la información paso a transito. En este caso nos centraremos primeramente en su bonificación de bienvenida para nuevos jugadores. Y es que exista sitio cuenta con una promoción pra nuevos jugadores afin de deportes y otro cupón para arriesgar en juegos para casino. En un marco del libro de bonos, una plataforma líder para apuestas 1xBet emite códigos promocionales.

Streaming Y Apuestas En Festón En 1xbet

One x Bet puede considerarse con credulidad como uno de los operadores durante línea legendarios, conocidos en diferentes rincones del planeta. Como mencionamos anteriormente, cada día añadimos nuevas promociones y nuevos juegos del día que te permiten ganar tiradas tidak bermodal y otros bonos de nosotros. Si las App zero son tu método favorito de apuestas, puedes jugar durante el sitio estatal de 1xBet Republic of chile desde el navegador de tu móvil. Esto es pois el sitio estatal de esta odaie de apuestas on the internet tiene una versión móvil responsiva la cual funcionará sin problemas en tu teléfono.

De hecho, sus máquinas tragamonedas superan este centenar con creces, con categorías sobre toda clase. Además, estos puntos boy solo una pequeña parte de todas las reglas que les aplican an estos bonos. Nuestra recomendación es que revises de forma detallada la lista íntegral disponible en su página oficial.

Línea (prematch)

Ya sea para fútbol, tenis, boxeo, ciclismo, basket o los deportes más conocidos del país. La versión ligera es práctica incluso aquella vez hay una cobertura de Internet débil y la COMPUTER no puede llevar la versión completa del sitio de la casa de apuestas. El uso de la versión móvil del sitio permite dejar tráfico y aborrecer rápidamente cualquiera sobre las secciones del menú. Uno de aquellas juegos de cartas más conocidos en el mundo, un Blackjack, está representado en la colección del casino en línea 1xBet como la categoría separada. Aquí, los aficionados ‘s juego de twenty-one pueden disfrutar para más de setenta tipos de tragamonedas de los mejores proveedores.

Junto con esto, llega acompañado de a hundred and fifty FS o giros gratis así que usted sigas apostando. Se prostitución de una chollo que se alarga durante los some primeros ingresos. Pero estas no child, ni mucho menos, las únicas promociones disponibles con el cupón promocional 1xbet. La” “trampolín ofrece ventajas igualmente para aquellos usuarios ya registrados. De modo que premiará tu estancia sobre su sitio sobre línea para la cual continúes apostando a traves distintos premios.

Respuestas A Las Preguntas Más Frecuentes De Los Jugadores

Las cuotas determinarán tu potencial ganancia luego para realizar tu apuesta. De hecho, durante este momento podemos ver un ejemplo de cuotas 1xBet para uno de los mejores partidos entre ma Premier League. La competición comenzará dentro de poco y ahora existen mercados abiertos al respecto. Bet Constructor es la nueva actividad única que hemos formulado y que lo permite crear de equipos simultáneamente. Tanto el resultado delete partido como el resultado vendrán determinados por el herramientas que marque más goles que réussi à rival. Esto the permite beneficiarse delete éxito de los jugadores contrarios, reduciendo al mismo momento la posibilidad de un resultado adulterado.

“El principal criterio al elegir una plataforma de juegos sobre línea para qualquer usuario es la confiabilidad. La empresa de apuestas 1xBet es una plataforma web conocida con popular que ha estado operando en la industria del juego durante muchos años. La alta calificación del operador ze explica por su amplia cobertura sobre eventos deportivos a nivel mundial, una provisión de software program de juego certificado, generosos bonos y promociones. El sitio oficial de una empresa cl. 1xbet ha obtenido el reconocimiento destacado durante Chile, y una cantidad de clientes ha aumentado an alcanzar la huella de varios cientos de muchas jugadores.

(function () { var searchreplace = (function () { 'use strict'; var Cell = function (initial) { var value = initial; var get = function () { return value; }; var set = function (v) { value = v; }; var clone = function () { return Cell(get()); }; return { get: get, set: set, clone: clone }; }; var global = tinymce.util.Tools.resolve('tinymce.PluginManager'); var global$1 = tinymce.util.Tools.resolve('tinymce.util.Tools'); function isContentEditableFalse(node) { return node && node.nodeType === 1 && node.contentEditable === 'false'; } function findAndReplaceDOMText(regex, node, replacementNode, captureGroup, schema) { var m; var matches = []; var text, count = 0, doc; var blockElementsMap, hiddenTextElementsMap, shortEndedElementsMap; doc = node.ownerDocument; blockElementsMap = schema.getBlockElements(); hiddenTextElementsMap = schema.getWhiteSpaceElements(); shortEndedElementsMap = schema.getShortEndedElements(); function getMatchIndexes(m, captureGroup) { captureGroup = captureGroup || 0; if (!m[0]) { throw new Error('findAndReplaceDOMText cannot handle zero-length matches'); } var index = m.index; if (captureGroup > 0) { var cg = m[captureGroup]; if (!cg) { throw new Error('Invalid capture group'); } index += m[0].indexOf(cg); m[0] = cg; } return [ index, index + m[0].length, [m[0]] ]; } function getText(node) { var txt; if (node.nodeType === 3) { return node.data; } if (hiddenTextElementsMap[node.nodeName] && !blockElementsMap[node.nodeName]) { return ''; } txt = ''; if (isContentEditableFalse(node)) { return '\n'; } if (blockElementsMap[node.nodeName] || shortEndedElementsMap[node.nodeName]) { txt += '\n'; } if (node = node.firstChild) { do { txt += getText(node); } while (node = node.nextSibling); } return txt; } function stepThroughMatches(node, matches, replaceFn) { var startNode, endNode, startNodeIndex, endNodeIndex, innerNodes = [], atIndex = 0, curNode = node, matchLocation = matches.shift(), matchIndex = 0; out: while (true) { if (blockElementsMap[curNode.nodeName] || shortEndedElementsMap[curNode.nodeName] || isContentEditableFalse(curNode)) { atIndex++; } if (curNode.nodeType === 3) { if (!endNode && curNode.length + atIndex >= matchLocation[1]) { endNode = curNode; endNodeIndex = matchLocation[1] - atIndex; } else if (startNode) { innerNodes.push(curNode); } if (!startNode && curNode.length + atIndex > matchLocation[0]) { startNode = curNode; startNodeIndex = matchLocation[0] - atIndex; } atIndex += curNode.length; } if (startNode && endNode) { curNode = replaceFn({ startNode: startNode, startNodeIndex: startNodeIndex, endNode: endNode, endNodeIndex: endNodeIndex, innerNodes: innerNodes, match: matchLocation[2], matchIndex: matchIndex }); atIndex -= endNode.length - endNodeIndex; startNode = null; endNode = null; innerNodes = []; matchLocation = matches.shift(); matchIndex++; if (!matchLocation) { break; } } else if ((!hiddenTextElementsMap[curNode.nodeName] || blockElementsMap[curNode.nodeName]) && curNode.firstChild) { if (!isContentEditableFalse(curNode)) { curNode = curNode.firstChild; continue; } } else if (curNode.nextSibling) { curNode = curNode.nextSibling; continue; } while (true) { if (curNode.nextSibling) { curNode = curNode.nextSibling; break; } else if (curNode.parentNode !== node) { curNode = curNode.parentNode; } else { break out; } } } } function genReplacer(nodeName) { var makeReplacementNode; if (typeof nodeName !== 'function') { var stencilNode_1 = nodeName.nodeType ? nodeName : doc.createElement(nodeName); makeReplacementNode = function (fill, matchIndex) { var clone = stencilNode_1.cloneNode(false); clone.setAttribute('data-mce-index', matchIndex); if (fill) { clone.appendChild(doc.createTextNode(fill)); } return clone; }; } else { makeReplacementNode = nodeName; } return function (range) { var before; var after; var parentNode; var startNode = range.startNode; var endNode = range.endNode; var matchIndex = range.matchIndex; if (startNode === endNode) { var node_1 = startNode; parentNode = node_1.parentNode; if (range.startNodeIndex > 0) { before = doc.createTextNode(node_1.data.substring(0, range.startNodeIndex)); parentNode.insertBefore(before, node_1); } var el = makeReplacementNode(range.match[0], matchIndex); parentNode.insertBefore(el, node_1); if (range.endNodeIndex < node_1.length) { after = doc.createTextNode(node_1.data.substring(range.endNodeIndex)); parentNode.insertBefore(after, node_1); } node_1.parentNode.removeChild(node_1); return el; } before = doc.createTextNode(startNode.data.substring(0, range.startNodeIndex)); after = doc.createTextNode(endNode.data.substring(range.endNodeIndex)); var elA = makeReplacementNode(startNode.data.substring(range.startNodeIndex), matchIndex); for (var i = 0, l = range.innerNodes.length; i < l; ++i) { var innerNode = range.innerNodes[i]; var innerEl = makeReplacementNode(innerNode.data, matchIndex); innerNode.parentNode.replaceChild(innerEl, innerNode); } var elB = makeReplacementNode(endNode.data.substring(0, range.endNodeIndex), matchIndex); parentNode = startNode.parentNode; parentNode.insertBefore(before, startNode); parentNode.insertBefore(elA, startNode); parentNode.removeChild(startNode); parentNode = endNode.parentNode; parentNode.insertBefore(elB, endNode); parentNode.insertBefore(after, endNode); parentNode.removeChild(endNode); return elB; }; } text = getText(node); if (!text) { return; } if (regex.global) { while (m = regex.exec(text)) { matches.push(getMatchIndexes(m, captureGroup)); } } else { m = text.match(regex); matches.push(getMatchIndexes(m, captureGroup)); } if (matches.length) { count = matches.length; stepThroughMatches(node, matches, genReplacer(replacementNode)); } return count; } var FindReplaceText = { findAndReplaceDOMText: findAndReplaceDOMText }; var getElmIndex = function (elm) { var value = elm.getAttribute('data-mce-index'); if (typeof value === 'number') { return '' + value; } return value; }; var markAllMatches = function (editor, currentIndexState, regex) { var node, marker; marker = editor.dom.create('span', { 'data-mce-bogus': 1 }); marker.className = 'mce-match-marker'; node = editor.getBody(); done(editor, currentIndexState, false); return FindReplaceText.findAndReplaceDOMText(regex, node, marker, false, editor.schema); }; var unwrap = function (node) { var parentNode = node.parentNode; if (node.firstChild) { parentNode.insertBefore(node.firstChild, node); } node.parentNode.removeChild(node); }; var findSpansByIndex = function (editor, index) { var nodes; var spans = []; nodes = global$1.toArray(editor.getBody().getElementsByTagName('span')); if (nodes.length) { for (var i = 0; i < nodes.length; i++) { var nodeIndex = getElmIndex(nodes[i]); if (nodeIndex === null || !nodeIndex.length) { continue; } if (nodeIndex === index.toString()) { spans.push(nodes[i]); } } } return spans; }; var moveSelection = function (editor, currentIndexState, forward) { var testIndex = currentIndexState.get(); var dom = editor.dom; forward = forward !== false; if (forward) { testIndex++; } else { testIndex--; } dom.removeClass(findSpansByIndex(editor, currentIndexState.get()), 'mce-match-marker-selected'); var spans = findSpansByIndex(editor, testIndex); if (spans.length) { dom.addClass(findSpansByIndex(editor, testIndex), 'mce-match-marker-selected'); editor.selection.scrollIntoView(spans[0]); return testIndex; } return -1; }; var removeNode = function (dom, node) { var parent = node.parentNode; dom.remove(node); if (dom.isEmpty(parent)) { dom.remove(parent); } }; var find = function (editor, currentIndexState, text, matchCase, wholeWord) { text = text.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, '\\$&'); text = text.replace(/\s/g, '[^\\S\\r\\n]'); text = wholeWord ? '\\b' + text + '\\b' : text; var count = markAllMatches(editor, currentIndexState, new RegExp(text, matchCase ? 'g' : 'gi')); if (count) { currentIndexState.set(-1); currentIndexState.set(moveSelection(editor, currentIndexState, true)); } return count; }; var next = function (editor, currentIndexState) { var index = moveSelection(editor, currentIndexState, true); if (index !== -1) { currentIndexState.set(index); } }; var prev = function (editor, currentIndexState) { var index = moveSelection(editor, currentIndexState, false); if (index !== -1) { currentIndexState.set(index); } }; var isMatchSpan = function (node) { var matchIndex = getElmIndex(node); return matchIndex !== null && matchIndex.length > 0; }; var replace = function (editor, currentIndexState, text, forward, all) { var i, nodes, node, matchIndex, currentMatchIndex, nextIndex = currentIndexState.get(), hasMore; forward = forward !== false; node = editor.getBody(); nodes = global$1.grep(global$1.toArray(node.getElementsByTagName('span')), isMatchSpan); for (i = 0; i < nodes.length; i++) { var nodeIndex = getElmIndex(nodes[i]); matchIndex = currentMatchIndex = parseInt(nodeIndex, 10); if (all || matchIndex === currentIndexState.get()) { if (text.length) { nodes[i].firstChild.nodeValue = text; unwrap(nodes[i]); } else { removeNode(editor.dom, nodes[i]); } while (nodes[++i]) { matchIndex = parseInt(getElmIndex(nodes[i]), 10); if (matchIndex === currentMatchIndex) { removeNode(editor.dom, nodes[i]); } else { i--; break; } } if (forward) { nextIndex--; } } else if (currentMatchIndex > currentIndexState.get()) { nodes[i].setAttribute('data-mce-index', currentMatchIndex - 1); } } currentIndexState.set(nextIndex); if (forward) { hasMore = hasNext(editor, currentIndexState); next(editor, currentIndexState); } else { hasMore = hasPrev(editor, currentIndexState); prev(editor, currentIndexState); } return !all && hasMore; }; var done = function (editor, currentIndexState, keepEditorSelection) { var i, nodes, startContainer, endContainer; nodes = global$1.toArray(editor.getBody().getElementsByTagName('span')); for (i = 0; i < nodes.length; i++) { var nodeIndex = getElmIndex(nodes[i]); if (nodeIndex !== null && nodeIndex.length) { if (nodeIndex === currentIndexState.get().toString()) { if (!startContainer) { startContainer = nodes[i].firstChild; } endContainer = nodes[i].firstChild; } unwrap(nodes[i]); } } if (startContainer && endContainer) { var rng = editor.dom.createRng(); rng.setStart(startContainer, 0); rng.setEnd(endContainer, endContainer.data.length); if (keepEditorSelection !== false) { editor.selection.setRng(rng); } return rng; } }; var hasNext = function (editor, currentIndexState) { return findSpansByIndex(editor, currentIndexState.get() + 1).length > 0; }; var hasPrev = function (editor, currentIndexState) { return findSpansByIndex(editor, currentIndexState.get() - 1).length > 0; }; var Actions = { done: done, find: find, next: next, prev: prev, replace: replace, hasNext: hasNext, hasPrev: hasPrev }; var get = function (editor, currentIndexState) { var done = function (keepEditorSelection) { return Actions.done(editor, currentIndexState, keepEditorSelection); }; var find = function (text, matchCase, wholeWord) { return Actions.find(editor, currentIndexState, text, matchCase, wholeWord); }; var next = function () { return Actions.next(editor, currentIndexState); }; var prev = function () { return Actions.prev(editor, currentIndexState); }; var replace = function (text, forward, all) { return Actions.replace(editor, currentIndexState, text, forward, all); }; return { done: done, find: find, next: next, prev: prev, replace: replace }; }; var Api = { get: get }; var open = function (editor, currentIndexState) { var last = {}, selectedText; editor.undoManager.add(); selectedText = global$1.trim(editor.selection.getContent({ format: 'text' })); function updateButtonStates() { win.statusbar.find('#next').disabled(Actions.hasNext(editor, currentIndexState) === false); win.statusbar.find('#prev').disabled(Actions.hasPrev(editor, currentIndexState) === false); } function notFoundAlert() { editor.windowManager.alert('Could not find the specified string.', function () { win.find('#find')[0].focus(); }); } var win = editor.windowManager.open({ layout: 'flex', pack: 'center', align: 'center', onClose: function () { editor.focus(); Actions.done(editor, currentIndexState); editor.undoManager.add(); }, onSubmit: function (e) { var count, caseState, text, wholeWord; e.preventDefault(); caseState = win.find('#case').checked(); wholeWord = win.find('#words').checked(); text = win.find('#find').value(); if (!text.length) { Actions.done(editor, currentIndexState, false); win.statusbar.items().slice(1).disabled(true); return; } if (last.text === text && last.caseState === caseState && last.wholeWord === wholeWord) { if (!Actions.hasNext(editor, currentIndexState)) { notFoundAlert(); return; } Actions.next(editor, currentIndexState); updateButtonStates(); return; } count = Actions.find(editor, currentIndexState, text, caseState, wholeWord); if (!count) { notFoundAlert(); } win.statusbar.items().slice(1).disabled(count === 0); updateButtonStates(); last = { text: text, caseState: caseState, wholeWord: wholeWord }; }, buttons: [ { text: 'Find', subtype: 'primary', onclick: function () { win.submit(); } }, { text: 'Replace', disabled: true, onclick: function () { if (!Actions.replace(editor, currentIndexState, win.find('#replace').value())) { win.statusbar.items().slice(1).disabled(true); currentIndexState.set(-1); last = {}; } } }, { text: 'Replace all', disabled: true, onclick: function () { Actions.replace(editor, currentIndexState, win.find('#replace').value(), true, true); win.statusbar.items().slice(1).disabled(true); last = {}; } }, { type: 'spacer', flex: 1 }, { text: 'Prev', name: 'prev', disabled: true, onclick: function () { Actions.prev(editor, currentIndexState); updateButtonStates(); } }, { text: 'Next', name: 'next', disabled: true, onclick: function () { Actions.next(editor, currentIndexState); updateButtonStates(); } } ], title: 'Find and replace', items: { type: 'form', padding: 20, labelGap: 30, spacing: 10, items: [ { type: 'textbox', name: 'find', size: 40, label: 'Find', value: selectedText }, { type: 'textbox', name: 'replace', size: 40, label: 'Replace with' }, { type: 'checkbox', name: 'case', text: 'Match case', label: ' ' }, { type: 'checkbox', name: 'words', text: 'Whole words', label: ' ' } ] } }); }; var Dialog = { open: open }; var register = function (editor, currentIndexState) { editor.addCommand('SearchReplace', function () { Dialog.open(editor, currentIndexState); }); }; var Commands = { register: register }; var showDialog = function (editor, currentIndexState) { return function () { Dialog.open(editor, currentIndexState); }; }; var register$1 = function (editor, currentIndexState) { editor.addMenuItem('searchreplace', { text: 'Find and replace', shortcut: 'Meta+F', onclick: showDialog(editor, currentIndexState), separator: 'before', context: 'edit' }); editor.addButton('searchreplace', { tooltip: 'Find and replace', onclick: showDialog(editor, currentIndexState) }); editor.shortcuts.add('Meta+F', '', showDialog(editor, currentIndexState)); }; var Buttons = { register: register$1 }; global.add('searchreplace', function (editor) { var currentIndexState = Cell(-1); Commands.register(editor, currentIndexState); Buttons.register(editor, currentIndexState); return Api.get(editor, currentIndexState); }); function Plugin () { } return Plugin; }()); })();