From d5817dd3676081e13be86f03c574bcbb57293936 Mon Sep 17 00:00:00 2001 From: Sebastian Castro Date: Wed, 19 Jun 2024 11:11:18 +0200 Subject: [PATCH] Prevent formating this vendor file copied inside codebase It's copied from extract-file-from-node-module script --- .eslintrc.js | 3 ++- .../presentation/javascripts/ext-searchbox.js | 17 ++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index a6b24c0fc..d401f45d2 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -56,6 +56,7 @@ module.exports = { '!tools/tableau', '!tools/tags', '!tools/templates', - '!tools/toc' + '!tools/toc', + 'tools/aceditor/presentation/javascripts/ext-searchbox.js' ] } diff --git a/tools/aceditor/presentation/javascripts/ext-searchbox.js b/tools/aceditor/presentation/javascripts/ext-searchbox.js index 79b45837b..6973dd048 100644 --- a/tools/aceditor/presentation/javascripts/ext-searchbox.js +++ b/tools/aceditor/presentation/javascripts/ext-searchbox.js @@ -1,9 +1,8 @@ -ace.define('ace/ext/searchbox-css', ['require', 'exports', 'module'], (e, t, n) => { n.exports = '\n\n/* ------------------------------------------------------------------------------------------\n * Editor Search Form\n * --------------------------------------------------------------------------------------- */\n.ace_search {\n background-color: #ddd;\n color: #666;\n border: 1px solid #cbcbcb;\n border-top: 0 none;\n overflow: hidden;\n margin: 0;\n padding: 4px 6px 0 4px;\n position: absolute;\n top: 0;\n z-index: 99;\n white-space: normal;\n}\n.ace_search.left {\n border-left: 0 none;\n border-radius: 0px 0px 5px 0px;\n left: 0;\n}\n.ace_search.right {\n border-radius: 0px 0px 0px 5px;\n border-right: 0 none;\n right: 0;\n}\n\n.ace_search_form, .ace_replace_form {\n margin: 0 20px 4px 0;\n overflow: hidden;\n line-height: 1.9;\n}\n.ace_replace_form {\n margin-right: 0;\n}\n.ace_search_form.ace_nomatch {\n outline: 1px solid red;\n}\n\n.ace_search_field {\n border-radius: 3px 0 0 3px;\n background-color: white;\n color: black;\n border: 1px solid #cbcbcb;\n border-right: 0 none;\n outline: 0;\n padding: 0;\n font-size: inherit;\n margin: 0;\n line-height: inherit;\n padding: 0 6px;\n min-width: 17em;\n vertical-align: top;\n min-height: 1.8em;\n box-sizing: content-box;\n}\n.ace_searchbtn {\n border: 1px solid #cbcbcb;\n line-height: inherit;\n display: inline-block;\n padding: 0 6px;\n background: #fff;\n border-right: 0 none;\n border-left: 1px solid #dcdcdc;\n cursor: pointer;\n margin: 0;\n position: relative;\n color: #666;\n}\n.ace_searchbtn:last-child {\n border-radius: 0 3px 3px 0;\n border-right: 1px solid #cbcbcb;\n}\n.ace_searchbtn:disabled {\n background: none;\n cursor: default;\n}\n.ace_searchbtn:hover {\n background-color: #eef1f6;\n}\n.ace_searchbtn.prev, .ace_searchbtn.next {\n padding: 0px 0.7em\n}\n.ace_searchbtn.prev:after, .ace_searchbtn.next:after {\n content: "";\n border: solid 2px #888;\n width: 0.5em;\n height: 0.5em;\n border-width: 2px 0 0 2px;\n display:inline-block;\n transform: rotate(-45deg);\n}\n.ace_searchbtn.next:after {\n border-width: 0 2px 2px 0 ;\n}\n.ace_searchbtn_close {\n background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAcCAYAAABRVo5BAAAAZ0lEQVR42u2SUQrAMAhDvazn8OjZBilCkYVVxiis8H4CT0VrAJb4WHT3C5xU2a2IQZXJjiQIRMdkEoJ5Q2yMqpfDIo+XY4k6h+YXOyKqTIj5REaxloNAd0xiKmAtsTHqW8sR2W5f7gCu5nWFUpVjZwAAAABJRU5ErkJggg==) no-repeat 50% 0;\n border-radius: 50%;\n border: 0 none;\n color: #656565;\n cursor: pointer;\n font: 16px/16px Arial;\n padding: 0;\n height: 14px;\n width: 14px;\n top: 9px;\n right: 7px;\n position: absolute;\n}\n.ace_searchbtn_close:hover {\n background-color: #656565;\n background-position: 50% 100%;\n color: white;\n}\n\n.ace_button {\n margin-left: 2px;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n -o-user-select: none;\n -ms-user-select: none;\n user-select: none;\n overflow: hidden;\n opacity: 0.7;\n border: 1px solid rgba(100,100,100,0.23);\n padding: 1px;\n box-sizing: border-box!important;\n color: black;\n}\n\n.ace_button:hover {\n background-color: #eee;\n opacity:1;\n}\n.ace_button:active {\n background-color: #ddd;\n}\n\n.ace_button.checked {\n border-color: #3399ff;\n opacity:1;\n}\n\n.ace_search_options{\n margin-bottom: 3px;\n text-align: right;\n -webkit-user-select: none;\n -moz-user-select: none;\n -o-user-select: none;\n -ms-user-select: none;\n user-select: none;\n clear: both;\n}\n\n.ace_search_counter {\n float: left;\n font-family: arial;\n padding: 0 8px;\n}' }), ace.define('ace/ext/searchbox', ['require', 'exports', 'module', 'ace/lib/dom', 'ace/lib/lang', 'ace/lib/event', 'ace/ext/searchbox-css', 'ace/keyboard/hash_handler', 'ace/lib/keys', 'ace/config'], (e, t, n) => { - const r = e('../lib/dom'); const i = e('../lib/lang'); const s = e('../lib/event'); const o = e('./searchbox-css'); const u = e('../keyboard/hash_handler').HashHandler; const a = e('../lib/keys'); const f = e('../config').nls; const l = 999; r.importCssString(o, 'ace_searchbox', !1); const c = (function() { function e(e, t, n) { this.activeInput; const i = r.createElement('div'); r.buildDom(['div', { class: 'ace_search right' }, ['span', { action: 'hide', class: 'ace_searchbtn_close' }], ['div', { class: 'ace_search_form' }, ['input', { class: 'ace_search_field', placeholder: f('search-box.find.placeholder', 'Search for'), spellcheck: 'false' }], ['span', { action: 'findPrev', class: 'ace_searchbtn prev' }, '\u200b'], ['span', { action: 'findNext', class: 'ace_searchbtn next' }, '\u200b'], ['span', { action: 'findAll', class: 'ace_searchbtn', title: 'Alt-Enter' }, f('search-box.find-all.text', 'All')]], ['div', { class: 'ace_replace_form' }, ['input', { class: 'ace_search_field', placeholder: f('search-box.replace.placeholder', 'Replace with'), spellcheck: 'false' }], ['span', { action: 'replaceAndFindNext', class: 'ace_searchbtn' }, f('search-box.replace-next.text', 'Replace')], ['span', { action: 'replaceAll', class: 'ace_searchbtn' }, f('search-box.replace-all.text', 'All')]], ['div', { class: 'ace_search_options' }, ['span', { action: 'toggleReplace', class: 'ace_button', title: f('search-box.toggle-replace.title', 'Toggle Replace mode'), style: 'float:left;margin-top:-2px;padding:0 5px;' }, '+'], ['span', { class: 'ace_search_counter' }], ['span', { action: 'toggleRegexpMode', class: 'ace_button', title: f('search-box.toggle-regexp.title', 'RegExp Search') }, '.*'], ['span', { action: 'toggleCaseSensitive', class: 'ace_button', title: f('search-box.toggle-case.title', 'CaseSensitive Search') }, 'Aa'], ['span', { action: 'toggleWholeWords', class: 'ace_button', title: f('search-box.toggle-whole-word.title', 'Whole Word Search') }, '\\b'], ['span', { action: 'searchInSelection', class: 'ace_button', title: f('search-box.toggle-in-selection.title', 'Search In Selection') }, 'S']]], i), this.element = i.firstChild, this.setSession = this.setSession.bind(this), this.$init(), this.setEditor(e), r.importCssString(o, 'ace_searchbox', e.container) } return e.prototype.setEditor = function(e) { e.searchBox = this, e.renderer.scroller.appendChild(this.element), this.editor = e }, e.prototype.setSession = function(e) { this.searchRange = null, this.$syncOptions(!0) }, e.prototype.$initElements = function(e) { this.searchBox = e.querySelector('.ace_search_form'), this.replaceBox = e.querySelector('.ace_replace_form'), this.searchOption = e.querySelector('[action=searchInSelection]'), this.replaceOption = e.querySelector('[action=toggleReplace]'), this.regExpOption = e.querySelector('[action=toggleRegexpMode]'), this.caseSensitiveOption = e.querySelector('[action=toggleCaseSensitive]'), this.wholeWordOption = e.querySelector('[action=toggleWholeWords]'), this.searchInput = this.searchBox.querySelector('.ace_search_field'), this.replaceInput = this.replaceBox.querySelector('.ace_search_field'), this.searchCounter = e.querySelector('.ace_search_counter') }, e.prototype.$init = function() { const e = this.element; this.$initElements(e); const t = this; s.addListener(e, 'mousedown', (e) => { setTimeout(() => { t.activeInput.focus() }, 0), s.stopPropagation(e) }), s.addListener(e, 'click', (e) => { const n = e.target || e.srcElement; const r = n.getAttribute('action'); r && t[r] ? t[r]() : t.$searchBarKb.commands[r] && t.$searchBarKb.commands[r].exec(t), s.stopPropagation(e) }), s.addCommandKeyListener(e, (e, n, r) => { const i = a.keyCodeToString(r); const o = t.$searchBarKb.findKeyCommand(n, i); o && o.exec && (o.exec(t), s.stopEvent(e)) }), this.$onChange = i.delayedCall(() => { t.find(!1, !1) }), s.addListener(this.searchInput, 'input', () => { t.$onChange.schedule(20) }), s.addListener(this.searchInput, 'focus', () => { t.activeInput = t.searchInput, t.searchInput.value && t.highlight() }), s.addListener(this.replaceInput, 'focus', () => { t.activeInput = t.replaceInput, t.searchInput.value && t.highlight() }) }, e.prototype.setSearchRange = function(e) { this.searchRange = e, e ? this.searchRangeMarker = this.editor.session.addMarker(e, 'ace_active-line') : this.searchRangeMarker && (this.editor.session.removeMarker(this.searchRangeMarker), this.searchRangeMarker = null) }, e.prototype.$syncOptions = function(e) { r.setCssClass(this.replaceOption, 'checked', this.searchRange), r.setCssClass(this.searchOption, 'checked', this.searchOption.checked), this.replaceOption.textContent = this.replaceOption.checked ? '-' : '+', r.setCssClass(this.regExpOption, 'checked', this.regExpOption.checked), r.setCssClass(this.wholeWordOption, 'checked', this.wholeWordOption.checked), r.setCssClass(this.caseSensitiveOption, 'checked', this.caseSensitiveOption.checked); const t = this.editor.getReadOnly(); this.replaceOption.style.display = t ? 'none' : '', this.replaceBox.style.display = this.replaceOption.checked && !t ? '' : 'none', this.find(!1, !1, e) }, e.prototype.highlight = function(e) { this.editor.session.highlight(e || this.editor.$search.$options.re), this.editor.renderer.updateBackMarkers() }, e.prototype.find = function(e, t, n) { const i = this.editor.find(this.searchInput.value, { skipCurrent: e, backwards: t, wrap: !0, regExp: this.regExpOption.checked, caseSensitive: this.caseSensitiveOption.checked, wholeWord: this.wholeWordOption.checked, preventScroll: n, range: this.searchRange }); const s = !i && this.searchInput.value; r.setCssClass(this.searchBox, 'ace_nomatch', s), this.editor._emit('findSearchBox', { match: !s }), this.highlight(), this.updateCounter() }, e.prototype.updateCounter = function() { const e = this.editor; const t = e.$search.$options.re; const n = t.unicode; let r = 0; let s = 0; if (t) { const o = this.searchRange ? e.session.getTextRange(this.searchRange) : e.getValue(); let u = e.session.doc.positionToIndex(e.selection.anchor); this.searchRange && (u -= e.session.doc.positionToIndex(this.searchRange.start)); let a = t.lastIndex = 0; let c; while (c = t.exec(o)) { r++, a = c.index, a <= u && s++; if (r > l) break; if (!c[0]) { t.lastIndex = a += i.skipEmptyMatch(o, a, n); if (a >= o.length) break } } } this.searchCounter.textContent = f('search-box.search-counter', '$0 of $1', [s, r > l ? `${l}+` : r]) }, e.prototype.findNext = function() { this.find(!0, !1) }, e.prototype.findPrev = function() { this.find(!0, !0) }, e.prototype.findAll = function() { const e = this.editor.findAll(this.searchInput.value, { regExp: this.regExpOption.checked, caseSensitive: this.caseSensitiveOption.checked, wholeWord: this.wholeWordOption.checked }); const t = !e && this.searchInput.value; r.setCssClass(this.searchBox, 'ace_nomatch', t), this.editor._emit('findSearchBox', { match: !t }), this.highlight(), this.hide() }, e.prototype.replace = function() { this.editor.getReadOnly() || this.editor.replace(this.replaceInput.value) }, e.prototype.replaceAndFindNext = function() { this.editor.getReadOnly() || (this.editor.replace(this.replaceInput.value), this.findNext()) }, e.prototype.replaceAll = function() { this.editor.getReadOnly() || this.editor.replaceAll(this.replaceInput.value) }, e.prototype.hide = function() { this.active = !1, this.setSearchRange(null), this.editor.off('changeSession', this.setSession), this.element.style.display = 'none', this.editor.keyBinding.removeKeyboardHandler(this.$closeSearchBarKb), this.editor.focus() }, e.prototype.show = function(e, t) { this.active = !0, this.editor.on('changeSession', this.setSession), this.element.style.display = '', this.replaceOption.checked = t, e && (this.searchInput.value = e), this.searchInput.focus(), this.searchInput.select(), this.editor.keyBinding.addKeyboardHandler(this.$closeSearchBarKb), this.$syncOptions(!0) }, e.prototype.isFocused = function() { const e = document.activeElement; return e == this.searchInput || e == this.replaceInput }, e }()); const h = new u(); h.bindKeys({ 'Ctrl-f|Command-f': function(e) { const t = e.isReplace = !e.isReplace; e.replaceBox.style.display = t ? '' : 'none', e.replaceOption.checked = !1, e.$syncOptions(), e.searchInput.focus() }, 'Ctrl-H|Command-Option-F': function(e) { if (e.editor.getReadOnly()) return; e.replaceOption.checked = !0, e.$syncOptions(), e.replaceInput.focus() }, 'Ctrl-G|Command-G': function(e) { e.findNext() }, 'Ctrl-Shift-G|Command-Shift-G': function(e) { e.findPrev() }, esc(e) { setTimeout(() => { e.hide() }) }, Return(e) { e.activeInput == e.replaceInput && e.replace(), e.findNext() }, 'Shift-Return': function(e) { e.activeInput == e.replaceInput && e.replace(), e.findPrev() }, 'Alt-Return': function(e) { e.activeInput == e.replaceInput && e.replaceAll(), e.findAll() }, Tab(e) { (e.activeInput == e.replaceInput ? e.searchInput : e.replaceInput).focus() } }), h.addCommands([{ name: 'toggleRegexpMode', bindKey: { win: 'Alt-R|Alt-/', mac: 'Ctrl-Alt-R|Ctrl-Alt-/' }, exec(e) { e.regExpOption.checked = !e.regExpOption.checked, e.$syncOptions() } }, { name: 'toggleCaseSensitive', bindKey: { win: 'Alt-C|Alt-I', mac: 'Ctrl-Alt-R|Ctrl-Alt-I' }, exec(e) { e.caseSensitiveOption.checked = !e.caseSensitiveOption.checked, e.$syncOptions() } }, { name: 'toggleWholeWords', bindKey: { win: 'Alt-B|Alt-W', mac: 'Ctrl-Alt-B|Ctrl-Alt-W' }, exec(e) { e.wholeWordOption.checked = !e.wholeWordOption.checked, e.$syncOptions() } }, { name: 'toggleReplace', exec(e) { e.replaceOption.checked = !e.replaceOption.checked, e.$syncOptions() } }, { name: 'searchInSelection', exec(e) { e.searchOption.checked = !e.searchRange, e.setSearchRange(e.searchOption.checked && e.editor.getSelectionRange()), e.$syncOptions() } }]); const p = new u([{ bindKey: 'Esc', name: 'closeSearchBar', exec(e) { e.searchBox.hide() } }]); c.prototype.$searchBarKb = h, c.prototype.$closeSearchBarKb = p, t.SearchBox = c, t.Search = function(e, t) { const n = e.searchBox || new c(e); n.show(e.session.getTextRange(), t) } -}); (function() { - ace.require(['ace/ext/searchbox'], (m) => { - if (typeof module == 'object' && typeof exports == 'object' && module) { - module.exports = m - } - }) -}()) +ace.define("ace/ext/searchbox-css",["require","exports","module"],function(e,t,n){n.exports='\n\n/* ------------------------------------------------------------------------------------------\n * Editor Search Form\n * --------------------------------------------------------------------------------------- */\n.ace_search {\n background-color: #ddd;\n color: #666;\n border: 1px solid #cbcbcb;\n border-top: 0 none;\n overflow: hidden;\n margin: 0;\n padding: 4px 6px 0 4px;\n position: absolute;\n top: 0;\n z-index: 99;\n white-space: normal;\n}\n.ace_search.left {\n border-left: 0 none;\n border-radius: 0px 0px 5px 0px;\n left: 0;\n}\n.ace_search.right {\n border-radius: 0px 0px 0px 5px;\n border-right: 0 none;\n right: 0;\n}\n\n.ace_search_form, .ace_replace_form {\n margin: 0 20px 4px 0;\n overflow: hidden;\n line-height: 1.9;\n}\n.ace_replace_form {\n margin-right: 0;\n}\n.ace_search_form.ace_nomatch {\n outline: 1px solid red;\n}\n\n.ace_search_field {\n border-radius: 3px 0 0 3px;\n background-color: white;\n color: black;\n border: 1px solid #cbcbcb;\n border-right: 0 none;\n outline: 0;\n padding: 0;\n font-size: inherit;\n margin: 0;\n line-height: inherit;\n padding: 0 6px;\n min-width: 17em;\n vertical-align: top;\n min-height: 1.8em;\n box-sizing: content-box;\n}\n.ace_searchbtn {\n border: 1px solid #cbcbcb;\n line-height: inherit;\n display: inline-block;\n padding: 0 6px;\n background: #fff;\n border-right: 0 none;\n border-left: 1px solid #dcdcdc;\n cursor: pointer;\n margin: 0;\n position: relative;\n color: #666;\n}\n.ace_searchbtn:last-child {\n border-radius: 0 3px 3px 0;\n border-right: 1px solid #cbcbcb;\n}\n.ace_searchbtn:disabled {\n background: none;\n cursor: default;\n}\n.ace_searchbtn:hover {\n background-color: #eef1f6;\n}\n.ace_searchbtn.prev, .ace_searchbtn.next {\n padding: 0px 0.7em\n}\n.ace_searchbtn.prev:after, .ace_searchbtn.next:after {\n content: "";\n border: solid 2px #888;\n width: 0.5em;\n height: 0.5em;\n border-width: 2px 0 0 2px;\n display:inline-block;\n transform: rotate(-45deg);\n}\n.ace_searchbtn.next:after {\n border-width: 0 2px 2px 0 ;\n}\n.ace_searchbtn_close {\n background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAcCAYAAABRVo5BAAAAZ0lEQVR42u2SUQrAMAhDvazn8OjZBilCkYVVxiis8H4CT0VrAJb4WHT3C5xU2a2IQZXJjiQIRMdkEoJ5Q2yMqpfDIo+XY4k6h+YXOyKqTIj5REaxloNAd0xiKmAtsTHqW8sR2W5f7gCu5nWFUpVjZwAAAABJRU5ErkJggg==) no-repeat 50% 0;\n border-radius: 50%;\n border: 0 none;\n color: #656565;\n cursor: pointer;\n font: 16px/16px Arial;\n padding: 0;\n height: 14px;\n width: 14px;\n top: 9px;\n right: 7px;\n position: absolute;\n}\n.ace_searchbtn_close:hover {\n background-color: #656565;\n background-position: 50% 100%;\n color: white;\n}\n\n.ace_button {\n margin-left: 2px;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n -o-user-select: none;\n -ms-user-select: none;\n user-select: none;\n overflow: hidden;\n opacity: 0.7;\n border: 1px solid rgba(100,100,100,0.23);\n padding: 1px;\n box-sizing: border-box!important;\n color: black;\n}\n\n.ace_button:hover {\n background-color: #eee;\n opacity:1;\n}\n.ace_button:active {\n background-color: #ddd;\n}\n\n.ace_button.checked {\n border-color: #3399ff;\n opacity:1;\n}\n\n.ace_search_options{\n margin-bottom: 3px;\n text-align: right;\n -webkit-user-select: none;\n -moz-user-select: none;\n -o-user-select: none;\n -ms-user-select: none;\n user-select: none;\n clear: both;\n}\n\n.ace_search_counter {\n float: left;\n font-family: arial;\n padding: 0 8px;\n}'}),ace.define("ace/ext/searchbox",["require","exports","module","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/ext/searchbox-css","ace/keyboard/hash_handler","ace/lib/keys","ace/config"],function(e,t,n){"use strict";var r=e("../lib/dom"),i=e("../lib/lang"),s=e("../lib/event"),o=e("./searchbox-css"),u=e("../keyboard/hash_handler").HashHandler,a=e("../lib/keys"),f=e("../config").nls,l=999;r.importCssString(o,"ace_searchbox",!1);var c=function(){function e(e,t,n){this.activeInput;var i=r.createElement("div");r.buildDom(["div",{"class":"ace_search right"},["span",{action:"hide","class":"ace_searchbtn_close"}],["div",{"class":"ace_search_form"},["input",{"class":"ace_search_field",placeholder:f("search-box.find.placeholder","Search for"),spellcheck:"false"}],["span",{action:"findPrev","class":"ace_searchbtn prev"},"\u200b"],["span",{action:"findNext","class":"ace_searchbtn next"},"\u200b"],["span",{action:"findAll","class":"ace_searchbtn",title:"Alt-Enter"},f("search-box.find-all.text","All")]],["div",{"class":"ace_replace_form"},["input",{"class":"ace_search_field",placeholder:f("search-box.replace.placeholder","Replace with"),spellcheck:"false"}],["span",{action:"replaceAndFindNext","class":"ace_searchbtn"},f("search-box.replace-next.text","Replace")],["span",{action:"replaceAll","class":"ace_searchbtn"},f("search-box.replace-all.text","All")]],["div",{"class":"ace_search_options"},["span",{action:"toggleReplace","class":"ace_button",title:f("search-box.toggle-replace.title","Toggle Replace mode"),style:"float:left;margin-top:-2px;padding:0 5px;"},"+"],["span",{"class":"ace_search_counter"}],["span",{action:"toggleRegexpMode","class":"ace_button",title:f("search-box.toggle-regexp.title","RegExp Search")},".*"],["span",{action:"toggleCaseSensitive","class":"ace_button",title:f("search-box.toggle-case.title","CaseSensitive Search")},"Aa"],["span",{action:"toggleWholeWords","class":"ace_button",title:f("search-box.toggle-whole-word.title","Whole Word Search")},"\\b"],["span",{action:"searchInSelection","class":"ace_button",title:f("search-box.toggle-in-selection.title","Search In Selection")},"S"]]],i),this.element=i.firstChild,this.setSession=this.setSession.bind(this),this.$init(),this.setEditor(e),r.importCssString(o,"ace_searchbox",e.container)}return e.prototype.setEditor=function(e){e.searchBox=this,e.renderer.scroller.appendChild(this.element),this.editor=e},e.prototype.setSession=function(e){this.searchRange=null,this.$syncOptions(!0)},e.prototype.$initElements=function(e){this.searchBox=e.querySelector(".ace_search_form"),this.replaceBox=e.querySelector(".ace_replace_form"),this.searchOption=e.querySelector("[action=searchInSelection]"),this.replaceOption=e.querySelector("[action=toggleReplace]"),this.regExpOption=e.querySelector("[action=toggleRegexpMode]"),this.caseSensitiveOption=e.querySelector("[action=toggleCaseSensitive]"),this.wholeWordOption=e.querySelector("[action=toggleWholeWords]"),this.searchInput=this.searchBox.querySelector(".ace_search_field"),this.replaceInput=this.replaceBox.querySelector(".ace_search_field"),this.searchCounter=e.querySelector(".ace_search_counter")},e.prototype.$init=function(){var e=this.element;this.$initElements(e);var t=this;s.addListener(e,"mousedown",function(e){setTimeout(function(){t.activeInput.focus()},0),s.stopPropagation(e)}),s.addListener(e,"click",function(e){var n=e.target||e.srcElement,r=n.getAttribute("action");r&&t[r]?t[r]():t.$searchBarKb.commands[r]&&t.$searchBarKb.commands[r].exec(t),s.stopPropagation(e)}),s.addCommandKeyListener(e,function(e,n,r){var i=a.keyCodeToString(r),o=t.$searchBarKb.findKeyCommand(n,i);o&&o.exec&&(o.exec(t),s.stopEvent(e))}),this.$onChange=i.delayedCall(function(){t.find(!1,!1)}),s.addListener(this.searchInput,"input",function(){t.$onChange.schedule(20)}),s.addListener(this.searchInput,"focus",function(){t.activeInput=t.searchInput,t.searchInput.value&&t.highlight()}),s.addListener(this.replaceInput,"focus",function(){t.activeInput=t.replaceInput,t.searchInput.value&&t.highlight()})},e.prototype.setSearchRange=function(e){this.searchRange=e,e?this.searchRangeMarker=this.editor.session.addMarker(e,"ace_active-line"):this.searchRangeMarker&&(this.editor.session.removeMarker(this.searchRangeMarker),this.searchRangeMarker=null)},e.prototype.$syncOptions=function(e){r.setCssClass(this.replaceOption,"checked",this.searchRange),r.setCssClass(this.searchOption,"checked",this.searchOption.checked),this.replaceOption.textContent=this.replaceOption.checked?"-":"+",r.setCssClass(this.regExpOption,"checked",this.regExpOption.checked),r.setCssClass(this.wholeWordOption,"checked",this.wholeWordOption.checked),r.setCssClass(this.caseSensitiveOption,"checked",this.caseSensitiveOption.checked);var t=this.editor.getReadOnly();this.replaceOption.style.display=t?"none":"",this.replaceBox.style.display=this.replaceOption.checked&&!t?"":"none",this.find(!1,!1,e)},e.prototype.highlight=function(e){this.editor.session.highlight(e||this.editor.$search.$options.re),this.editor.renderer.updateBackMarkers()},e.prototype.find=function(e,t,n){var i=this.editor.find(this.searchInput.value,{skipCurrent:e,backwards:t,wrap:!0,regExp:this.regExpOption.checked,caseSensitive:this.caseSensitiveOption.checked,wholeWord:this.wholeWordOption.checked,preventScroll:n,range:this.searchRange}),s=!i&&this.searchInput.value;r.setCssClass(this.searchBox,"ace_nomatch",s),this.editor._emit("findSearchBox",{match:!s}),this.highlight(),this.updateCounter()},e.prototype.updateCounter=function(){var e=this.editor,t=e.$search.$options.re,n=t.unicode,r=0,s=0;if(t){var o=this.searchRange?e.session.getTextRange(this.searchRange):e.getValue(),u=e.session.doc.positionToIndex(e.selection.anchor);this.searchRange&&(u-=e.session.doc.positionToIndex(this.searchRange.start));var a=t.lastIndex=0,c;while(c=t.exec(o)){r++,a=c.index,a<=u&&s++;if(r>l)break;if(!c[0]){t.lastIndex=a+=i.skipEmptyMatch(o,a,n);if(a>=o.length)break}}}this.searchCounter.textContent=f("search-box.search-counter","$0 of $1",[s,r>l?l+"+":r])},e.prototype.findNext=function(){this.find(!0,!1)},e.prototype.findPrev=function(){this.find(!0,!0)},e.prototype.findAll=function(){var e=this.editor.findAll(this.searchInput.value,{regExp:this.regExpOption.checked,caseSensitive:this.caseSensitiveOption.checked,wholeWord:this.wholeWordOption.checked}),t=!e&&this.searchInput.value;r.setCssClass(this.searchBox,"ace_nomatch",t),this.editor._emit("findSearchBox",{match:!t}),this.highlight(),this.hide()},e.prototype.replace=function(){this.editor.getReadOnly()||this.editor.replace(this.replaceInput.value)},e.prototype.replaceAndFindNext=function(){this.editor.getReadOnly()||(this.editor.replace(this.replaceInput.value),this.findNext())},e.prototype.replaceAll=function(){this.editor.getReadOnly()||this.editor.replaceAll(this.replaceInput.value)},e.prototype.hide=function(){this.active=!1,this.setSearchRange(null),this.editor.off("changeSession",this.setSession),this.element.style.display="none",this.editor.keyBinding.removeKeyboardHandler(this.$closeSearchBarKb),this.editor.focus()},e.prototype.show=function(e,t){this.active=!0,this.editor.on("changeSession",this.setSession),this.element.style.display="",this.replaceOption.checked=t,e&&(this.searchInput.value=e),this.searchInput.focus(),this.searchInput.select(),this.editor.keyBinding.addKeyboardHandler(this.$closeSearchBarKb),this.$syncOptions(!0)},e.prototype.isFocused=function(){var e=document.activeElement;return e==this.searchInput||e==this.replaceInput},e}(),h=new u;h.bindKeys({"Ctrl-f|Command-f":function(e){var t=e.isReplace=!e.isReplace;e.replaceBox.style.display=t?"":"none",e.replaceOption.checked=!1,e.$syncOptions(),e.searchInput.focus()},"Ctrl-H|Command-Option-F":function(e){if(e.editor.getReadOnly())return;e.replaceOption.checked=!0,e.$syncOptions(),e.replaceInput.focus()},"Ctrl-G|Command-G":function(e){e.findNext()},"Ctrl-Shift-G|Command-Shift-G":function(e){e.findPrev()},esc:function(e){setTimeout(function(){e.hide()})},Return:function(e){e.activeInput==e.replaceInput&&e.replace(),e.findNext()},"Shift-Return":function(e){e.activeInput==e.replaceInput&&e.replace(),e.findPrev()},"Alt-Return":function(e){e.activeInput==e.replaceInput&&e.replaceAll(),e.findAll()},Tab:function(e){(e.activeInput==e.replaceInput?e.searchInput:e.replaceInput).focus()}}),h.addCommands([{name:"toggleRegexpMode",bindKey:{win:"Alt-R|Alt-/",mac:"Ctrl-Alt-R|Ctrl-Alt-/"},exec:function(e){e.regExpOption.checked=!e.regExpOption.checked,e.$syncOptions()}},{name:"toggleCaseSensitive",bindKey:{win:"Alt-C|Alt-I",mac:"Ctrl-Alt-R|Ctrl-Alt-I"},exec:function(e){e.caseSensitiveOption.checked=!e.caseSensitiveOption.checked,e.$syncOptions()}},{name:"toggleWholeWords",bindKey:{win:"Alt-B|Alt-W",mac:"Ctrl-Alt-B|Ctrl-Alt-W"},exec:function(e){e.wholeWordOption.checked=!e.wholeWordOption.checked,e.$syncOptions()}},{name:"toggleReplace",exec:function(e){e.replaceOption.checked=!e.replaceOption.checked,e.$syncOptions()}},{name:"searchInSelection",exec:function(e){e.searchOption.checked=!e.searchRange,e.setSearchRange(e.searchOption.checked&&e.editor.getSelectionRange()),e.$syncOptions()}}]);var p=new u([{bindKey:"Esc",name:"closeSearchBar",exec:function(e){e.searchBox.hide()}}]);c.prototype.$searchBarKb=h,c.prototype.$closeSearchBarKb=p,t.SearchBox=c,t.Search=function(e,t){var n=e.searchBox||new c(e);n.show(e.session.getTextRange(),t)}}); (function() { + ace.require(["ace/ext/searchbox"], function(m) { + if (typeof module == "object" && typeof exports == "object" && module) { + module.exports = m; + } + }); + })(); + \ No newline at end of file