ext-searchbox-c8bd8a8d.js.map 28 KB

1
  1. {"version":3,"file":"ext-searchbox-c8bd8a8d.js","sources":["../../node_modules/ace-builds/src-noconflict/ext-searchbox.js"],"sourcesContent":["ace.define(\"ace/ext/searchbox.css\",[\"require\",\"exports\",\"module\"], function(require, exports, module){module.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}\";\n\n});\n\nace.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(require, exports, module){\"use strict\";\nvar dom = require(\"../lib/dom\");\nvar lang = require(\"../lib/lang\");\nvar event = require(\"../lib/event\");\nvar searchboxCss = require(\"./searchbox.css\");\nvar HashHandler = require(\"../keyboard/hash_handler\").HashHandler;\nvar keyUtil = require(\"../lib/keys\");\nvar nls = require(\"../config\").nls;\nvar MAX_COUNT = 999;\ndom.importCssString(searchboxCss, \"ace_searchbox\", false);\nvar SearchBox = /** @class */ (function () {\n function SearchBox(editor, range, showReplaceForm) {\n var div = dom.createElement(\"div\");\n dom.buildDom([\"div\", { class: \"ace_search right\" },\n [\"span\", { action: \"hide\", class: \"ace_searchbtn_close\" }],\n [\"div\", { class: \"ace_search_form\" },\n [\"input\", { class: \"ace_search_field\", placeholder: nls(\"Search for\"), spellcheck: \"false\" }],\n [\"span\", { action: \"findPrev\", class: \"ace_searchbtn prev\" }, \"\\u200b\"],\n [\"span\", { action: \"findNext\", class: \"ace_searchbtn next\" }, \"\\u200b\"],\n [\"span\", { action: \"findAll\", class: \"ace_searchbtn\", title: \"Alt-Enter\" }, nls(\"All\")]\n ],\n [\"div\", { class: \"ace_replace_form\" },\n [\"input\", { class: \"ace_search_field\", placeholder: nls(\"Replace with\"), spellcheck: \"false\" }],\n [\"span\", { action: \"replaceAndFindNext\", class: \"ace_searchbtn\" }, nls(\"Replace\")],\n [\"span\", { action: \"replaceAll\", class: \"ace_searchbtn\" }, nls(\"All\")]\n ],\n [\"div\", { class: \"ace_search_options\" },\n [\"span\", { action: \"toggleReplace\", class: \"ace_button\", title: nls(\"Toggle Replace mode\"),\n style: \"float:left;margin-top:-2px;padding:0 5px;\" }, \"+\"],\n [\"span\", { class: \"ace_search_counter\" }],\n [\"span\", { action: \"toggleRegexpMode\", class: \"ace_button\", title: nls(\"RegExp Search\") }, \".*\"],\n [\"span\", { action: \"toggleCaseSensitive\", class: \"ace_button\", title: nls(\"CaseSensitive Search\") }, \"Aa\"],\n [\"span\", { action: \"toggleWholeWords\", class: \"ace_button\", title: nls(\"Whole Word Search\") }, \"\\\\b\"],\n [\"span\", { action: \"searchInSelection\", class: \"ace_button\", title: nls(\"Search In Selection\") }, \"S\"]\n ]\n ], div);\n this.element = div.firstChild;\n this.setSession = this.setSession.bind(this);\n this.$init();\n this.setEditor(editor);\n dom.importCssString(searchboxCss, \"ace_searchbox\", editor.container);\n }\n SearchBox.prototype.setEditor = function (editor) {\n editor.searchBox = this;\n editor.renderer.scroller.appendChild(this.element);\n this.editor = editor;\n };\n SearchBox.prototype.setSession = function (e) {\n this.searchRange = null;\n this.$syncOptions(true);\n };\n SearchBox.prototype.$initElements = function (sb) {\n this.searchBox = sb.querySelector(\".ace_search_form\");\n this.replaceBox = sb.querySelector(\".ace_replace_form\");\n this.searchOption = sb.querySelector(\"[action=searchInSelection]\");\n this.replaceOption = sb.querySelector(\"[action=toggleReplace]\");\n this.regExpOption = sb.querySelector(\"[action=toggleRegexpMode]\");\n this.caseSensitiveOption = sb.querySelector(\"[action=toggleCaseSensitive]\");\n this.wholeWordOption = sb.querySelector(\"[action=toggleWholeWords]\");\n this.searchInput = this.searchBox.querySelector(\".ace_search_field\");\n this.replaceInput = this.replaceBox.querySelector(\".ace_search_field\");\n this.searchCounter = sb.querySelector(\".ace_search_counter\");\n };\n SearchBox.prototype.$init = function () {\n var sb = this.element;\n this.$initElements(sb);\n var _this = this;\n event.addListener(sb, \"mousedown\", function (e) {\n setTimeout(function () {\n _this.activeInput.focus();\n }, 0);\n event.stopPropagation(e);\n });\n event.addListener(sb, \"click\", function (e) {\n var t = e.target || e.srcElement;\n var action = t.getAttribute(\"action\");\n if (action && _this[action])\n _this[action]();\n else if (_this.$searchBarKb.commands[action])\n _this.$searchBarKb.commands[action].exec(_this);\n event.stopPropagation(e);\n });\n event.addCommandKeyListener(sb, function (e, hashId, keyCode) {\n var keyString = keyUtil.keyCodeToString(keyCode);\n var command = _this.$searchBarKb.findKeyCommand(hashId, keyString);\n if (command && command.exec) {\n command.exec(_this);\n event.stopEvent(e);\n }\n });\n this.$onChange = lang.delayedCall(function () {\n _this.find(false, false);\n });\n event.addListener(this.searchInput, \"input\", function () {\n _this.$onChange.schedule(20);\n });\n event.addListener(this.searchInput, \"focus\", function () {\n _this.activeInput = _this.searchInput;\n _this.searchInput.value && _this.highlight();\n });\n event.addListener(this.replaceInput, \"focus\", function () {\n _this.activeInput = _this.replaceInput;\n _this.searchInput.value && _this.highlight();\n });\n };\n SearchBox.prototype.setSearchRange = function (range) {\n this.searchRange = range;\n if (range) {\n this.searchRangeMarker = this.editor.session.addMarker(range, \"ace_active-line\");\n }\n else if (this.searchRangeMarker) {\n this.editor.session.removeMarker(this.searchRangeMarker);\n this.searchRangeMarker = null;\n }\n };\n SearchBox.prototype.$syncOptions = function (preventScroll) {\n dom.setCssClass(this.replaceOption, \"checked\", this.searchRange);\n dom.setCssClass(this.searchOption, \"checked\", this.searchOption.checked);\n this.replaceOption.textContent = this.replaceOption.checked ? \"-\" : \"+\";\n dom.setCssClass(this.regExpOption, \"checked\", this.regExpOption.checked);\n dom.setCssClass(this.wholeWordOption, \"checked\", this.wholeWordOption.checked);\n dom.setCssClass(this.caseSensitiveOption, \"checked\", this.caseSensitiveOption.checked);\n var readOnly = this.editor.getReadOnly();\n this.replaceOption.style.display = readOnly ? \"none\" : \"\";\n this.replaceBox.style.display = this.replaceOption.checked && !readOnly ? \"\" : \"none\";\n this.find(false, false, preventScroll);\n };\n SearchBox.prototype.highlight = function (re) {\n this.editor.session.highlight(re || this.editor.$search.$options.re);\n this.editor.renderer.updateBackMarkers();\n };\n SearchBox.prototype.find = function (skipCurrent, backwards, preventScroll) {\n var range = this.editor.find(this.searchInput.value, {\n skipCurrent: skipCurrent,\n backwards: backwards,\n wrap: true,\n regExp: this.regExpOption.checked,\n caseSensitive: this.caseSensitiveOption.checked,\n wholeWord: this.wholeWordOption.checked,\n preventScroll: preventScroll,\n range: this.searchRange\n });\n var noMatch = !range && this.searchInput.value;\n dom.setCssClass(this.searchBox, \"ace_nomatch\", noMatch);\n this.editor._emit(\"findSearchBox\", { match: !noMatch });\n this.highlight();\n this.updateCounter();\n };\n SearchBox.prototype.updateCounter = function () {\n var editor = this.editor;\n var regex = editor.$search.$options.re;\n var all = 0;\n var before = 0;\n if (regex) {\n var value = this.searchRange\n ? editor.session.getTextRange(this.searchRange)\n : editor.getValue();\n var offset = editor.session.doc.positionToIndex(editor.selection.anchor);\n if (this.searchRange)\n offset -= editor.session.doc.positionToIndex(this.searchRange.start);\n var last = regex.lastIndex = 0;\n var m;\n while ((m = regex.exec(value))) {\n all++;\n last = m.index;\n if (last <= offset)\n before++;\n if (all > MAX_COUNT)\n break;\n if (!m[0]) {\n regex.lastIndex = last += 1;\n if (last >= value.length)\n break;\n }\n }\n }\n this.searchCounter.textContent = nls(\"$0 of $1\", [before, (all > MAX_COUNT ? MAX_COUNT + \"+\" : all)]);\n };\n SearchBox.prototype.findNext = function () {\n this.find(true, false);\n };\n SearchBox.prototype.findPrev = function () {\n this.find(true, true);\n };\n SearchBox.prototype.findAll = function () {\n var range = this.editor.findAll(this.searchInput.value, {\n regExp: this.regExpOption.checked,\n caseSensitive: this.caseSensitiveOption.checked,\n wholeWord: this.wholeWordOption.checked\n });\n var noMatch = !range && this.searchInput.value;\n dom.setCssClass(this.searchBox, \"ace_nomatch\", noMatch);\n this.editor._emit(\"findSearchBox\", { match: !noMatch });\n this.highlight();\n this.hide();\n };\n SearchBox.prototype.replace = function () {\n if (!this.editor.getReadOnly())\n this.editor.replace(this.replaceInput.value);\n };\n SearchBox.prototype.replaceAndFindNext = function () {\n if (!this.editor.getReadOnly()) {\n this.editor.replace(this.replaceInput.value);\n this.findNext();\n }\n };\n SearchBox.prototype.replaceAll = function () {\n if (!this.editor.getReadOnly())\n this.editor.replaceAll(this.replaceInput.value);\n };\n SearchBox.prototype.hide = function () {\n this.active = false;\n this.setSearchRange(null);\n this.editor.off(\"changeSession\", this.setSession);\n this.element.style.display = \"none\";\n this.editor.keyBinding.removeKeyboardHandler(this.$closeSearchBarKb);\n this.editor.focus();\n };\n SearchBox.prototype.show = function (value, isReplace) {\n this.active = true;\n this.editor.on(\"changeSession\", this.setSession);\n this.element.style.display = \"\";\n this.replaceOption.checked = isReplace;\n if (value)\n this.searchInput.value = value;\n this.searchInput.focus();\n this.searchInput.select();\n this.editor.keyBinding.addKeyboardHandler(this.$closeSearchBarKb);\n this.$syncOptions(true);\n };\n SearchBox.prototype.isFocused = function () {\n var el = document.activeElement;\n return el == this.searchInput || el == this.replaceInput;\n };\n return SearchBox;\n}());\nvar $searchBarKb = new HashHandler();\n$searchBarKb.bindKeys({\n \"Ctrl-f|Command-f\": function (sb) {\n var isReplace = sb.isReplace = !sb.isReplace;\n sb.replaceBox.style.display = isReplace ? \"\" : \"none\";\n sb.replaceOption.checked = false;\n sb.$syncOptions();\n sb.searchInput.focus();\n },\n \"Ctrl-H|Command-Option-F\": function (sb) {\n if (sb.editor.getReadOnly())\n return;\n sb.replaceOption.checked = true;\n sb.$syncOptions();\n sb.replaceInput.focus();\n },\n \"Ctrl-G|Command-G\": function (sb) {\n sb.findNext();\n },\n \"Ctrl-Shift-G|Command-Shift-G\": function (sb) {\n sb.findPrev();\n },\n \"esc\": function (sb) {\n setTimeout(function () { sb.hide(); });\n },\n \"Return\": function (sb) {\n if (sb.activeInput == sb.replaceInput)\n sb.replace();\n sb.findNext();\n },\n \"Shift-Return\": function (sb) {\n if (sb.activeInput == sb.replaceInput)\n sb.replace();\n sb.findPrev();\n },\n \"Alt-Return\": function (sb) {\n if (sb.activeInput == sb.replaceInput)\n sb.replaceAll();\n sb.findAll();\n },\n \"Tab\": function (sb) {\n (sb.activeInput == sb.replaceInput ? sb.searchInput : sb.replaceInput).focus();\n }\n});\n$searchBarKb.addCommands([{\n name: \"toggleRegexpMode\",\n bindKey: { win: \"Alt-R|Alt-/\", mac: \"Ctrl-Alt-R|Ctrl-Alt-/\" },\n exec: function (sb) {\n sb.regExpOption.checked = !sb.regExpOption.checked;\n sb.$syncOptions();\n }\n }, {\n name: \"toggleCaseSensitive\",\n bindKey: { win: \"Alt-C|Alt-I\", mac: \"Ctrl-Alt-R|Ctrl-Alt-I\" },\n exec: function (sb) {\n sb.caseSensitiveOption.checked = !sb.caseSensitiveOption.checked;\n sb.$syncOptions();\n }\n }, {\n name: \"toggleWholeWords\",\n bindKey: { win: \"Alt-B|Alt-W\", mac: \"Ctrl-Alt-B|Ctrl-Alt-W\" },\n exec: function (sb) {\n sb.wholeWordOption.checked = !sb.wholeWordOption.checked;\n sb.$syncOptions();\n }\n }, {\n name: \"toggleReplace\",\n exec: function (sb) {\n sb.replaceOption.checked = !sb.replaceOption.checked;\n sb.$syncOptions();\n }\n }, {\n name: \"searchInSelection\",\n exec: function (sb) {\n sb.searchOption.checked = !sb.searchRange;\n sb.setSearchRange(sb.searchOption.checked && sb.editor.getSelectionRange());\n sb.$syncOptions();\n }\n }]);\nvar $closeSearchBarKb = new HashHandler([{\n bindKey: \"Esc\",\n name: \"closeSearchBar\",\n exec: function (editor) {\n editor.searchBox.hide();\n }\n }]);\nSearchBox.prototype.$searchBarKb = $searchBarKb;\nSearchBox.prototype.$closeSearchBarKb = $closeSearchBarKb;\nexports.SearchBox = SearchBox;\nexports.Search = function (editor, isReplace) {\n var sb = editor.searchBox || new SearchBox(editor);\n sb.show(editor.session.getTextRange(), isReplace);\n};\n\n}); (function() {\n ace.require([\"ace/ext/searchbox\"], function(m) {\n if (typeof module == \"object\" && typeof exports == \"object\" && module) {\n module.exports = m;\n }\n });\n })();\n "],"names":["require","exports","module","dom","lang","event","searchboxCss","HashHandler","keyUtil","nls","MAX_COUNT","SearchBox","editor","range","showReplaceForm","div","e","sb","_this","t","action","hashId","keyCode","keyString","command","preventScroll","readOnly","re","skipCurrent","backwards","noMatch","regex","all","before","value","offset","last","m","isReplace","el","$searchBarKb","$closeSearchBarKb"],"mappings":"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","x_google_ignoreList":[0]}