ext-textarea-be88a4a9.js.map 20 KB

1
  1. {"version":3,"file":"ext-textarea-be88a4a9.js","sources":["../../node_modules/ace-builds/src-noconflict/ext-textarea.js"],"sourcesContent":["ace.define(\"ace/ext/textarea\",[\"require\",\"exports\",\"module\",\"ace/lib/event\",\"ace/lib/useragent\",\"ace/ace\"], function(require, exports, module){\"use strict\";\nvar event = require(\"../lib/event\");\nvar UA = require(\"../lib/useragent\");\nvar ace = require(\"../ace\");\nmodule.exports = exports = ace;\nvar getCSSProperty = function (element, container, property) {\n var ret = element.style[property];\n if (!ret) {\n if (window.getComputedStyle) {\n ret = window.getComputedStyle(element, '').getPropertyValue(property);\n }\n else {\n ret = element.currentStyle[property];\n }\n }\n if (!ret || ret == 'auto' || ret == 'intrinsic') {\n ret = container.style[property];\n }\n return ret;\n};\nfunction applyStyles(elm, styles) {\n for (var style in styles) {\n elm.style[style] = styles[style];\n }\n}\nfunction setupContainer(element, getValue) {\n if (element.type != 'textarea') {\n throw new Error(\"Textarea required!\");\n }\n var parentNode = element.parentNode;\n var container = document.createElement('div');\n var resizeEvent = function () {\n var style = 'position:relative;';\n [\n 'margin-top', 'margin-left', 'margin-right', 'margin-bottom'\n ].forEach(function (item) {\n style += item + ':' +\n getCSSProperty(element, container, item) + ';';\n });\n var width = getCSSProperty(element, container, 'width') || (element.clientWidth + \"px\");\n var height = getCSSProperty(element, container, 'height') || (element.clientHeight + \"px\");\n style += 'height:' + height + ';width:' + width + ';';\n style += 'display:inline-block;';\n container.setAttribute('style', style);\n };\n event.addListener(window, 'resize', resizeEvent);\n resizeEvent();\n parentNode.insertBefore(container, element.nextSibling);\n while (parentNode !== document) {\n if (parentNode.tagName.toUpperCase() === 'FORM') {\n var oldSumit = parentNode.onsubmit;\n parentNode.onsubmit = function (evt) {\n element.value = getValue();\n if (oldSumit) {\n oldSumit.call(this, evt);\n }\n };\n break;\n }\n parentNode = parentNode.parentNode;\n }\n return container;\n}\nexports.transformTextarea = function (element, options) {\n var isFocused = element.autofocus || document.activeElement == element;\n var session;\n var container = setupContainer(element, function () {\n return session.getValue();\n });\n element.style.display = 'none';\n container.style.background = 'white';\n var editorDiv = document.createElement(\"div\");\n applyStyles(editorDiv, {\n top: \"0px\",\n left: \"0px\",\n right: \"0px\",\n bottom: \"0px\",\n border: \"1px solid gray\",\n position: \"absolute\"\n });\n container.appendChild(editorDiv);\n var settingOpener = document.createElement(\"div\");\n applyStyles(settingOpener, {\n position: \"absolute\",\n right: \"0px\",\n bottom: \"0px\",\n cursor: \"nw-resize\",\n border: \"solid 9px\",\n borderColor: \"lightblue gray gray #ceade6\",\n zIndex: 101\n });\n var settingDiv = document.createElement(\"div\");\n var settingDivStyles = {\n top: \"0px\",\n left: \"20%\",\n right: \"0px\",\n bottom: \"0px\",\n position: \"absolute\",\n padding: \"5px\",\n zIndex: 100,\n color: \"white\",\n display: \"none\",\n overflow: \"auto\",\n fontSize: \"14px\",\n boxShadow: \"-5px 2px 3px gray\"\n };\n if (!UA.isOldIE) {\n settingDivStyles.backgroundColor = \"rgba(0, 0, 0, 0.6)\";\n }\n else {\n settingDivStyles.backgroundColor = \"#333\";\n }\n applyStyles(settingDiv, settingDivStyles);\n container.appendChild(settingDiv);\n options = options || exports.defaultOptions;\n var editor = ace.edit(editorDiv);\n session = editor.getSession();\n session.setValue(element.value || element.innerHTML);\n if (isFocused)\n editor.focus();\n container.appendChild(settingOpener);\n setupApi(editor, editorDiv, settingDiv, ace, options);\n setupSettingPanel(settingDiv, settingOpener, editor);\n var state = \"\";\n event.addListener(settingOpener, \"mousemove\", function (e) {\n var rect = this.getBoundingClientRect();\n var x = e.clientX - rect.left, y = e.clientY - rect.top;\n if (x + y < (rect.width + rect.height) / 2) {\n this.style.cursor = \"pointer\";\n state = \"toggle\";\n }\n else {\n state = \"resize\";\n this.style.cursor = \"nw-resize\";\n }\n });\n event.addListener(settingOpener, \"mousedown\", function (e) {\n e.preventDefault();\n if (state == \"toggle\") {\n editor.setDisplaySettings();\n return;\n }\n container.style.zIndex = 100000;\n var rect = container.getBoundingClientRect();\n var startX = rect.width + rect.left - e.clientX;\n var startY = rect.height + rect.top - e.clientY;\n event.capture(settingOpener, function (e) {\n container.style.width = e.clientX - rect.left + startX + \"px\";\n container.style.height = e.clientY - rect.top + startY + \"px\";\n editor.resize();\n }, function () { });\n });\n return editor;\n};\nfunction setupApi(editor, editorDiv, settingDiv, ace, options) {\n function toBool(value) {\n return value === \"true\" || value == true;\n }\n editor.setDisplaySettings = function (display) {\n if (display == null)\n display = settingDiv.style.display == \"none\";\n if (display) {\n settingDiv.style.display = \"block\";\n settingDiv.hideButton.focus();\n editor.on(\"focus\", function onFocus() {\n editor.removeListener(\"focus\", onFocus);\n settingDiv.style.display = \"none\";\n });\n }\n else {\n editor.focus();\n }\n };\n editor.$setOption = editor.setOption;\n editor.$getOption = editor.getOption;\n editor.setOption = function (key, value) {\n switch (key) {\n case \"mode\":\n editor.$setOption(\"mode\", \"ace/mode/\" + value);\n break;\n case \"theme\":\n editor.$setOption(\"theme\", \"ace/theme/\" + value);\n break;\n case \"keybindings\":\n switch (value) {\n case \"vim\":\n editor.setKeyboardHandler(\"ace/keyboard/vim\");\n break;\n case \"emacs\":\n editor.setKeyboardHandler(\"ace/keyboard/emacs\");\n break;\n default:\n editor.setKeyboardHandler(null);\n }\n break;\n case \"wrap\":\n case \"fontSize\":\n editor.$setOption(key, value);\n break;\n default:\n editor.$setOption(key, toBool(value));\n }\n };\n editor.getOption = function (key) {\n switch (key) {\n case \"mode\":\n return editor.$getOption(\"mode\").substr(\"ace/mode/\".length);\n break;\n case \"theme\":\n return editor.$getOption(\"theme\").substr(\"ace/theme/\".length);\n break;\n case \"keybindings\":\n var value = editor.getKeyboardHandler();\n switch (value && value.$id) {\n case \"ace/keyboard/vim\":\n return \"vim\";\n case \"ace/keyboard/emacs\":\n return \"emacs\";\n default:\n return \"ace\";\n }\n break;\n default:\n return editor.$getOption(key);\n }\n };\n editor.setOptions(options);\n return editor;\n}\nfunction setupSettingPanel(settingDiv, settingOpener, editor) {\n var BOOL = null;\n var desc = {\n mode: \"Mode:\",\n wrap: \"Soft Wrap:\",\n theme: \"Theme:\",\n fontSize: \"Font Size:\",\n showGutter: \"Display Gutter:\",\n keybindings: \"Keyboard\",\n showPrintMargin: \"Show Print Margin:\",\n useSoftTabs: \"Use Soft Tabs:\",\n showInvisibles: \"Show Invisibles\"\n };\n var optionValues = {\n mode: {\n text: \"Plain\",\n javascript: \"JavaScript\",\n xml: \"XML\",\n html: \"HTML\",\n css: \"CSS\",\n scss: \"SCSS\",\n python: \"Python\",\n php: \"PHP\",\n java: \"Java\",\n ruby: \"Ruby\",\n c_cpp: \"C/C++\",\n coffee: \"CoffeeScript\",\n json: \"json\",\n perl: \"Perl\",\n clojure: \"Clojure\",\n ocaml: \"OCaml\",\n csharp: \"C#\",\n haxe: \"haXe\",\n svg: \"SVG\",\n textile: \"Textile\",\n groovy: \"Groovy\",\n liquid: \"Liquid\",\n Scala: \"Scala\"\n },\n theme: {\n clouds: \"Clouds\",\n clouds_midnight: \"Clouds Midnight\",\n cobalt: \"Cobalt\",\n crimson_editor: \"Crimson Editor\",\n dawn: \"Dawn\",\n gob: \"Green on Black\",\n eclipse: \"Eclipse\",\n idle_fingers: \"Idle Fingers\",\n kr_theme: \"Kr Theme\",\n merbivore: \"Merbivore\",\n merbivore_soft: \"Merbivore Soft\",\n mono_industrial: \"Mono Industrial\",\n monokai: \"Monokai\",\n pastel_on_dark: \"Pastel On Dark\",\n solarized_dark: \"Solarized Dark\",\n solarized_light: \"Solarized Light\",\n textmate: \"Textmate\",\n twilight: \"Twilight\",\n vibrant_ink: \"Vibrant Ink\"\n },\n showGutter: BOOL,\n fontSize: {\n \"10px\": \"10px\",\n \"11px\": \"11px\",\n \"12px\": \"12px\",\n \"14px\": \"14px\",\n \"16px\": \"16px\"\n },\n wrap: {\n off: \"Off\",\n 40: \"40\",\n 80: \"80\",\n free: \"Free\"\n },\n keybindings: {\n ace: \"ace\",\n vim: \"vim\",\n emacs: \"emacs\"\n },\n showPrintMargin: BOOL,\n useSoftTabs: BOOL,\n showInvisibles: BOOL\n };\n var table = [];\n table.push(\"<table><tr><th>Setting</th><th>Value</th></tr>\");\n function renderOption(builder, option, obj, cValue) {\n if (!obj) {\n builder.push(\"<input type='checkbox' title='\", option, \"' \", cValue + \"\" == \"true\" ? \"checked='true'\" : \"\", \"'></input>\");\n return;\n }\n builder.push(\"<select title='\" + option + \"'>\");\n for (var value in obj) {\n builder.push(\"<option value='\" + value + \"' \");\n if (cValue == value) {\n builder.push(\" selected \");\n }\n builder.push(\">\", obj[value], \"</option>\");\n }\n builder.push(\"</select>\");\n }\n for (var option in exports.defaultOptions) {\n table.push(\"<tr><td>\", desc[option], \"</td>\");\n table.push(\"<td>\");\n renderOption(table, option, optionValues[option], editor.getOption(option));\n table.push(\"</td></tr>\");\n }\n table.push(\"</table>\");\n settingDiv.innerHTML = table.join(\"\");\n var onChange = function (e) {\n var select = e.currentTarget;\n editor.setOption(select.title, select.value);\n };\n var onClick = function (e) {\n var cb = e.currentTarget;\n editor.setOption(cb.title, cb.checked);\n };\n var selects = settingDiv.getElementsByTagName(\"select\");\n for (var i = 0; i < selects.length; i++)\n selects[i].onchange = onChange;\n var cbs = settingDiv.getElementsByTagName(\"input\");\n for (var i = 0; i < cbs.length; i++)\n cbs[i].onclick = onClick;\n var button = document.createElement(\"input\");\n button.type = \"button\";\n button.value = \"Hide\";\n event.addListener(button, \"click\", function () {\n editor.setDisplaySettings(false);\n });\n settingDiv.appendChild(button);\n settingDiv.hideButton = button;\n}\nexports.defaultOptions = {\n mode: \"javascript\",\n theme: \"textmate\",\n wrap: \"off\",\n fontSize: \"12px\",\n showGutter: \"false\",\n keybindings: \"ace\",\n showPrintMargin: \"false\",\n useSoftTabs: \"true\",\n showInvisibles: \"false\"\n};\n\n}); (function() {\n ace.require([\"ace/ext/textarea\"], function(m) {\n if (typeof module == \"object\" && typeof exports == \"object\" && module) {\n module.exports = m;\n }\n });\n })();\n "],"names":["require","exports","module","event","UA","ace","getCSSProperty","element","container","property","ret","applyStyles","elm","styles","style","setupContainer","getValue","parentNode","resizeEvent","item","width","height","oldSumit","evt","options","isFocused","session","editorDiv","settingOpener","settingDiv","settingDivStyles","editor","setupApi","setupSettingPanel","state","e","rect","x","y","startX","startY","toBool","value","display","onFocus","key","BOOL","desc","optionValues","table","renderOption","builder","option","obj","cValue","onChange","select","onClick","cb","selects","cbs","button","m"],"mappings":"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","x_google_ignoreList":[0]}