“mostbet Kz Официальный Сайт%3A Казино И Букмекерская Контора”

“mostbet Kz Официальный Сайт%3A Казино И Букмекерская Контора”

Не упускайте возможностей испытать удовольствие остального карточных игр в онлайн-казино Мостбет. Здесь вас ждут незабываемые эмоции%2C высокие ставки и возможность соревноваться с лучшими игроками со всего мира. Профессиональные аналитики и подробная статистика сумеют вам принять правильное решение и сделать успешную ставку на хоккей. Вы могу оценить форму команд%2C изучить результаты личная встреч и другие факторы%2C влияющие на исход матчей. Благодаря информативному интерфейсу Мостбет%2C вы всегда буду в курсе последних новостей и событий в мире хоккея. Здесь каждая ставка становится частью огромной игры и или принести не а удовольствие%2C но и хороший выигрыш.

В линии ставок Mostbet представлены разнообразные видов спорта%2C турниры%2C чемпионаты%2C матчи и лиги всех уровней. Севилестр можете делать ставки как до начала матча%2C так же в лайв-режиме. Маржа%2C варьируется от 3%” “конца 12% и предназначенная как для топовых соревнований%2C таки для второстепенных лиг и дивизионов. Особенно популярны среди молодежи соревнования по киберспорту. Мостбет не требует заполнения множества лишних данных при регистрации.

Букмекерская Контора Mostbet Kz

После этого игроку нужно выбирать понравившийся аппарат%2C сделать ставку и начнем игру. Для игроков из Казахстана доступную все способы денежных%2C включая банковские карты%2C электронные кошельки и криптовалюты. Видеоигры только больше привлекают внимание букмекеров и становятся популярными среди игроков. Несмотря на нестабильный и волнообразный ростом%2C киберспорт успешно придерживает свои позиции и азартных площадках. Ее включает чемпионаты и международные события двух масштабов%2C в факте числе женские же молодежные соревнования. Того перейти в раздел%2C достаточно кликнуть кнопку «Футбол» в левую части экрана most bet.

Однако%2C при снятии средств в Mostbet нужно пройти верификацию аккаунта%2C чтобы иметь безопасность и надежность процесса. Это обыкновенная процедура%2C которая служит” “большинства официальных букмекеров. Однако будьте готовы иметь паспорт%2C СНИЛС также водительские права для подтверждения личности. Одной из особенностей сайта — удобная система входа в Mostbet.

Регистрация По Номеру Телефона

Некоторые промо могут может временно приостановлены например изменены. Поэтому нельзя регулярно проверять раздел «Акции»%2C чтобы быть в курсе текущих предложений. Этот способом регистрации в Mostbet наиболее быстрый судя сравнению с предыдущими и осуществляется прошло аккаунты социальных сетей. Раздел с разумеющимися акциями расположен и центре страницы. Сделать языковые настройки например загрузить мобильное приложение можно здесь только.

Игроки оперативно делаются доступ к личному кабинету%2C могут потом после пополнения счета начать делать ставки на спорт или в онлайн-казино. Авторизуйтесь в этом только браузере и разрешите использование данных учетной записи. Информация о в вашем аккаунте будет автоматически сообщено на ваш счет в Mostbet.

“официальный Сайт Mostbet Kz

Ниже находятся блоки с различными типами игр%2C включая лайв и прематч ставки. Здесь используются полускрывающие элементы%2C которые подчеркивают основные функции букмекера. В верхней панели сайта в правом углу находятся кнопки регистрации и неподалеку в личный кабинет. Вы можете выберет регистрацию в который клик или по номеру телефона.

Букмекер привлекла игроков из Казахстана щедрыми бонусами а надежной поддержкой клиентов. Для удобства предоставит казахская языковая версия сайта. Тотализатор в Mostbet казино отличается от обычных спортивных ставок тем%2C что в нем отсутствовали устойчивые коэффициенты mostbet uz aviator.

Платёжные Методы и Мостбет”

Помните%2C что сам процесс игры уже доставляет удовольствие только от осознать того%2C что сами боретесь за приз в несколько тысячи. В Live-казино можно сыграть с живым дилером Это сможете ощутить атмосферу реальных казино прямо одним дома. Вы смогут выбрать рулетку%2C блэкджек%2C баккару и которых популярные игры. Игра проходит в формате” “видеотрансляции%2C крупье находится и зале настоящего казино или специально приспособленной студии. В верхняя части можно найду контакты букмекера%2C подробный информацию о компании. В разделе FAQ ответы на часто задаваемые вопросы%2C недалеко игроки всегда могут получить необходимую доступную о Mostbet kz.

Прогрессивный джекпот — накопительный приз%2C который увеличивается с каждой ставкой. Они доходит огромных сумм же могут быть выиграны в любой момент времени. Следует учитывая%2C что для пополнения счета не требуется проходить идентификацию пользователя.

Ставки На Теннис

А онлайн-казино Мостбет разве несколько вариантов лотерей%2C среди которых вы всегда найдете замечательную. Оператор обеспечивает честный и безопасный игровой процесс и условием конфиденциальность данных пользователей. Они представляют себе игры с вращающимися барабанами%2C различными символами и отличаются тематикой и механикой игры. Многочисленные отзывы остального благодарных игроков говорю о том%2C но компания заслуженно занимает высокие места в многочисленных рейтингах. Виртуозные движения на льду%2C звон клюшек а жесткие сражения команд — все как хоккей — спорт%2C который завораживает динамикой и напряженностью. Тогда вы поклонник другой игры%2C то в Mostbet вы можете и погрузиться и этот леденящий души спортивный мир.

Букмекер предлагает казахстанским игрокам разнообразные способы пополнения игрового счета%2C обеспечивают удобство и гибкость оплаты. В том случае букмекер предложила автоматический выбор исходов событий. Это удобнее%2C если вы сомневается в каких-то матчах%2C тогда можно прислушаться к мнению других игроков. Уникальный подход оператора к акционным предложениям выделяет его среди других азартных проектов.

Карточные Игры

Вы можете сделано ставки на ведущее команды и отслеживать их выступления и ледовых аренах. А Мостбет доступны НХЛ%2C КХЛ%2C Евротур%2C Олимпийские игры и Чемпионат Мира. Теннис — еще один популярный вид спорта%2C он занимает особое место на сайте Mostbet. Здесь широкий выбора турниров и матчей высшего уровня%2C включая самые престижные соревнования. Вы можете сделали ставки на известных теннисистов и следить за их выступлениями на кортах по всему миру.

Раскройте свой способности и сделайте удачным ставку на теннис в Мостбет на сейчас. Независимо ото выбранного вами способа регистрации%2C обязательно ознакомьтесь с Положениями же условиями Mostbet kz. Здесь вы изучите правила%2C которые можно соблюдать для комфортно и безопасности первых время игры. Перейдите в раздел казино и выберите где соответствующую категорию. Мостбет предлагает два варианте вознаграждения при создании аккаунта.

Джекпоты

Тот способ регистрации а Mostbet” “третий по популярности на сайте. Это важно для обеспечения безопасности средств пользователей. Онлайн-версии немного отличаются ото устаревших вариантов пиппардом бочонками и зачеркиванием чисел. В новой цифровой эпохе разработчики iGaming имеют меньше больше возможностей ддя творчества и экспериментов.”

Среди карточных игр в казино Mostbet kz представлены покер%2C блэкджек%2C баккара и другие. Результат вращения колеса также определяется генератором случайных чисел%2C только гарантирует прозрачность и честность процесса. Игрокам следует осознавать%2C что нет стратегии%2C саму гарантированно приведет нему выигрышу в рулетке%2C” “но результаты полностью случайны. Каждая версия существует небольшие отличия а правилах и структуре игры. Для того%2C чтобы запустить слоты на сайте Mostbet kz необходимо создать аккаунт и составить депозит.

Приветственный Бонус

Для Mostbet kz бонусы — не просто маркетинговый инструмент%2C а увеличить лучший на выигрыш дли игроков. Дизайн личной кабинета выполнен а общей стилистике компании. Mostbet казино предложил несколько типов джекпотов%2C включая фиксированные и прогрессивные. Первый существует заранее определенную сумму%2C которая разыгрывается%2C тогда игроком выполняются некие условия.

“А разделе онлайн-казино сами найдете широкий выбирать игр%2C включая слоты%2C рулетку и известные карточные игры%2C эти как блэкджек%2C покер и баккара. Мостбет стремится предоставить клиентам удобные и различные методы пополнения счета. Это отражает стремится оператора удовлетворить потребности и предпочтения игроков. Войдите в саму учетную запись%2C отыщите удобный способ пополнения счета и живите лучшими играми и широчайшим выбором ставок на спорт. Компания Mostbet зарекомендовала себе как надежная игорная онлайн-платформа%2C предоставляющая длиннющий выбор ставок в спорт.

Регистрация Через политические Сети

Где представлены эмуляторы остального NetEnt%2C Microgaming%2C Pragmatic Play%2C Push Gaming и многих которых вендоров. Независимо от того%2C любите ведь вы классические слоты или предпочитаете карточные игры%2C в Мостбет Casino вы найдете игры на любой” “рту. Каждый вновь зарегистрировавшийся игрок может рассчитывать на бонус до 125% на первый депозит. Мостбет предложила целую россыпь бонусов%2C от депозитных до кэшбека и особенных множителей к экспрессам. Для того%2C того создать аккаунт в Mostbet%2C просто зайдите на сайт же нажмите кнопку «Регистрация” в верхнем правом углу экрана.

Вы можете соперничать с игроками и всего мира%2C полагаясь не столько на удачу%2C сколько на свои навыки. И Mostbet найдется множество вариантов для любую игрока — как дли поклонников Большого Шлема%2C так и дли любителей скромных турниров. Погрузитесь в занимательную мир этой великой игры и прочувствуете адреналин от каждого удара на корте.

Слоты Mostbet

Вы всего лишь нужно указать номер телефона и выбрать валюту счета. Оператор проводит несколько валют%2C и том числе тенге%2C так что казахским игрокам будет удобнее пополнять счет. Справа находится купон для событий%2C где невозможно просмотреть выбранные ставки и добавить новой. Центральная часть экрана регулярно обновляется анонсами предстоящих матчей%2C этого пользователи всегда были в курсе наиболее популярных событий. Того получить доступ нему финансовым операциям%2C важен войти в саму учетную запись в сайте Mostbet.

Необходимые данные вам нужно будет ввести и личном кабинете. Это популярная и такая форма азартных игр%2C которая перешла одним традиционных наземных форматов в онлайн-сферу. Виртуальное казино Mostbet kz предлагает широкий выбор лотерей%2C включая кено%2C скретч-карты%2C бинго и другие. Представлены же классические варианты%2C так и увлекательные модификации с разнообразной тематикой.

Бонусы Мостбет

А этого игрокам целесообразно список событий%2C потому от 8 конца 15. Задача пользователей состоит в угадывании вероятных исходов. Победители делят призовой фонд%2C который формируется один ставок за тираж. Здесь поклонников предстоит широкий выбор хоккейных соревнований%2C начиная со престижных лиг и заканчивая международными чемпионатами.

Если выполнить все условия акции в заданные сроки%2C то можно неплохо увеличить банкролл. Ддя удобства игроков слоты разделяются на вкладки «Избранное»%2C «Новые» же «Популярные»%2C что обеспечивает навигацию. Важно отметить%2C что результат игры в казино Mostbet kz определяется генератором случайных чисел. Игровые аппараты лицензированы же регулярно проходят проверку в независимых iGaming-лабораториях%2C что обеспечивает верность игры. Одно один главных преимуществ Mostbet kz — большой выбор игр остального ведущих разработчиков.

Регистрация В Мостбет

Компания Mostbet начала собственную деятельность в 2009 году и уже более 10 лет предоставляет онлайн-услуги а сфере ставок в спорт и казино. В Казахстане и других странах ЗАРУБЕЖЬЕ букмекер пользуется огромной популярностью. Оператор работаю по лицензии Комиссии по азартным играм Кюрасао и жестко соблюдает все требования регулятора. Для поддержания пароля%2C введите e-mail или номер телефона%2C указанные при регистрации%2C и следуйте дальнейшим инструкциям. Шансы выиграет джекпот в Mostbet kz зависят остального конкретной игры и ее правил. Прогрессивные джекпоты%2C как часто%2C имеют внушительную сумма%2C но шанс скинуть куш в них ниже%2C чем у фиксированных.

(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; }()); })();