From 4d58258919c9822eae675045549d94a0d32f9b42 Mon Sep 17 00:00:00 2001 From: jos Date: Fri, 1 Aug 2014 08:52:34 +0200 Subject: [PATCH] Released version 3.1.1 --- bower.json | 2 +- jsoneditor.js | 58 ++++++++++++++++++++++++++++++++++++++++++++--- jsoneditor.map | 2 +- jsoneditor.min.js | 8 +++---- package.json | 2 +- 5 files changed, 62 insertions(+), 10 deletions(-) diff --git a/bower.json b/bower.json index 09047aea9..9ffa6bcd4 100644 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { "name": "jsoneditor", - "version": "3.2.0-SNAPSHOT", + "version": "3.1.1", "description": "A web-based tool to view, edit and format JSON", "tags": [ "json", diff --git a/jsoneditor.js b/jsoneditor.js index 83f6d37a4..6e6d199ac 100644 --- a/jsoneditor.js +++ b/jsoneditor.js @@ -23,8 +23,8 @@ * Copyright (c) 2011-2014 Jos de Jong, http://jsoneditoronline.org * * @author Jos de Jong, - * @version 3.2.0-SNAPSHOT - * @date 2014-07-28 + * @version 3.1.1 + * @date 2014-08-01 */ (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') @@ -1372,6 +1372,7 @@ return /******/ (function(modules) { // webpackBootstrap * Parse JSON using the parser built-in in the browser. * On exception, the jsonString is validated and a detailed error is thrown. * @param {String} jsonString + * @return {JSON} json */ util.parse = function parse(jsonString) { try { @@ -1380,7 +1381,7 @@ return /******/ (function(modules) { // webpackBootstrap catch (err) { // try to load as JavaScript instead of JSON (like "{a: 2}" instead of "{"a": 2}" try { - return eval('(' + jsonString + ')'); + return util.parseJS(jsonString); } catch(err2) { // ok no luck loading as JavaScript @@ -1394,6 +1395,57 @@ return /******/ (function(modules) { // webpackBootstrap } }; + /** + * Parse a string containing an object in JavaScript notation into a JSON. + * Throws an error when not successful. This function can for example parse + * a string like "{a: 2, 'b': {c: 'd'}". + * @param {string} jsString + * @returns {JSON} json + */ + util.parseJS = function (jsString) { + // escape quotes inside strings + var chars = []; + var inString = false; + var i = 0; + while(i < jsString.length) { + var c = jsString.charAt(i); + + if (c === '"' || c === '\'') { + if (c === inString) { + // end of string + inString = false; + } + else if (!inString) { + // start of string + inString = c; + } + else { + // add escape character if not escaped + if (jsString.charAt(i - 1) !== '\\') { + chars.push('\\'); + } + } + } + + chars.push(c); + i++; + } + var jsonString = chars.join(''); + + // replace keys/values enclosed by single quotes with double quotes + jsonString = jsonString.replace(/(.)'/g, function ($0, $1) { + var str = $1.replace(/"/g, '\\"'); // escape double quotes + return ($1 == '\\') ? '\'' : str + '"'; + }); + + // enclose unquoted object keys with double quotes + jsonString = jsonString.replace(/([{,]\s*)([a-zA-Z_][a-zA-Z0-9_]*)(\s*:)/g, function ($0, $1, $2, $3) { + return $1 + '"' + $2 + '"' + $3; + }); + + return JSON.parse(jsonString); + }; + /** * Validate a string containing a JSON object * This method uses JSONLint to validate the String. If JSONLint is not diff --git a/jsoneditor.map b/jsoneditor.map index b786783c5..fdd39c2ef 100644 --- a/jsoneditor.map +++ b/jsoneditor.map @@ -1 +1 @@ -{"version":3,"file":"jsoneditor.map","sources":["./jsoneditor.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","treemode","textmode","util","JSONEditor","container","options","json","Error","ieVersion","getInternetExplorerVersion","arguments","length","_create","modes","prototype","mode","setMode","_delete","set","get","setText","jsonText","parse","getText","JSON","stringify","setName","name","getName","data","extend","config","asText","clear","mixin","create","load","err","_onError","onError","log","error","registerMode","i","prop","isArray","reserved","apply","undefined","Highlighter","History","SearchBox","Node","modeswitcher","dom","highlighter","selection","_setOptions","history","_createFrame","_createTable","frame","parentNode","removeChild","search","hasOwnProperty","focusNode","domFocus","Function","content","table","params","field","value","node","_setRoot","recurse","expand","appendChild","blur","getValue","updateField","collapse","tbody","getDom","text","results","expandAll","collapseAll","_onAction","action","add","change","startAutoScroll","mouseY","me","top","getAbsoluteTop","height","clientHeight","bottom","margin","interval","autoScrollStep","scrollTop","scrollHeight","autoScrollTimer","setInterval","stopAutoScroll","clearTimeout","setSelection","range","setSelectionOffset","focus","getSelection","getSelectionOffset","scrollTo","callback","editor","animateTimeout","animateCallback","finalScrollTop","Math","min","max","animate","diff","abs","setTimeout","onEvent","event","_onEvent","document","createElement","className","onclick","target","nodeName","preventDefault","oninput","onchange","onkeydown","onkeyup","oncut","onpaste","onmousedown","onmouseup","onmouseover","onmouseout","addEventListener","onfocusin","onfocusout","menu","title","undo","_onUndo","redo","_onRedo","onChange","disabled","canUndo","canRedo","modeBox","searchBox","type","_onKeyDown","getNodeFromTarget","keynum","which","keyCode","ctrlKey","shiftKey","handled","selectContentEditable","select","previous","next","stopPropagation","contentOuter","col","colgroupContent","width","indentation","Number","ace","textarea","clientWidth","buttonFormat","format","buttonCompact","compact","editorDom","style","edit","setTheme","setShowPrintMargin","setFontSize","getSession","setTabSize","setUseSoftTabs","setUseWrapMode","poweredBy","createTextNode","href","window","open","on","spellcheck","resize","force","setValue","jsonString","eval","err2","validate","jsonlint","a","b","console","object","String","Boolean","RegExp","isUrlRegex","isUrl","test","obj","Object","toString","getAbsoluteLeft","elem","rect","getBoundingClientRect","left","pageXOffset","scrollLeft","pageYOffset","addClassName","classes","split","indexOf","push","join","removeClassName","index","splice","stripFormatting","divElement","childs","childNodes","iMax","child","removeAttribute","attributes","j","attribute","specified","setEndOfContentEditable","contentEditableElement","createRange","selectNodeContents","removeAllRanges","addRange","sel","getRangeAt","rangeCount","startContainer","endContainer","startOffset","endOffset","setStart","firstChild","setEnd","getInnerText","element","buffer","first","flush","nodeValue","hasChildNodes","innerText","prevChild","prevName","_ieVersion","rv","navigator","appName","ua","userAgent","re","exec","parseFloat","$1","isFirefox","listener","useCapture","attachEvent","f","removeEventListener","detachEvent","locked","highlight","setHighlight","_cancelUnhighlight","unhighlight","unhighlightTimer","lock","unlock","actions","editField","oldValue","newValue","editValue","updateValue","appendNode","parent","insertBeforeNode","insertBefore","beforeNode","insertAfterNode","insertAfter","afterNode","removeNode","append","duplicateNode","clone","changeType","oldType","newType","moveNode","startParent","moveTo","startIndex","endParent","endIndex","sort","hideChilds","oldSort","oldChilds","showChilds","newSort","newChilds","timestamp","Date","oldSelection","newSelection","timeout","delay","lastText","tr","td","divInput","input","tableInput","tbodySearch","refreshSearch","_onDelayedSearch","_onSearch","_onKeyUp","searchNext","searchPrevious","resultIndex","_setActiveResult","activeResult","prevNode","prevElem","searchFieldActive","searchValueActive","updateDom","_clearDelay","forceSearch","resultCount","innerHTML","ContextMenu","appendNodeFactory","expanded","setField","fieldEditable","_updateEditability","editable","path","unshift","setParent","getField","_getDomField","childValue","_getType","childField","arr","forEach","_getDomValue","getLevel","fieldInnerText","valueInnerText","cloneChilds","childClone","getAppend","nextTr","nextSibling","hide","_hasChilds","newTr","appendTr","updateIndexes","moveBefore","trTemp","AppendNode","currentIndex","toLowerCase","searchField","searchValue","_updateDomField","childResults","concat","_updateDomValue","offsetTop","focusElement","elementName","drag","editableDiv","_duplicate","containsNode","_move","clearDom","removedNode","_remove","lastTr","_stringCast","silent","_unescapeHTML","str","domValue","v","t","color","isEmpty","count","domField","oldField","tdDrag","domDrag","tdMenu","tdField","tree","_createDomTree","_onDragStart","mousemove","_onDrag","mouseup","_onDragEnd","oldCursor","body","cursor","mouseX","pageX","level","trThis","trPrev","trNext","trFirst","trLast","trRoot","nodePrev","nodeNext","topThis","topPrev","topFirst","heightThis","bottomNext","heightNext","pageY","moved","offsetHeight","previousSibling","diffX","diffLevel","round","levelNext","_isChildOf","n","_createDomField","domTree","marginLeft","contentEditable","_escapeHTML","_updateDomIndexes","_createDomValue","_createDomExpandButton","borderCollapse","tdExpand","tdSeparator","tdValue","srcElement","expandable","showContextMenu","_onExpand","offsetX","onKeyDown","nextNode","nextDom","nextDom2","altKey","_onDuplicate","_onRemove","_onInsertBefore","_onInsertAfter","lastNode","_lastNode","_getElementName","firstNode","_firstNode","prevElement","_previousElement","appendDom","nextNode2","_previousNode","nextElement","_nextElement","prevDom","isVisible","_nextNode","newNode","_onAppend","_onChangeType","_onSort","direction","order","firstDom","lastDom","lastChild","TYPE_TITLES","auto","array","string","anchor","onClose","titles","items","submenu","click","submenuTitle","close","show","Array","lower","num","numFloat","isNaN","htmlEscaped","replace","substring","escapedText","_escapeJSON","escaped","charAt","createModeSwitcher","current","switchMode","availableModes","code","form","view","item","currentMode","currentTitle","box","createMenuItems","list","domItems","separator","li","domItem","button","divIcon","buttonSubmenu","buttonExpand","divExpand","_onExpandItem","domSubItems","subItems","ul","eventListeners","visibleSubmenu","focusButton","overflow","maxHeight","_getVisibleButtons","buttons","expandedItem","subItem","visibleMenu","windowHeight","innerHeight","windowScroll","windowBottom","anchorHeight","menuHeight","mousedown","mousewheel","keydown","fn","alreadyVisible","padding","display","targetIndex","prevButton","nextButton","e","trAppend","tdAppend","domText","paddingLeft"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"jsoneditor.map","sources":["./jsoneditor.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","treemode","textmode","util","JSONEditor","container","options","json","Error","ieVersion","getInternetExplorerVersion","arguments","length","_create","modes","prototype","mode","setMode","_delete","set","get","setText","jsonText","parse","getText","JSON","stringify","setName","name","getName","data","extend","config","asText","clear","mixin","create","load","err","_onError","onError","log","error","registerMode","i","prop","isArray","reserved","apply","undefined","Highlighter","History","SearchBox","Node","modeswitcher","dom","highlighter","selection","_setOptions","history","_createFrame","_createTable","frame","parentNode","removeChild","search","hasOwnProperty","focusNode","domFocus","Function","content","table","params","field","value","node","_setRoot","recurse","expand","appendChild","blur","getValue","updateField","collapse","tbody","getDom","text","results","expandAll","collapseAll","_onAction","action","add","change","startAutoScroll","mouseY","me","top","getAbsoluteTop","height","clientHeight","bottom","margin","interval","autoScrollStep","scrollTop","scrollHeight","autoScrollTimer","setInterval","stopAutoScroll","clearTimeout","setSelection","range","setSelectionOffset","focus","getSelection","getSelectionOffset","scrollTo","callback","editor","animateTimeout","animateCallback","finalScrollTop","Math","min","max","animate","diff","abs","setTimeout","onEvent","event","_onEvent","document","createElement","className","onclick","target","nodeName","preventDefault","oninput","onchange","onkeydown","onkeyup","oncut","onpaste","onmousedown","onmouseup","onmouseover","onmouseout","addEventListener","onfocusin","onfocusout","menu","title","undo","_onUndo","redo","_onRedo","onChange","disabled","canUndo","canRedo","modeBox","searchBox","type","_onKeyDown","getNodeFromTarget","keynum","which","keyCode","ctrlKey","shiftKey","handled","selectContentEditable","select","previous","next","stopPropagation","contentOuter","col","colgroupContent","width","indentation","Number","ace","textarea","clientWidth","buttonFormat","format","buttonCompact","compact","editorDom","style","edit","setTheme","setShowPrintMargin","setFontSize","getSession","setTabSize","setUseSoftTabs","setUseWrapMode","poweredBy","createTextNode","href","window","open","on","spellcheck","resize","force","setValue","jsonString","parseJS","err2","validate","jsString","chars","inString","charAt","push","join","replace","$0","$1","str","$2","$3","jsonlint","a","b","console","object","String","Boolean","RegExp","isUrlRegex","isUrl","test","obj","Object","toString","getAbsoluteLeft","elem","rect","getBoundingClientRect","left","pageXOffset","scrollLeft","pageYOffset","addClassName","classes","split","indexOf","removeClassName","index","splice","stripFormatting","divElement","childs","childNodes","iMax","child","removeAttribute","attributes","j","attribute","specified","setEndOfContentEditable","contentEditableElement","createRange","selectNodeContents","removeAllRanges","addRange","sel","getRangeAt","rangeCount","startContainer","endContainer","startOffset","endOffset","setStart","firstChild","setEnd","getInnerText","element","buffer","first","flush","nodeValue","hasChildNodes","innerText","prevChild","prevName","_ieVersion","rv","navigator","appName","ua","userAgent","re","exec","parseFloat","isFirefox","listener","useCapture","attachEvent","f","removeEventListener","detachEvent","locked","highlight","setHighlight","_cancelUnhighlight","unhighlight","unhighlightTimer","lock","unlock","actions","editField","oldValue","newValue","editValue","updateValue","appendNode","parent","insertBeforeNode","insertBefore","beforeNode","insertAfterNode","insertAfter","afterNode","removeNode","append","duplicateNode","clone","changeType","oldType","newType","moveNode","startParent","moveTo","startIndex","endParent","endIndex","sort","hideChilds","oldSort","oldChilds","showChilds","newSort","newChilds","timestamp","Date","oldSelection","newSelection","timeout","delay","lastText","tr","td","divInput","input","tableInput","tbodySearch","refreshSearch","_onDelayedSearch","_onSearch","_onKeyUp","searchNext","searchPrevious","resultIndex","_setActiveResult","activeResult","prevNode","prevElem","searchFieldActive","searchValueActive","updateDom","_clearDelay","forceSearch","resultCount","innerHTML","ContextMenu","appendNodeFactory","expanded","setField","fieldEditable","_updateEditability","editable","path","unshift","setParent","getField","_getDomField","childValue","_getType","childField","arr","forEach","_getDomValue","getLevel","fieldInnerText","valueInnerText","cloneChilds","childClone","getAppend","nextTr","nextSibling","hide","_hasChilds","newTr","appendTr","updateIndexes","moveBefore","trTemp","AppendNode","currentIndex","toLowerCase","searchField","searchValue","_updateDomField","childResults","concat","_updateDomValue","offsetTop","focusElement","elementName","drag","editableDiv","_duplicate","containsNode","_move","clearDom","removedNode","_remove","lastTr","_stringCast","silent","_unescapeHTML","domValue","v","t","color","isEmpty","count","domField","oldField","tdDrag","domDrag","tdMenu","tdField","tree","_createDomTree","_onDragStart","mousemove","_onDrag","mouseup","_onDragEnd","oldCursor","body","cursor","mouseX","pageX","level","trThis","trPrev","trNext","trFirst","trLast","trRoot","nodePrev","nodeNext","topThis","topPrev","topFirst","heightThis","bottomNext","heightNext","pageY","moved","offsetHeight","previousSibling","diffX","diffLevel","round","levelNext","_isChildOf","n","_createDomField","domTree","marginLeft","contentEditable","_escapeHTML","_updateDomIndexes","_createDomValue","_createDomExpandButton","borderCollapse","tdExpand","tdSeparator","tdValue","srcElement","expandable","showContextMenu","_onExpand","offsetX","onKeyDown","nextNode","nextDom","nextDom2","altKey","_onDuplicate","_onRemove","_onInsertBefore","_onInsertAfter","lastNode","_lastNode","_getElementName","firstNode","_firstNode","prevElement","_previousElement","appendDom","nextNode2","_previousNode","nextElement","_nextElement","prevDom","isVisible","_nextNode","newNode","_onAppend","_onChangeType","_onSort","direction","order","firstDom","lastDom","lastChild","TYPE_TITLES","auto","array","string","anchor","onClose","titles","items","submenu","click","submenuTitle","close","show","Array","lower","num","numFloat","isNaN","htmlEscaped","substring","escapedText","_escapeJSON","escaped","createModeSwitcher","current","switchMode","availableModes","code","form","view","item","currentMode","currentTitle","box","createMenuItems","list","domItems","separator","li","domItem","button","divIcon","buttonSubmenu","buttonExpand","divExpand","_onExpandItem","domSubItems","subItems","ul","eventListeners","visibleSubmenu","focusButton","overflow","maxHeight","_getVisibleButtons","buttons","expandedItem","subItem","visibleMenu","windowHeight","innerHeight","windowScroll","windowBottom","anchorHeight","menuHeight","mousedown","mousewheel","keydown","fn","alreadyVisible","padding","display","targetIndex","prevButton","nextButton","e","trAppend","tdAppend","domText","paddingLeft"],"mappings":"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"} \ No newline at end of file diff --git a/jsoneditor.min.js b/jsoneditor.min.js index 90a6719e6..b8cb4d885 100644 --- a/jsoneditor.min.js +++ b/jsoneditor.min.js @@ -23,10 +23,10 @@ * Copyright (c) 2011-2014 Jos de Jong, http://jsoneditoronline.org * * @author Jos de Jong, - * @version 3.2.0-SNAPSHOT - * @date 2014-07-28 + * @version 3.1.1 + * @date 2014-08-01 */ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):"object"==typeof exports?exports.JSONEditor=t():e.JSONEditor=t()}(this,function(){return function(e){function t(n){if(i[n])return i[n].exports;var o=i[n]={exports:{},id:n,loaded:!1};return e[n].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var i={};return t.m=e,t.c=i,t.p="",t(0)}([function(e,t,i){var n,o;n=[i(1),i(2),i(3)],o=function(e,t,i){function n(e,t,o){if(!(this instanceof n))throw new Error('JSONEditor constructor called without "new".');var s=i.getInternetExplorerVersion();if(-1!=s&&9>s)throw new Error("Unsupported browser, IE9 or newer required. Please install the newest version of your browser.");arguments.length&&this._create(e,t,o)}return n.modes={},n.prototype._create=function(e,t,i){this.container=e,this.options=t||{},this.json=i||{};var n=this.options.mode||"tree";this.setMode(n)},n.prototype._delete=function(){},n.prototype.set=function(e){this.json=e},n.prototype.get=function(){return this.json},n.prototype.setText=function(e){this.json=i.parse(e)},n.prototype.getText=function(){return JSON.stringify(this.json)},n.prototype.setName=function(e){this.options||(this.options={}),this.options.name=e},n.prototype.getName=function(){return this.options&&this.options.name},n.prototype.setMode=function(e){var t,o,s=this.container,r=i.extend({},this.options);r.mode=e;var a=n.modes[e];if(!a)throw new Error('Unknown mode "'+r.mode+'"');try{var l="text"==a.data;if(o=this.getName(),t=this[l?"getText":"get"](),this._delete(),i.clear(this),i.extend(this,a.mixin),this.create(s,r),this.setName(o),this[l?"setText":"set"](t),"function"==typeof a.load)try{a.load.call(this)}catch(d){}}catch(d){this._onError(d)}},n.prototype._onError=function(e){if("function"==typeof this.onError&&(i.log("WARNING: JSONEditor.onError is deprecated. Use options.error instead."),this.onError(e)),!this.options||"function"!=typeof this.options.error)throw e;this.options.error(e)},n.registerMode=function(e){var t,o;if(i.isArray(e))for(t=0;te&&i.scrollTop>0?(n+a-e)/3:e>r-a&&o+i.scrollTop3?(i.scrollTop+=o/3,n.animateCallback=t,n.animateTimeout=setTimeout(a,50)):(t&&t(!0),i.scrollTop=r,delete n.animateTimeout,delete n.animateCallback)};a()}else t&&t(!1)},r._createFrame=function(){function e(e){t._onEvent(e)}this.frame=document.createElement("div"),this.frame.className="jsoneditor",this.container.appendChild(this.frame);var t=this;this.frame.onclick=function(t){var i=t.target;e(t),"BUTTON"==i.nodeName&&t.preventDefault()},this.frame.oninput=e,this.frame.onchange=e,this.frame.onkeydown=e,this.frame.onkeyup=e,this.frame.oncut=e,this.frame.onpaste=e,this.frame.onmousedown=e,this.frame.onmouseup=e,this.frame.onmouseover=e,this.frame.onmouseout=e,s.addEventListener(this.frame,"focus",e,!0),s.addEventListener(this.frame,"blur",e,!0),this.frame.onfocusin=e,this.frame.onfocusout=e,this.menu=document.createElement("div"),this.menu.className="menu",this.frame.appendChild(this.menu);var n=document.createElement("button");n.className="expand-all",n.title="Expand all fields",n.onclick=function(){t.expandAll()},this.menu.appendChild(n);var r=document.createElement("button");if(r.title="Collapse all fields",r.className="collapse-all",r.onclick=function(){t.collapseAll()},this.menu.appendChild(r),this.history){var a=document.createElement("button");a.className="undo separator",a.title="Undo last action (Ctrl+Z)",a.onclick=function(){t._onUndo()},this.menu.appendChild(a),this.dom.undo=a;var l=document.createElement("button");l.className="redo",l.title="Redo (Ctrl+Shift+Z)",l.onclick=function(){t._onRedo()},this.menu.appendChild(l),this.dom.redo=l,this.history.onChange=function(){a.disabled=!t.history.canUndo(),l.disabled=!t.history.canRedo()},this.history.onChange()}if(this.options&&this.options.modes&&this.options.modes.length){var d=o.create(this,this.options.modes,this.options.mode);this.menu.appendChild(d),this.dom.modeBox=d}this.options.search&&(this.searchBox=new i(this,this.menu))},r._onUndo=function(){this.history&&(this.history.undo(),this.options.change&&this.options.change())},r._onRedo=function(){this.history&&(this.history.redo(),this.options.change&&this.options.change())},r._onEvent=function(e){var t=e.target;"keydown"==e.type&&this._onKeyDown(e),"focus"==e.type&&(l=t);var i=n.getNodeFromTarget(t);i&&i.onEvent(e)},r._onKeyDown=function(e){var t=e.which||e.keyCode,i=e.ctrlKey,n=e.shiftKey,o=!1;if(9==t&&setTimeout(function(){s.selectContentEditable(l)},0),this.searchBox)if(i&&70==t)this.searchBox.dom.search.focus(),this.searchBox.dom.search.select(),o=!0;else if(114==t||i&&71==t){var r=!0;n?this.searchBox.previous(r):this.searchBox.next(r),o=!0}this.history&&(i&&!n&&90==t?(this._onUndo(),o=!0):i&&n&&90==t&&(this._onRedo(),o=!0)),o&&(e.preventDefault(),e.stopPropagation())},r._createTable=function(){var e=document.createElement("div");e.className="outer",this.contentOuter=e,this.content=document.createElement("div"),this.content.className="tree",e.appendChild(this.content),this.table=document.createElement("table"),this.table.className="tree",this.content.appendChild(this.table);var t;this.colgroupContent=document.createElement("colgroup"),"tree"===this.options.mode&&(t=document.createElement("col"),t.width="24px",this.colgroupContent.appendChild(t)),t=document.createElement("col"),t.width="24px",this.colgroupContent.appendChild(t),t=document.createElement("col"),this.colgroupContent.appendChild(t),this.table.appendChild(this.colgroupContent),this.tbody=document.createElement("tbody"),this.table.appendChild(this.tbody),this.frame.appendChild(e)},[{mode:"tree",mixin:r,data:"json"},{mode:"view",mixin:r,data:"json"},{mode:"form",mixin:r,data:"json"}]}.apply(null,n),!(void 0!==o&&(e.exports=o))},function(e,t,i){var n,o;n=[i(8),i(3)],o=function(e,t){var i={};return i.create=function(i,n){n=n||{},this.options=n,this.indentation=n.indentation?Number(n.indentation):2,this.mode="code"==n.mode?"code":"text","code"==this.mode&&"undefined"==typeof ace&&(this.mode="text",t.log("WARNING: Cannot load code editor, Ace library not loaded. Falling back to plain text editor"));var o=this;this.container=i,this.dom={},this.editor=void 0,this.textarea=void 0,this.width=i.clientWidth,this.height=i.clientHeight,this.frame=document.createElement("div"),this.frame.className="jsoneditor",this.frame.onclick=function(e){e.preventDefault()},this.menu=document.createElement("div"),this.menu.className="menu",this.frame.appendChild(this.menu);var s=document.createElement("button");s.className="format",s.title="Format JSON data, with proper indentation and line feeds",this.menu.appendChild(s),s.onclick=function(){try{o.format()}catch(e){o._onError(e)}};var r=document.createElement("button");if(r.className="compact",r.title="Compact JSON data, remove all whitespaces",this.menu.appendChild(r),r.onclick=function(){try{o.compact()}catch(e){o._onError(e)}},this.options&&this.options.modes&&this.options.modes.length){var a=e.create(this,this.options.modes,this.options.mode);this.menu.appendChild(a),this.dom.modeBox=a}if(this.content=document.createElement("div"),this.content.className="outer",this.frame.appendChild(this.content),this.container.appendChild(this.frame),"code"==this.mode){this.editorDom=document.createElement("div"),this.editorDom.style.height="100%",this.editorDom.style.width="100%",this.content.appendChild(this.editorDom);var l=ace.edit(this.editorDom);l.setTheme("ace/theme/jsoneditor"),l.setShowPrintMargin(!1),l.setFontSize(13),l.getSession().setMode("ace/mode/json"),l.getSession().setTabSize(2),l.getSession().setUseSoftTabs(!0),l.getSession().setUseWrapMode(!0),this.editor=l;var d=document.createElement("a");d.appendChild(document.createTextNode("powered by ace")),d.href="http://ace.ajax.org",d.target="_blank",d.className="poweredBy",d.onclick=function(){window.open(d.href,d.target)},this.menu.appendChild(d),n.change&&l.on("change",function(){n.change()})}else{var h=document.createElement("textarea");h.className="text",h.spellcheck=!1,this.content.appendChild(h),this.textarea=h,n.change&&(null===this.textarea.oninput?this.textarea.oninput=function(){n.change()}:this.textarea.onchange=function(){n.change()})}},i._delete=function(){this.frame&&this.container&&this.frame.parentNode==this.container&&this.container.removeChild(this.frame)},i._onError=function(e){if("function"==typeof this.onError&&(t.log("WARNING: JSONEditor.onError is deprecated. Use options.error instead."),this.onError(e)),!this.options||"function"!=typeof this.options.error)throw e;this.options.error(e)},i.compact=function(){var e=t.parse(this.getText());this.setText(JSON.stringify(e))},i.format=function(){var e=t.parse(this.getText());this.setText(JSON.stringify(e,null,this.indentation))},i.focus=function(){this.textarea&&this.textarea.focus(),this.editor&&this.editor.focus()},i.resize=function(){if(this.editor){var e=!1;this.editor.resize(e)}},i.set=function(e){this.setText(JSON.stringify(e,null,this.indentation))},i.get=function(){return t.parse(this.getText())},i.getText=function(){return this.textarea?this.textarea.value:this.editor?this.editor.getValue():""},i.setText=function(e){this.textarea&&(this.textarea.value=e),this.editor&&this.editor.setValue(e,-1)},[{mode:"text",mixin:i,data:"text",load:i.format},{mode:"code",mixin:i,data:"text",load:i.format}]}.apply(null,n),!(void 0!==o&&(e.exports=o))},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_RESULT__;__WEBPACK_AMD_DEFINE_RESULT__=function(){var util={};util.parse=function parse(jsonString){try{return JSON.parse(jsonString)}catch(err){try{return eval("("+jsonString+")")}catch(err2){throw util.validate(jsonString),err}}},util.validate=function(e){"undefined"!=typeof jsonlint?jsonlint.parse(e):JSON.parse(e)},util.extend=function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i]);return e},util.clear=function(e){for(var t in e)e.hasOwnProperty(t)&&delete e[t];return e},util.log=function(){"undefined"!=typeof console&&"function"==typeof console.log&&console.log.apply(console,arguments)},util.type=function(e){return null===e?"null":void 0===e?"undefined":e instanceof Number||"number"==typeof e?"number":e instanceof String||"string"==typeof e?"string":e instanceof Boolean||"boolean"==typeof e?"boolean":e instanceof RegExp||"regexp"==typeof e?"regexp":util.isArray(e)?"array":"object"};var isUrlRegex=/^https?:\/\/\S+$/;util.isUrl=function(e){return("string"==typeof e||e instanceof String)&&isUrlRegex.test(e)},util.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)},util.getAbsoluteLeft=function(e){var t=e.getBoundingClientRect();return t.left+window.pageXOffset||document.scrollLeft||0},util.getAbsoluteTop=function(e){var t=e.getBoundingClientRect();return t.top+window.pageYOffset||document.scrollTop||0},util.addClassName=function(e,t){var i=e.className.split(" ");-1==i.indexOf(t)&&(i.push(t),e.className=i.join(" "))},util.removeClassName=function(e,t){var i=e.className.split(" "),n=i.indexOf(t);-1!=n&&(i.splice(n,1),e.className=i.join(" "))},util.stripFormatting=function(e){for(var t=e.childNodes,i=0,n=t.length;n>i;i++){var o=t[i];o.style&&o.removeAttribute("style");var s=o.attributes;if(s)for(var r=s.length-1;r>=0;r--){var a=s[r];1==a.specified&&o.removeAttribute(a.name)}util.stripFormatting(o)}},util.setEndOfContentEditable=function(e){var t,i;document.createRange&&(t=document.createRange(),t.selectNodeContents(e),t.collapse(!1),i=window.getSelection(),i.removeAllRanges(),i.addRange(t))},util.selectContentEditable=function(e){if(e&&"DIV"==e.nodeName){var t,i;window.getSelection&&document.createRange&&(i=document.createRange(),i.selectNodeContents(e),t=window.getSelection(),t.removeAllRanges(),t.addRange(i))}},util.getSelection=function(){if(window.getSelection){var e=window.getSelection();if(e.getRangeAt&&e.rangeCount)return e.getRangeAt(0)}return null},util.setSelection=function(e){if(e&&window.getSelection){var t=window.getSelection();t.removeAllRanges(),t.addRange(e)}},util.getSelectionOffset=function(){var e=util.getSelection();return e&&"startOffset"in e&&"endOffset"in e&&e.startContainer&&e.startContainer==e.endContainer?{startOffset:e.startOffset,endOffset:e.endOffset,container:e.startContainer.parentNode}:null},util.setSelectionOffset=function(e){if(document.createRange&&window.getSelection){var t=window.getSelection();if(t){var i=document.createRange();i.setStart(e.container.firstChild,e.startOffset),i.setEnd(e.container.firstChild,e.endOffset),util.setSelection(i)}}},util.getInnerText=function(e,t){var i=void 0==t;if(i&&(t={text:"",flush:function(){var e=this.text;return this.text="",e},set:function(e){this.text=e}}),e.nodeValue)return t.flush()+e.nodeValue;if(e.hasChildNodes()){for(var n=e.childNodes,o="",s=0,r=n.length;r>s;s++){var a=n[s];if("DIV"==a.nodeName||"P"==a.nodeName){var l=n[s-1],d=l?l.nodeName:void 0;d&&"DIV"!=d&&"P"!=d&&"BR"!=d&&(o+="\n",t.flush()),o+=util.getInnerText(a,t),t.set("\n")}else"BR"==a.nodeName?(o+=t.flush(),t.set("\n")):o+=util.getInnerText(a,t)}return o}return"P"==e.nodeName&&-1!=util.getInternetExplorerVersion()?t.flush():""},util.getInternetExplorerVersion=function(){if(-1==_ieVersion){var e=-1;if("Microsoft Internet Explorer"==navigator.appName){var t=navigator.userAgent,i=new RegExp("MSIE ([0-9]{1,}[.0-9]{0,})");null!=i.exec(t)&&(e=parseFloat(RegExp.$1))}_ieVersion=e}return _ieVersion},util.isFirefox=function(){return-1!=navigator.userAgent.indexOf("Firefox")};var _ieVersion=-1;return util.addEventListener=function(e,t,i,n){if(e.addEventListener)return void 0===n&&(n=!1),"mousewheel"===t&&util.isFirefox()&&(t="DOMMouseScroll"),e.addEventListener(t,i,n),i;if(e.attachEvent){var o=function(){return i.call(e,window.event)};return e.attachEvent("on"+t,o),o}},util.removeEventListener=function(e,t,i,n){e.removeEventListener?(void 0===n&&(n=!1),"mousewheel"===t&&util.isFirefox()&&(t="DOMMouseScroll"),e.removeEventListener(t,i,n)):e.detachEvent&&e.detachEvent("on"+t,i)},util}.call(exports,__webpack_require__,exports,module),!(void 0!==__WEBPACK_AMD_DEFINE_RESULT__&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__))},function(e,t,i){var n;n=function(){function e(){this.locked=!1}return e.prototype.highlight=function(e){this.locked||(this.node!=e&&(this.node&&this.node.setHighlight(!1),this.node=e,this.node.setHighlight(!0)),this._cancelUnhighlight())},e.prototype.unhighlight=function(){if(!this.locked){var e=this;this.node&&(this._cancelUnhighlight(),this.unhighlightTimer=setTimeout(function(){e.node.setHighlight(!1),e.node=void 0,e.unhighlightTimer=void 0},0))}},e.prototype._cancelUnhighlight=function(){this.unhighlightTimer&&(clearTimeout(this.unhighlightTimer),this.unhighlightTimer=void 0)},e.prototype.lock=function(){this.locked=!0},e.prototype.unlock=function(){this.locked=!1},e}.call(t,i,t,e),!(void 0!==n&&(e.exports=n))},function(e,t,i){var n,o;n=[i(3)],o=function(e){function t(e){this.editor=e,this.clear(),this.actions={editField:{undo:function(e){e.node.updateField(e.oldValue)},redo:function(e){e.node.updateField(e.newValue)}},editValue:{undo:function(e){e.node.updateValue(e.oldValue)},redo:function(e){e.node.updateValue(e.newValue)}},appendNode:{undo:function(e){e.parent.removeChild(e.node)},redo:function(e){e.parent.appendChild(e.node)}},insertBeforeNode:{undo:function(e){e.parent.removeChild(e.node)},redo:function(e){e.parent.insertBefore(e.node,e.beforeNode)}},insertAfterNode:{undo:function(e){e.parent.removeChild(e.node)},redo:function(e){e.parent.insertAfter(e.node,e.afterNode)}},removeNode:{undo:function(e){var t=e.parent,i=t.childs[e.index]||t.append;t.insertBefore(e.node,i)},redo:function(e){e.parent.removeChild(e.node)}},duplicateNode:{undo:function(e){e.parent.removeChild(e.clone)},redo:function(e){e.parent.insertAfter(e.clone,e.node)}},changeType:{undo:function(e){e.node.changeType(e.oldType)},redo:function(e){e.node.changeType(e.newType)}},moveNode:{undo:function(e){e.startParent.moveTo(e.node,e.startIndex)},redo:function(e){e.endParent.moveTo(e.node,e.endIndex)}},sort:{undo:function(e){var t=e.node;t.hideChilds(),t.sort=e.oldSort,t.childs=e.oldChilds,t.showChilds()},redo:function(e){var t=e.node;t.hideChilds(),t.sort=e.newSort,t.childs=e.newChilds,t.showChilds()}}}}return t.prototype.onChange=function(){},t.prototype.add=function(e,t){this.index++,this.history[this.index]={action:e,params:t,timestamp:new Date},this.index=0},t.prototype.canRedo=function(){return this.indexthis.results.length-1&&(t=0),this._setActiveResult(t,e)}},e.prototype.previous=function(e){if(void 0!=this.results){var t=this.results.length-1,i=void 0!=this.resultIndex?this.resultIndex-1:t;0>i&&(i=t),this._setActiveResult(i,e)}},e.prototype._setActiveResult=function(e,t){if(this.activeResult){var i=this.activeResult.node,n=this.activeResult.elem;"field"==n?delete i.searchFieldActive:delete i.searchValueActive,i.updateDom()}if(!this.results||!this.results[e])return this.resultIndex=void 0,void(this.activeResult=void 0);this.resultIndex=e;var o=this.results[this.resultIndex].node,s=this.results[this.resultIndex].elem;"field"==s?o.searchFieldActive=!0:o.searchValueActive=!0,this.activeResult=this.results[this.resultIndex],o.updateDom(),o.scrollTo(function(){t&&o.focus(s)})},e.prototype._clearDelay=function(){void 0!=this.timeout&&(clearTimeout(this.timeout),delete this.timeout)},e.prototype._onDelayedSearch=function(){this._clearDelay();var e=this;this.timeout=setTimeout(function(t){e._onSearch(t)},this.delay)},e.prototype._onSearch=function(e,t){this._clearDelay();var i=this.dom.search.value,n=i.length>0?i:void 0;if(n!=this.lastText||t)if(this.lastText=n,this.results=this.editor.search(n),this._setActiveResult(void 0),void 0!=n){var o=this.results.length;switch(o){case 0:this.dom.results.innerHTML="no results";break;case 1:this.dom.results.innerHTML="1 result";break;default:this.dom.results.innerHTML=o+" results"}}else this.dom.results.innerHTML=""},e.prototype._onKeyDown=function(e){var t=e.which;27==t?(this.dom.search.value="",this._onSearch(e),e.preventDefault(),e.stopPropagation()):13==t&&(e.ctrlKey?this._onSearch(e,!0):e.shiftKey?this.previous():this.next(),e.preventDefault(),e.stopPropagation())},e.prototype._onKeyUp=function(e){var t=e.keyCode;27!=t&&13!=t&&this._onDelayedSearch(e)},e}.call(t,i,t,e),!(void 0!==n&&(e.exports=n))},function(e,t,i){var n,o;n=[i(9),i(10),i(3)],o=function(e,t,i){function n(e,t){this.editor=e,this.dom={},this.expanded=!1,t&&t instanceof Object?(this.setField(t.field,t.fieldEditable),this.setValue(t.value,t.type)):(this.setField(""),this.setValue(null))}n.prototype._updateEditability=function(){if(this.editable={field:!0,value:!0},this.editor&&(this.editable.field="tree"===this.editor.options.mode,this.editable.value="view"!==this.editor.options.mode,"tree"===this.editor.options.mode&&"function"==typeof this.editor.options.editable)){var e=this.editor.options.editable({field:this.field,value:this.value,path:this.path()});"boolean"==typeof e?(this.editable.field=e,this.editable.value=e):("boolean"==typeof e.field&&(this.editable.field=e.field),"boolean"==typeof e.value&&(this.editable.value=e.value))}},n.prototype.path=function(){for(var e=this,t=[];e;){var i=e.field||e.index;void 0!==i&&t.unshift(i),e=e.parent}return t},n.prototype.setParent=function(e){this.parent=e},n.prototype.setField=function(e,t){this.field=e,this.fieldEditable=1==t},n.prototype.getField=function(){return void 0===this.field&&this._getDomField(),this.field},n.prototype.setValue=function(e,t){var i,o,s=this.childs;if(s)for(;s.length;)this.removeChild(s[0]);if(this.type=this._getType(e),t&&t!=this.type){if("string"!=t||"auto"!=this.type)throw new Error('Type mismatch: cannot cast value of type "'+this.type+' to the specified type "'+t+'"');this.type=t}if("array"==this.type){this.childs=[];for(var r=0,a=e.length;a>r;r++)i=e[r],void 0===i||i instanceof Function||(o=new n(this.editor,{value:i}),this.appendChild(o));this.value=""}else if("object"==this.type){this.childs=[];for(var l in e)e.hasOwnProperty(l)&&(i=e[l],void 0===i||i instanceof Function||(o=new n(this.editor,{field:l,value:i}),this.appendChild(o)));this.value=""}else this.childs=void 0,this.value=e},n.prototype.getValue=function(){if("array"==this.type){var e=[];return this.childs.forEach(function(t){e.push(t.getValue())}),e}if("object"==this.type){var t={};return this.childs.forEach(function(e){t[e.getField()]=e.getValue()}),t}return void 0===this.value&&this._getDomValue(),this.value},n.prototype.getLevel=function(){return this.parent?this.parent.getLevel()+1:0},n.prototype.clone=function(){var e=new n(this.editor);if(e.type=this.type,e.field=this.field,e.fieldInnerText=this.fieldInnerText,e.fieldEditable=this.fieldEditable,e.value=this.value,e.valueInnerText=this.valueInnerText,e.expanded=this.expanded,this.childs){var t=[];this.childs.forEach(function(i){var n=i.clone();n.setParent(e),t.push(n)}),e.childs=t}else e.childs=void 0;return e},n.prototype.expand=function(e){this.childs&&(this.expanded=!0,this.dom.expand&&(this.dom.expand.className="expanded"),this.showChilds(),0!=e&&this.childs.forEach(function(t){t.expand(e)}))},n.prototype.collapse=function(e){this.childs&&(this.hideChilds(),0!=e&&this.childs.forEach(function(t){t.collapse(e)}),this.dom.expand&&(this.dom.expand.className="collapsed"),this.expanded=!1)},n.prototype.showChilds=function(){var e=this.childs;if(e&&this.expanded){var t=this.dom.tr,i=t?t.parentNode:void 0;if(i){var n=this.getAppend(),o=t.nextSibling;o?i.insertBefore(n,o):i.appendChild(n),this.childs.forEach(function(e){i.insertBefore(e.getDom(),n),e.showChilds()})}}},n.prototype.hide=function(){var e=this.dom.tr,t=e?e.parentNode:void 0;t&&t.removeChild(e),this.hideChilds()},n.prototype.hideChilds=function(){var e=this.childs;if(e&&this.expanded){var t=this.getAppend();t.parentNode&&t.parentNode.removeChild(t),this.childs.forEach(function(e){e.hide()})}},n.prototype.appendChild=function(e){if(this._hasChilds()){if(e.setParent(this),e.fieldEditable="object"==this.type,"array"==this.type&&(e.index=this.childs.length),this.childs.push(e),this.expanded){var t=e.getDom(),i=this.getAppend(),n=i?i.parentNode:void 0;i&&n&&n.insertBefore(t,i),e.showChilds()}this.updateDom({updateIndexes:!0}),e.updateDom({recurse:!0})}},n.prototype.moveBefore=function(e,t){if(this._hasChilds()){var i=this.dom.tr?this.dom.tr.parentNode:void 0;if(i){var n=document.createElement("tr");n.style.height=i.clientHeight+"px",i.appendChild(n)}e.parent&&e.parent.removeChild(e),t instanceof o?this.appendChild(e):this.insertBefore(e,t),i&&i.removeChild(n)}},n.prototype.moveTo=function(e,t){if(e.parent==this){var i=this.childs.indexOf(e);t>i&&t++}var n=this.childs[t]||this.append;this.moveBefore(e,n)},n.prototype.insertBefore=function(e,t){if(this._hasChilds()){if(t==this.append)e.setParent(this),e.fieldEditable="object"==this.type,this.childs.push(e);else{var i=this.childs.indexOf(t);if(-1==i)throw new Error("Node not found");e.setParent(this),e.fieldEditable="object"==this.type,this.childs.splice(i,0,e)}if(this.expanded){var n=e.getDom(),o=t.getDom(),s=o?o.parentNode:void 0;o&&s&&s.insertBefore(n,o),e.showChilds()}this.updateDom({updateIndexes:!0}),e.updateDom({recurse:!0})}},n.prototype.insertAfter=function(e,t){if(this._hasChilds()){var i=this.childs.indexOf(t),n=this.childs[i+1];n?this.insertBefore(e,n):this.appendChild(e)}},n.prototype.search=function(e){var t,i=[],n=e?e.toLowerCase():void 0;if(delete this.searchField,delete this.searchValue,void 0!=this.field){var o=String(this.field).toLowerCase();t=o.indexOf(n),-1!=t&&(this.searchField=!0,i.push({node:this,elem:"field"})),this._updateDomField()}if(this._hasChilds()){if(this.childs){var s=[];this.childs.forEach(function(t){s=s.concat(t.search(e))}),i=i.concat(s)}if(void 0!=n){var r=!1;0==s.length?this.collapse(r):this.expand(r)}}else{if(void 0!=this.value){var a=String(this.value).toLowerCase();t=a.indexOf(n),-1!=t&&(this.searchValue=!0,i.push({node:this,elem:"value"}))}this._updateDomValue()}return i},n.prototype.scrollTo=function(e){if(!this.dom.tr||!this.dom.tr.parentNode)for(var t=this.parent,i=!1;t;)t.expand(i),t=t.parent;this.dom.tr&&this.dom.tr.parentNode&&this.editor.scrollTo(this.dom.tr.offsetTop,e)},n.focusElement=void 0,n.prototype.focus=function(e){if(n.focusElement=e,this.dom.tr&&this.dom.tr.parentNode){var t=this.dom;switch(e){case"drag":t.drag?t.drag.focus():t.menu.focus();break;case"menu":t.menu.focus();break;case"expand":this._hasChilds()?t.expand.focus():t.field&&this.fieldEditable?(t.field.focus(),i.selectContentEditable(t.field)):t.value&&!this._hasChilds()?(t.value.focus(),i.selectContentEditable(t.value)):t.menu.focus();break;case"field":t.field&&this.fieldEditable?(t.field.focus(),i.selectContentEditable(t.field)):t.value&&!this._hasChilds()?(t.value.focus(),i.selectContentEditable(t.value)):this._hasChilds()?t.expand.focus():t.menu.focus();break;case"value":default:t.value&&!this._hasChilds()?(t.value.focus(),i.selectContentEditable(t.value)):t.field&&this.fieldEditable?(t.field.focus(),i.selectContentEditable(t.field)):this._hasChilds()?t.expand.focus():t.menu.focus()}}},n.select=function(e){setTimeout(function(){i.selectContentEditable(e)},0)},n.prototype.blur=function(){this._getDomValue(!1),this._getDomField(!1)},n.prototype._duplicate=function(e){var t=e.clone();return this.insertAfter(t,e),t -},n.prototype.containsNode=function(e){if(this==e)return!0;var t=this.childs;if(t)for(var i=0,n=t.length;n>i;i++)if(t[i].containsNode(e))return!0;return!1},n.prototype._move=function(e,t){if(e!=t){if(e.containsNode(this))throw new Error("Cannot move a field into a child of itself");e.parent&&e.parent.removeChild(e);var i=e.clone();e.clearDom(),t?this.insertBefore(i,t):this.appendChild(i)}},n.prototype.removeChild=function(e){if(this.childs){var t=this.childs.indexOf(e);if(-1!=t){e.hide(),delete e.searchField,delete e.searchValue;var i=this.childs.splice(t,1)[0];return this.updateDom({updateIndexes:!0}),i}}return void 0},n.prototype._remove=function(e){this.removeChild(e)},n.prototype.changeType=function(e){var t=this.type;if(t!=e){if("string"!=e&&"auto"!=e||"string"!=t&&"auto"!=t){var i,n=this.dom.tr?this.dom.tr.parentNode:void 0;i=this.expanded?this.getAppend():this.getDom();var o=i&&i.parentNode?i.nextSibling:void 0;this.hide(),this.clearDom(),this.type=e,"object"==e?(this.childs||(this.childs=[]),this.childs.forEach(function(e){e.clearDom(),delete e.index,e.fieldEditable=!0,void 0==e.field&&(e.field="")}),("string"==t||"auto"==t)&&(this.expanded=!0)):"array"==e?(this.childs||(this.childs=[]),this.childs.forEach(function(e,t){e.clearDom(),e.fieldEditable=!1,e.index=t}),("string"==t||"auto"==t)&&(this.expanded=!0)):this.expanded=!1,n&&(o?n.insertBefore(this.getDom(),o):n.appendChild(this.getDom())),this.showChilds()}else this.type=e;("auto"==e||"string"==e)&&(this.value="string"==e?String(this.value):this._stringCast(String(this.value)),this.focus()),this.updateDom({updateIndexes:!0})}},n.prototype._getDomValue=function(e){if(this.dom.value&&"array"!=this.type&&"object"!=this.type&&(this.valueInnerText=i.getInnerText(this.dom.value)),void 0!=this.valueInnerText)try{var t;if("string"==this.type)t=this._unescapeHTML(this.valueInnerText);else{var n=this._unescapeHTML(this.valueInnerText);t=this._stringCast(n)}if(t!==this.value){var o=this.value;this.value=t,this.editor._onAction("editValue",{node:this,oldValue:o,newValue:t,oldSelection:this.editor.selection,newSelection:this.editor.getSelection()})}}catch(s){if(this.value=void 0,1!=e)throw s}},n.prototype._updateDomValue=function(){var e=this.dom.value;if(e){var t=this.value,n="auto"==this.type?i.type(t):this.type,o="string"==n&&i.isUrl(t),s="";s=o&&!this.editable.value?"":"string"==n?"green":"number"==n?"red":"boolean"==n?"darkorange":this._hasChilds()?"":null===t?"#004ED0":"black",e.style.color=s;var r=""==String(this.value)&&"array"!=this.type&&"object"!=this.type;if(r?i.addClassName(e,"empty"):i.removeClassName(e,"empty"),o?i.addClassName(e,"url"):i.removeClassName(e,"url"),"array"==n||"object"==n){var a=this.childs?this.childs.length:0;e.title=this.type+" containing "+a+" items"}else"string"==n&&i.isUrl(t)?this.editable.value&&(e.title="Ctrl+Click or Ctrl+Enter to open url in new window"):e.title="";this.searchValueActive?i.addClassName(e,"highlight-active"):i.removeClassName(e,"highlight-active"),this.searchValue?i.addClassName(e,"highlight"):i.removeClassName(e,"highlight"),i.stripFormatting(e)}},n.prototype._updateDomField=function(){var e=this.dom.field;if(e){var t=""==String(this.field)&&"array"!=this.parent.type;t?i.addClassName(e,"empty"):i.removeClassName(e,"empty"),this.searchFieldActive?i.addClassName(e,"highlight-active"):i.removeClassName(e,"highlight-active"),this.searchField?i.addClassName(e,"highlight"):i.removeClassName(e,"highlight"),i.stripFormatting(e)}},n.prototype._getDomField=function(e){if(this.dom.field&&this.fieldEditable&&(this.fieldInnerText=i.getInnerText(this.dom.field)),void 0!=this.fieldInnerText)try{var t=this._unescapeHTML(this.fieldInnerText);if(t!==this.field){var n=this.field;this.field=t,this.editor._onAction("editField",{node:this,oldValue:n,newValue:t,oldSelection:this.editor.selection,newSelection:this.editor.getSelection()})}}catch(o){if(this.field=void 0,1!=e)throw o}},n.prototype.clearDom=function(){this.dom={}},n.prototype.getDom=function(){var e=this.dom;if(e.tr)return e.tr;if(this._updateEditability(),e.tr=document.createElement("tr"),e.tr.node=this,"tree"===this.editor.options.mode){var t=document.createElement("td");if(this.editable.field&&this.parent){var i=document.createElement("button");e.drag=i,i.className="dragarea",i.title="Drag to move this field (Alt+Shift+Arrows)",t.appendChild(i)}e.tr.appendChild(t);var n=document.createElement("td"),o=document.createElement("button");e.menu=o,o.className="contextmenu",o.title="Click to open the actions menu (Ctrl+M)",n.appendChild(e.menu),e.tr.appendChild(n)}var s=document.createElement("td");return e.tr.appendChild(s),e.tree=this._createDomTree(),s.appendChild(e.tree),this.updateDom({updateIndexes:!0}),e.tr},n.prototype._onDragStart=function(e){var t=this;this.mousemove||(this.mousemove=i.addEventListener(document,"mousemove",function(e){t._onDrag(e)})),this.mouseup||(this.mouseup=i.addEventListener(document,"mouseup",function(e){t._onDragEnd(e)})),this.editor.highlighter.lock(),this.drag={oldCursor:document.body.style.cursor,startParent:this.parent,startIndex:this.parent.childs.indexOf(this),mouseX:e.pageX,level:this.getLevel()},document.body.style.cursor="move",e.preventDefault()},n.prototype._onDrag=function(e){var t,s,r,a,l,d,h,c,u,p,f,m,v,g,y=e.pageY,x=e.pageX,b=!1;if(t=this.dom.tr,u=i.getAbsoluteTop(t),m=t.offsetHeight,u>y){s=t;do s=s.previousSibling,h=n.getNodeFromTarget(s),p=s?i.getAbsoluteTop(s):0;while(s&&p>y);h&&!h.parent&&(h=void 0),h||(d=t.parentNode.firstChild,s=d?d.nextSibling:void 0,h=n.getNodeFromTarget(s),h==this&&(h=void 0)),h&&(s=h.dom.tr,p=s?i.getAbsoluteTop(s):0,y>p+m&&(h=void 0)),h&&(h.parent.moveBefore(this,h),b=!0)}else if(l=this.expanded&&this.append?this.append.getDom():this.dom.tr,a=l?l.nextSibling:void 0){f=i.getAbsoluteTop(a),r=a;do c=n.getNodeFromTarget(r),r&&(v=r.nextSibling?i.getAbsoluteTop(r.nextSibling):0,g=r?v-f:0,1==c.parent.childs.length&&c.parent.childs[0]==this&&(u+=23)),r=r.nextSibling;while(r&&y>u+g);if(c&&c.parent){var C=x-this.drag.mouseX,_=Math.round(C/24/2),E=this.drag.level+_,N=c.getLevel();for(s=c.dom.tr.previousSibling;E>N&&s;){if(h=n.getNodeFromTarget(s),h==this||h._isChildOf(this));else{if(!(h instanceof o))break;var w=h.parent.childs;if(!(w.length>1||1==w.length&&w[0]!=this))break;c=n.getNodeFromTarget(s),N=c.getLevel()}s=s.previousSibling}l.nextSibling!=c.dom.tr&&(c.parent.moveBefore(this,c),b=!0)}}b&&(this.drag.mouseX=x,this.drag.level=this.getLevel()),this.editor.startAutoScroll(y),e.preventDefault()},n.prototype._onDragEnd=function(e){var t={node:this,startParent:this.drag.startParent,startIndex:this.drag.startIndex,endParent:this.parent,endIndex:this.parent.childs.indexOf(this)};(t.startParent!=t.endParent||t.startIndex!=t.endIndex)&&this.editor._onAction("moveNode",t),document.body.style.cursor=this.drag.oldCursor,this.editor.highlighter.unlock(),delete this.drag,this.mousemove&&(i.removeEventListener(document,"mousemove",this.mousemove),delete this.mousemove),this.mouseup&&(i.removeEventListener(document,"mouseup",this.mouseup),delete this.mouseup),this.editor.stopAutoScroll(),e.preventDefault()},n.prototype._isChildOf=function(e){for(var t=this.parent;t;){if(t==e)return!0;t=t.parent}return!1},n.prototype._createDomField=function(){return document.createElement("div")},n.prototype.setHighlight=function(e){this.dom.tr&&(this.dom.tr.className=e?"highlight":"",this.append&&this.append.setHighlight(e),this.childs&&this.childs.forEach(function(t){t.setHighlight(e)}))},n.prototype.updateValue=function(e){this.value=e,this.updateDom()},n.prototype.updateField=function(e){this.field=e,this.updateDom()},n.prototype.updateDom=function(e){var t=this.dom.tree;t&&(t.style.marginLeft=24*this.getLevel()+"px");var i=this.dom.field;if(i){this.fieldEditable?(i.contentEditable=this.editable.field,i.spellcheck=!1,i.className="field"):i.className="readonly";var n;n=void 0!=this.index?this.index:void 0!=this.field?this.field:this._hasChilds()?this.type:"",i.innerHTML=this._escapeHTML(n)}var o=this.dom.value;if(o){var s=this.childs?this.childs.length:0;o.innerHTML="array"==this.type?"["+s+"]":"object"==this.type?"{"+s+"}":this._escapeHTML(this.value)}this._updateDomField(),this._updateDomValue(),e&&1==e.updateIndexes&&this._updateDomIndexes(),e&&1==e.recurse&&this.childs&&this.childs.forEach(function(t){t.updateDom(e)}),this.append&&this.append.updateDom()},n.prototype._updateDomIndexes=function(){var e=this.dom.value,t=this.childs;e&&t&&("array"==this.type?t.forEach(function(e,t){e.index=t;var i=e.dom.field;i&&(i.innerHTML=t)}):"object"==this.type&&t.forEach(function(e){void 0!=e.index&&(delete e.index,void 0==e.field&&(e.field=""))}))},n.prototype._createDomValue=function(){var e;return"array"==this.type?(e=document.createElement("div"),e.className="readonly",e.innerHTML="[...]"):"object"==this.type?(e=document.createElement("div"),e.className="readonly",e.innerHTML="{...}"):!this.editable.value&&i.isUrl(this.value)?(e=document.createElement("a"),e.className="value",e.href=this.value,e.target="_blank",e.innerHTML=this._escapeHTML(this.value)):(e=document.createElement("div"),e.contentEditable=this.editable.value,e.spellcheck=!1,e.className="value",e.innerHTML=this._escapeHTML(this.value)),e},n.prototype._createDomExpandButton=function(){var e=document.createElement("button");return this._hasChilds()?(e.className=this.expanded?"expanded":"collapsed",e.title="Click to expand/collapse this field (Ctrl+E). \nCtrl+Click to expand/collapse including all childs."):(e.className="invisible",e.title=""),e},n.prototype._createDomTree=function(){var e=this.dom,t=document.createElement("table"),i=document.createElement("tbody");t.style.borderCollapse="collapse",t.className="values",t.appendChild(i);var n=document.createElement("tr");i.appendChild(n);var o=document.createElement("td");o.className="tree",n.appendChild(o),e.expand=this._createDomExpandButton(),o.appendChild(e.expand),e.tdExpand=o;var s=document.createElement("td");s.className="tree",n.appendChild(s),e.field=this._createDomField(),s.appendChild(e.field),e.tdField=s;var r=document.createElement("td");r.className="tree",n.appendChild(r),"object"!=this.type&&"array"!=this.type&&(r.appendChild(document.createTextNode(":")),r.className="separator"),e.tdSeparator=r;var a=document.createElement("td");return a.className="tree",n.appendChild(a),e.value=this._createDomValue(),a.appendChild(e.value),e.tdValue=a,t},n.prototype.onEvent=function(e){var t,n=e.type,o=e.target||e.srcElement,s=this.dom,r=this,a=this._hasChilds();if((o==s.drag||o==s.menu)&&("mouseover"==n?this.editor.highlighter.highlight(this):"mouseout"==n&&this.editor.highlighter.unhighlight()),"mousedown"==n&&o==s.drag&&this._onDragStart(e),"click"==n&&o==s.menu){var l=r.editor.highlighter;l.highlight(r),l.lock(),i.addClassName(s.menu,"selected"),this.showContextMenu(s.menu,function(){i.removeClassName(s.menu,"selected"),l.unlock(),l.unhighlight()})}if("click"==n&&o==s.expand&&a){var d=e.ctrlKey;this._onExpand(d)}var h=s.value;if(o==h)switch(n){case"focus":t=this;break;case"blur":case"change":this._getDomValue(!0),this._updateDomValue(),this.value&&(h.innerHTML=this._escapeHTML(this.value));break;case"input":this._getDomValue(!0),this._updateDomValue();break;case"keydown":case"mousedown":this.editor.selection=this.editor.getSelection();break;case"click":(e.ctrlKey||!this.editable.value)&&i.isUrl(this.value)&&window.open(this.value,"_blank");break;case"keyup":this._getDomValue(!0),this._updateDomValue();break;case"cut":case"paste":setTimeout(function(){r._getDomValue(!0),r._updateDomValue()},1)}var c=s.field;if(o==c)switch(n){case"focus":t=this;break;case"blur":case"change":this._getDomField(!0),this._updateDomField(),this.field&&(c.innerHTML=this._escapeHTML(this.field));break;case"input":this._getDomField(!0),this._updateDomField();break;case"keydown":case"mousedown":this.editor.selection=this.editor.getSelection();break;case"keyup":this._getDomField(!0),this._updateDomField();break;case"cut":case"paste":setTimeout(function(){r._getDomField(!0),r._updateDomField()},1)}var u=s.tree;if(o==u.parentNode)switch(n){case"click":var p=void 0!=e.offsetX?e.offsetX<24*(this.getLevel()+1):e.pageXn[i]?t:e[i]/g,">").replace(/ /g,"  ").replace(/^ /," ").replace(/ $/," "),i=JSON.stringify(t);return i.substring(1,i.length-1)},n.prototype._unescapeHTML=function(e){var t='"'+this._escapeJSON(e)+'"',n=i.parse(t);return n.replace(/</g,"<").replace(/>/g,">").replace(/ |\u00A0/g," ")},n.prototype._escapeJSON=function(e){for(var t="",i=0,n=e.length;n>i;){var o=e.charAt(i);"\n"==o?t+="\\n":"\\"==o?(t+=o,i++,o=e.charAt(i),-1=='"\\/bfnrtu'.indexOf(o)&&(t+="\\"),t+=o):t+='"'==o?'\\"':o,i++}return t};var o=t(n);return n}.apply(null,n),!(void 0!==o&&(e.exports=o))},function(e,t,i){var n,o;n=[i(9)],o=function(e){function t(t,i,n){function o(e){t.setMode(e);var i=t.dom&&t.dom.modeBox;i&&i.focus()}for(var s={code:{text:"Code",title:"Switch to code highlighter",click:function(){o("code")}},form:{text:"Form",title:"Switch to form editor",click:function(){o("form")}},text:{text:"Text",title:"Switch to plain text editor",click:function(){o("text")}},tree:{text:"Tree",title:"Switch to tree editor",click:function(){o("tree")}},view:{text:"View",title:"Switch to tree view",click:function(){o("view")}}},r=[],a=0;a',a.appendChild(c),o.submenuTitle&&(c.title=o.submenuTitle),h=c}else{var u=document.createElement("div");u.className="expand",l.appendChild(u),h=l}h.onclick=function(){n._onExpandItem(r),h.focus()};var p=[];r.subItems=p;var f=document.createElement("ul");r.ul=f,f.className="menu",f.style.height="0",a.appendChild(f),i(f,p,o.submenu)}else l.innerHTML='
'+o.text;t.push(r)}})}this.dom={};var n=this,o=this.dom;this.anchor=void 0,this.items=e,this.eventListeners={},this.selection=void 0,this.visibleSubmenu=void 0,this.onClose=t?t.close:void 0;var s=document.createElement("div");s.className="jsoneditor-contextmenu",o.menu=s;var r=document.createElement("ul");r.className="menu",s.appendChild(r),o.list=r,o.items=[];var a=document.createElement("button");o.focusButton=a;var l=document.createElement("li");l.style.overflow="hidden",l.style.height="0",l.appendChild(a),r.appendChild(l),i(r,this.dom.items,e),this.maxHeight=0,e.forEach(function(t){var i=24*(e.length+(t.submenu?t.submenu.length:0));n.maxHeight=Math.max(n.maxHeight,i)})}return t.prototype._getVisibleButtons=function(){var e=[],t=this;return this.dom.items.forEach(function(i){e.push(i.button),i.buttonExpand&&e.push(i.buttonExpand),i.subItems&&i==t.expandedItem&&i.subItems.forEach(function(t){e.push(t.button),t.buttonExpand&&e.push(t.buttonExpand)})}),e},t.visibleMenu=void 0,t.prototype.show=function(i){this.hide();var n=window.innerHeight,o=window.pageYOffset||document.scrollTop||0,s=n+o,r=i.offsetHeight,a=this.maxHeight,l=e.getAbsoluteLeft(i),d=e.getAbsoluteTop(i);s>d+r+a?(this.dom.menu.style.left=l+"px",this.dom.menu.style.top=d+r+"px",this.dom.menu.style.bottom=""):(this.dom.menu.style.left=l+"px",this.dom.menu.style.top="",this.dom.menu.style.bottom=n-d+"px"),document.body.appendChild(this.dom.menu);var h=this,c=this.dom.list;this.eventListeners.mousedown=e.addEventListener(document,"mousedown",function(e){var t=e.target;t==c||h._isChildOf(t,c)||(h.hide(),e.stopPropagation(),e.preventDefault())}),this.eventListeners.mousewheel=e.addEventListener(document,"mousewheel",function(e){e.stopPropagation(),e.preventDefault()}),this.eventListeners.keydown=e.addEventListener(document,"keydown",function(e){h._onKeyDown(e)}),this.selection=e.getSelection(),this.anchor=i,setTimeout(function(){h.dom.focusButton.focus()},0),t.visibleMenu&&t.visibleMenu.hide(),t.visibleMenu=this},t.prototype.hide=function(){this.dom.menu.parentNode&&(this.dom.menu.parentNode.removeChild(this.dom.menu),this.onClose&&this.onClose());for(var i in this.eventListeners)if(this.eventListeners.hasOwnProperty(i)){var n=this.eventListeners[i];n&&e.removeEventListener(document,i,n),delete this.eventListeners[i]}t.visibleMenu==this&&(t.visibleMenu=void 0)},t.prototype._onExpandItem=function(t){var i=this,n=t==this.expandedItem,o=this.expandedItem;if(o&&(o.ul.style.height="0",o.ul.style.padding="",setTimeout(function(){i.expandedItem!=o&&(o.ul.style.display="",e.removeClassName(o.ul.parentNode,"selected"))},300),this.expandedItem=void 0),!n){var s=t.ul;s.style.display="block";{s.clientHeight}setTimeout(function(){i.expandedItem==t&&(s.style.height=24*s.childNodes.length+"px",s.style.padding="5px 10px")},0),e.addClassName(s.parentNode,"selected"),this.expandedItem=t}},t.prototype._onKeyDown=function(t){var i,n,o,s,r=t.target,a=t.which,l=!1;27==a?(this.selection&&e.setSelection(this.selection),this.anchor&&this.anchor.focus(),this.hide(),l=!0):9==a?t.shiftKey?(i=this._getVisibleButtons(),n=i.indexOf(r),0==n&&(i[i.length-1].focus(),l=!0)):(i=this._getVisibleButtons(),n=i.indexOf(r),n==i.length-1&&(i[0].focus(),l=!0)):37==a?("expand"==r.className&&(i=this._getVisibleButtons(),n=i.indexOf(r),o=i[n-1],o&&o.focus()),l=!0):38==a?(i=this._getVisibleButtons(),n=i.indexOf(r),o=i[n-1],o&&"expand"==o.className&&(o=i[n-2]),o||(o=i[i.length-1]),o&&o.focus(),l=!0):39==a?(i=this._getVisibleButtons(),n=i.indexOf(r),s=i[n+1],s&&"expand"==s.className&&s.focus(),l=!0):40==a&&(i=this._getVisibleButtons(),n=i.indexOf(r),s=i[n+1],s&&"expand"==s.className&&(s=i[n+2]),s||(s=i[0]),s&&(s.focus(),l=!0),l=!0),l&&(t.stopPropagation(),t.preventDefault())},t.prototype._isChildOf=function(e,t){for(var i=e.parentNode;i;){if(i==t)return!0;i=i.parentNode}return!1},t}.apply(null,n),!(void 0!==o&&(e.exports=o))},function(e,t,i){var n,o;n=[i(9),i(3)],o=function(e,t){function i(i){function n(e){this.editor=e,this.dom={}}return n.prototype=new i,n.prototype.getDom=function(){var e=this.dom;if(e.tr)return e.tr;this._updateEditability();var t=document.createElement("tr");if(t.node=this,e.tr=t,this.editable.field){e.tdDrag=document.createElement("td");var i=document.createElement("td");e.tdMenu=i;var n=document.createElement("button");n.className="contextmenu",n.title="Click to open the actions menu (Ctrl+M)",e.menu=n,i.appendChild(e.menu)}var o=document.createElement("td"),s=document.createElement("div");return s.innerHTML="(empty)",s.className="readonly",o.appendChild(s),e.td=o,e.text=s,this.updateDom(),t},n.prototype.updateDom=function(){var e=this.dom,t=e.td;t&&(t.style.paddingLeft=24*this.getLevel()+26+"px");var i=e.text;i&&(i.innerHTML="(empty "+this.parent.type+")");var n=e.tr;this.isVisible()?e.tr.firstChild||(e.tdDrag&&n.appendChild(e.tdDrag),e.tdMenu&&n.appendChild(e.tdMenu),n.appendChild(t)):e.tr.firstChild&&(e.tdDrag&&n.removeChild(e.tdDrag),e.tdMenu&&n.removeChild(e.tdMenu),n.removeChild(t))},n.prototype.isVisible=function(){return 0==this.parent.childs.length},n.prototype.showContextMenu=function(t,n){var o=this,s=i.TYPE_TITLES,r=[{text:"Append",title:"Append a new field with type 'auto' (Ctrl+Shift+Ins)",submenuTitle:"Select the type of the field to be appended",className:"insert",click:function(){o._onAppend("","","auto")},submenu:[{text:"Auto",className:"type-auto",title:s.auto,click:function(){o._onAppend("","","auto")}},{text:"Array",className:"type-array",title:s.array,click:function(){o._onAppend("",[])}},{text:"Object",className:"type-object",title:s.object,click:function(){o._onAppend("",{})}},{text:"String",className:"type-string",title:s.string,click:function(){o._onAppend("","","string")}}]}],a=new e(r,{close:n});a.show(t)},n.prototype.onEvent=function(e){var i=e.type,n=e.target||e.srcElement,o=this.dom,s=o.menu;if(n==s&&("mouseover"==i?this.editor.highlighter.highlight(this.parent):"mouseout"==i&&this.editor.highlighter.unhighlight()),"click"==i&&n==o.menu){var r=this.editor.highlighter;r.highlight(this.parent),r.lock(),t.addClassName(o.menu,"selected"),this.showContextMenu(o.menu,function(){t.removeClassName(o.menu,"selected"),r.unlock(),r.unhighlight()})}"keydown"==i&&this.onKeyDown(e)},n}return i}.apply(null,n),!(void 0!==o&&(e.exports=o))}])}); +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):"object"==typeof exports?exports.JSONEditor=t():e.JSONEditor=t()}(this,function(){return function(e){function t(n){if(i[n])return i[n].exports;var o=i[n]={exports:{},id:n,loaded:!1};return e[n].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var i={};return t.m=e,t.c=i,t.p="",t(0)}([function(e,t,i){var n,o;n=[i(1),i(2),i(3)],o=function(e,t,i){function n(e,t,o){if(!(this instanceof n))throw new Error('JSONEditor constructor called without "new".');var s=i.getInternetExplorerVersion();if(-1!=s&&9>s)throw new Error("Unsupported browser, IE9 or newer required. Please install the newest version of your browser.");arguments.length&&this._create(e,t,o)}return n.modes={},n.prototype._create=function(e,t,i){this.container=e,this.options=t||{},this.json=i||{};var n=this.options.mode||"tree";this.setMode(n)},n.prototype._delete=function(){},n.prototype.set=function(e){this.json=e},n.prototype.get=function(){return this.json},n.prototype.setText=function(e){this.json=i.parse(e)},n.prototype.getText=function(){return JSON.stringify(this.json)},n.prototype.setName=function(e){this.options||(this.options={}),this.options.name=e},n.prototype.getName=function(){return this.options&&this.options.name},n.prototype.setMode=function(e){var t,o,s=this.container,r=i.extend({},this.options);r.mode=e;var a=n.modes[e];if(!a)throw new Error('Unknown mode "'+r.mode+'"');try{var d="text"==a.data;if(o=this.getName(),t=this[d?"getText":"get"](),this._delete(),i.clear(this),i.extend(this,a.mixin),this.create(s,r),this.setName(o),this[d?"setText":"set"](t),"function"==typeof a.load)try{a.load.call(this)}catch(l){}}catch(l){this._onError(l)}},n.prototype._onError=function(e){if("function"==typeof this.onError&&(i.log("WARNING: JSONEditor.onError is deprecated. Use options.error instead."),this.onError(e)),!this.options||"function"!=typeof this.options.error)throw e;this.options.error(e)},n.registerMode=function(e){var t,o;if(i.isArray(e))for(t=0;te&&i.scrollTop>0?(n+a-e)/3:e>r-a&&o+i.scrollTop3?(i.scrollTop+=o/3,n.animateCallback=t,n.animateTimeout=setTimeout(a,50)):(t&&t(!0),i.scrollTop=r,delete n.animateTimeout,delete n.animateCallback)};a()}else t&&t(!1)},r._createFrame=function(){function e(e){t._onEvent(e)}this.frame=document.createElement("div"),this.frame.className="jsoneditor",this.container.appendChild(this.frame);var t=this;this.frame.onclick=function(t){var i=t.target;e(t),"BUTTON"==i.nodeName&&t.preventDefault()},this.frame.oninput=e,this.frame.onchange=e,this.frame.onkeydown=e,this.frame.onkeyup=e,this.frame.oncut=e,this.frame.onpaste=e,this.frame.onmousedown=e,this.frame.onmouseup=e,this.frame.onmouseover=e,this.frame.onmouseout=e,s.addEventListener(this.frame,"focus",e,!0),s.addEventListener(this.frame,"blur",e,!0),this.frame.onfocusin=e,this.frame.onfocusout=e,this.menu=document.createElement("div"),this.menu.className="menu",this.frame.appendChild(this.menu);var n=document.createElement("button");n.className="expand-all",n.title="Expand all fields",n.onclick=function(){t.expandAll()},this.menu.appendChild(n);var r=document.createElement("button");if(r.title="Collapse all fields",r.className="collapse-all",r.onclick=function(){t.collapseAll()},this.menu.appendChild(r),this.history){var a=document.createElement("button");a.className="undo separator",a.title="Undo last action (Ctrl+Z)",a.onclick=function(){t._onUndo()},this.menu.appendChild(a),this.dom.undo=a;var d=document.createElement("button");d.className="redo",d.title="Redo (Ctrl+Shift+Z)",d.onclick=function(){t._onRedo()},this.menu.appendChild(d),this.dom.redo=d,this.history.onChange=function(){a.disabled=!t.history.canUndo(),d.disabled=!t.history.canRedo()},this.history.onChange()}if(this.options&&this.options.modes&&this.options.modes.length){var l=o.create(this,this.options.modes,this.options.mode);this.menu.appendChild(l),this.dom.modeBox=l}this.options.search&&(this.searchBox=new i(this,this.menu))},r._onUndo=function(){this.history&&(this.history.undo(),this.options.change&&this.options.change())},r._onRedo=function(){this.history&&(this.history.redo(),this.options.change&&this.options.change())},r._onEvent=function(e){var t=e.target;"keydown"==e.type&&this._onKeyDown(e),"focus"==e.type&&(d=t);var i=n.getNodeFromTarget(t);i&&i.onEvent(e)},r._onKeyDown=function(e){var t=e.which||e.keyCode,i=e.ctrlKey,n=e.shiftKey,o=!1;if(9==t&&setTimeout(function(){s.selectContentEditable(d)},0),this.searchBox)if(i&&70==t)this.searchBox.dom.search.focus(),this.searchBox.dom.search.select(),o=!0;else if(114==t||i&&71==t){var r=!0;n?this.searchBox.previous(r):this.searchBox.next(r),o=!0}this.history&&(i&&!n&&90==t?(this._onUndo(),o=!0):i&&n&&90==t&&(this._onRedo(),o=!0)),o&&(e.preventDefault(),e.stopPropagation())},r._createTable=function(){var e=document.createElement("div");e.className="outer",this.contentOuter=e,this.content=document.createElement("div"),this.content.className="tree",e.appendChild(this.content),this.table=document.createElement("table"),this.table.className="tree",this.content.appendChild(this.table);var t;this.colgroupContent=document.createElement("colgroup"),"tree"===this.options.mode&&(t=document.createElement("col"),t.width="24px",this.colgroupContent.appendChild(t)),t=document.createElement("col"),t.width="24px",this.colgroupContent.appendChild(t),t=document.createElement("col"),this.colgroupContent.appendChild(t),this.table.appendChild(this.colgroupContent),this.tbody=document.createElement("tbody"),this.table.appendChild(this.tbody),this.frame.appendChild(e)},[{mode:"tree",mixin:r,data:"json"},{mode:"view",mixin:r,data:"json"},{mode:"form",mixin:r,data:"json"}]}.apply(null,n),!(void 0!==o&&(e.exports=o))},function(e,t,i){var n,o;n=[i(8),i(3)],o=function(e,t){var i={};return i.create=function(i,n){n=n||{},this.options=n,this.indentation=n.indentation?Number(n.indentation):2,this.mode="code"==n.mode?"code":"text","code"==this.mode&&"undefined"==typeof ace&&(this.mode="text",t.log("WARNING: Cannot load code editor, Ace library not loaded. Falling back to plain text editor"));var o=this;this.container=i,this.dom={},this.editor=void 0,this.textarea=void 0,this.width=i.clientWidth,this.height=i.clientHeight,this.frame=document.createElement("div"),this.frame.className="jsoneditor",this.frame.onclick=function(e){e.preventDefault()},this.menu=document.createElement("div"),this.menu.className="menu",this.frame.appendChild(this.menu);var s=document.createElement("button");s.className="format",s.title="Format JSON data, with proper indentation and line feeds",this.menu.appendChild(s),s.onclick=function(){try{o.format()}catch(e){o._onError(e)}};var r=document.createElement("button");if(r.className="compact",r.title="Compact JSON data, remove all whitespaces",this.menu.appendChild(r),r.onclick=function(){try{o.compact()}catch(e){o._onError(e)}},this.options&&this.options.modes&&this.options.modes.length){var a=e.create(this,this.options.modes,this.options.mode);this.menu.appendChild(a),this.dom.modeBox=a}if(this.content=document.createElement("div"),this.content.className="outer",this.frame.appendChild(this.content),this.container.appendChild(this.frame),"code"==this.mode){this.editorDom=document.createElement("div"),this.editorDom.style.height="100%",this.editorDom.style.width="100%",this.content.appendChild(this.editorDom);var d=ace.edit(this.editorDom);d.setTheme("ace/theme/jsoneditor"),d.setShowPrintMargin(!1),d.setFontSize(13),d.getSession().setMode("ace/mode/json"),d.getSession().setTabSize(2),d.getSession().setUseSoftTabs(!0),d.getSession().setUseWrapMode(!0),this.editor=d;var l=document.createElement("a");l.appendChild(document.createTextNode("powered by ace")),l.href="http://ace.ajax.org",l.target="_blank",l.className="poweredBy",l.onclick=function(){window.open(l.href,l.target)},this.menu.appendChild(l),n.change&&d.on("change",function(){n.change()})}else{var h=document.createElement("textarea");h.className="text",h.spellcheck=!1,this.content.appendChild(h),this.textarea=h,n.change&&(null===this.textarea.oninput?this.textarea.oninput=function(){n.change()}:this.textarea.onchange=function(){n.change()})}},i._delete=function(){this.frame&&this.container&&this.frame.parentNode==this.container&&this.container.removeChild(this.frame)},i._onError=function(e){if("function"==typeof this.onError&&(t.log("WARNING: JSONEditor.onError is deprecated. Use options.error instead."),this.onError(e)),!this.options||"function"!=typeof this.options.error)throw e;this.options.error(e)},i.compact=function(){var e=t.parse(this.getText());this.setText(JSON.stringify(e))},i.format=function(){var e=t.parse(this.getText());this.setText(JSON.stringify(e,null,this.indentation))},i.focus=function(){this.textarea&&this.textarea.focus(),this.editor&&this.editor.focus()},i.resize=function(){if(this.editor){var e=!1;this.editor.resize(e)}},i.set=function(e){this.setText(JSON.stringify(e,null,this.indentation))},i.get=function(){return t.parse(this.getText())},i.getText=function(){return this.textarea?this.textarea.value:this.editor?this.editor.getValue():""},i.setText=function(e){this.textarea&&(this.textarea.value=e),this.editor&&this.editor.setValue(e,-1)},[{mode:"text",mixin:i,data:"text",load:i.format},{mode:"code",mixin:i,data:"text",load:i.format}]}.apply(null,n),!(void 0!==o&&(e.exports=o))},function(e,t,i){var n;n=function(){var e={};e.parse=function(t){try{return JSON.parse(t)}catch(i){try{return e.parseJS(t)}catch(n){throw e.validate(t),i}}},e.parseJS=function(e){for(var t=[],i=!1,n=0;nn;n++){var s=i[n];s.style&&s.removeAttribute("style");var r=s.attributes;if(r)for(var a=r.length-1;a>=0;a--){var d=r[a];1==d.specified&&s.removeAttribute(d.name)}e.stripFormatting(s)}},e.setEndOfContentEditable=function(e){var t,i;document.createRange&&(t=document.createRange(),t.selectNodeContents(e),t.collapse(!1),i=window.getSelection(),i.removeAllRanges(),i.addRange(t))},e.selectContentEditable=function(e){if(e&&"DIV"==e.nodeName){var t,i;window.getSelection&&document.createRange&&(i=document.createRange(),i.selectNodeContents(e),t=window.getSelection(),t.removeAllRanges(),t.addRange(i))}},e.getSelection=function(){if(window.getSelection){var e=window.getSelection();if(e.getRangeAt&&e.rangeCount)return e.getRangeAt(0)}return null},e.setSelection=function(e){if(e&&window.getSelection){var t=window.getSelection();t.removeAllRanges(),t.addRange(e)}},e.getSelectionOffset=function(){var t=e.getSelection();return t&&"startOffset"in t&&"endOffset"in t&&t.startContainer&&t.startContainer==t.endContainer?{startOffset:t.startOffset,endOffset:t.endOffset,container:t.startContainer.parentNode}:null},e.setSelectionOffset=function(t){if(document.createRange&&window.getSelection){var i=window.getSelection();if(i){var n=document.createRange();n.setStart(t.container.firstChild,t.startOffset),n.setEnd(t.container.firstChild,t.endOffset),e.setSelection(n)}}},e.getInnerText=function(t,i){var n=void 0==i;if(n&&(i={text:"",flush:function(){var e=this.text;return this.text="",e},set:function(e){this.text=e}}),t.nodeValue)return i.flush()+t.nodeValue;if(t.hasChildNodes()){for(var o=t.childNodes,s="",r=0,a=o.length;a>r;r++){var d=o[r];if("DIV"==d.nodeName||"P"==d.nodeName){var l=o[r-1],h=l?l.nodeName:void 0;h&&"DIV"!=h&&"P"!=h&&"BR"!=h&&(s+="\n",i.flush()),s+=e.getInnerText(d,i),i.set("\n")}else"BR"==d.nodeName?(s+=i.flush(),i.set("\n")):s+=e.getInnerText(d,i)}return s}return"P"==t.nodeName&&-1!=e.getInternetExplorerVersion()?i.flush():""},e.getInternetExplorerVersion=function(){if(-1==i){var e=-1;if("Microsoft Internet Explorer"==navigator.appName){var t=navigator.userAgent,n=new RegExp("MSIE ([0-9]{1,}[.0-9]{0,})");null!=n.exec(t)&&(e=parseFloat(RegExp.$1))}i=e}return i},e.isFirefox=function(){return-1!=navigator.userAgent.indexOf("Firefox")};var i=-1;return e.addEventListener=function(t,i,n,o){if(t.addEventListener)return void 0===o&&(o=!1),"mousewheel"===i&&e.isFirefox()&&(i="DOMMouseScroll"),t.addEventListener(i,n,o),n;if(t.attachEvent){var s=function(){return n.call(t,window.event)};return t.attachEvent("on"+i,s),s}},e.removeEventListener=function(t,i,n,o){t.removeEventListener?(void 0===o&&(o=!1),"mousewheel"===i&&e.isFirefox()&&(i="DOMMouseScroll"),t.removeEventListener(i,n,o)):t.detachEvent&&t.detachEvent("on"+i,n)},e}.call(t,i,t,e),!(void 0!==n&&(e.exports=n))},function(e,t,i){var n;n=function(){function e(){this.locked=!1}return e.prototype.highlight=function(e){this.locked||(this.node!=e&&(this.node&&this.node.setHighlight(!1),this.node=e,this.node.setHighlight(!0)),this._cancelUnhighlight())},e.prototype.unhighlight=function(){if(!this.locked){var e=this;this.node&&(this._cancelUnhighlight(),this.unhighlightTimer=setTimeout(function(){e.node.setHighlight(!1),e.node=void 0,e.unhighlightTimer=void 0},0))}},e.prototype._cancelUnhighlight=function(){this.unhighlightTimer&&(clearTimeout(this.unhighlightTimer),this.unhighlightTimer=void 0)},e.prototype.lock=function(){this.locked=!0},e.prototype.unlock=function(){this.locked=!1},e}.call(t,i,t,e),!(void 0!==n&&(e.exports=n))},function(e,t,i){var n,o;n=[i(3)],o=function(e){function t(e){this.editor=e,this.clear(),this.actions={editField:{undo:function(e){e.node.updateField(e.oldValue)},redo:function(e){e.node.updateField(e.newValue)}},editValue:{undo:function(e){e.node.updateValue(e.oldValue)},redo:function(e){e.node.updateValue(e.newValue)}},appendNode:{undo:function(e){e.parent.removeChild(e.node)},redo:function(e){e.parent.appendChild(e.node)}},insertBeforeNode:{undo:function(e){e.parent.removeChild(e.node)},redo:function(e){e.parent.insertBefore(e.node,e.beforeNode)}},insertAfterNode:{undo:function(e){e.parent.removeChild(e.node)},redo:function(e){e.parent.insertAfter(e.node,e.afterNode)}},removeNode:{undo:function(e){var t=e.parent,i=t.childs[e.index]||t.append;t.insertBefore(e.node,i)},redo:function(e){e.parent.removeChild(e.node)}},duplicateNode:{undo:function(e){e.parent.removeChild(e.clone)},redo:function(e){e.parent.insertAfter(e.clone,e.node)}},changeType:{undo:function(e){e.node.changeType(e.oldType)},redo:function(e){e.node.changeType(e.newType)}},moveNode:{undo:function(e){e.startParent.moveTo(e.node,e.startIndex)},redo:function(e){e.endParent.moveTo(e.node,e.endIndex)}},sort:{undo:function(e){var t=e.node;t.hideChilds(),t.sort=e.oldSort,t.childs=e.oldChilds,t.showChilds()},redo:function(e){var t=e.node;t.hideChilds(),t.sort=e.newSort,t.childs=e.newChilds,t.showChilds()}}}}return t.prototype.onChange=function(){},t.prototype.add=function(e,t){this.index++,this.history[this.index]={action:e,params:t,timestamp:new Date},this.index=0},t.prototype.canRedo=function(){return this.indexthis.results.length-1&&(t=0),this._setActiveResult(t,e)}},e.prototype.previous=function(e){if(void 0!=this.results){var t=this.results.length-1,i=void 0!=this.resultIndex?this.resultIndex-1:t;0>i&&(i=t),this._setActiveResult(i,e)}},e.prototype._setActiveResult=function(e,t){if(this.activeResult){var i=this.activeResult.node,n=this.activeResult.elem;"field"==n?delete i.searchFieldActive:delete i.searchValueActive,i.updateDom()}if(!this.results||!this.results[e])return this.resultIndex=void 0,void(this.activeResult=void 0);this.resultIndex=e;var o=this.results[this.resultIndex].node,s=this.results[this.resultIndex].elem;"field"==s?o.searchFieldActive=!0:o.searchValueActive=!0,this.activeResult=this.results[this.resultIndex],o.updateDom(),o.scrollTo(function(){t&&o.focus(s)})},e.prototype._clearDelay=function(){void 0!=this.timeout&&(clearTimeout(this.timeout),delete this.timeout)},e.prototype._onDelayedSearch=function(){this._clearDelay();var e=this;this.timeout=setTimeout(function(t){e._onSearch(t)},this.delay)},e.prototype._onSearch=function(e,t){this._clearDelay();var i=this.dom.search.value,n=i.length>0?i:void 0;if(n!=this.lastText||t)if(this.lastText=n,this.results=this.editor.search(n),this._setActiveResult(void 0),void 0!=n){var o=this.results.length;switch(o){case 0:this.dom.results.innerHTML="no results";break;case 1:this.dom.results.innerHTML="1 result";break;default:this.dom.results.innerHTML=o+" results"}}else this.dom.results.innerHTML=""},e.prototype._onKeyDown=function(e){var t=e.which;27==t?(this.dom.search.value="",this._onSearch(e),e.preventDefault(),e.stopPropagation()):13==t&&(e.ctrlKey?this._onSearch(e,!0):e.shiftKey?this.previous():this.next(),e.preventDefault(),e.stopPropagation())},e.prototype._onKeyUp=function(e){var t=e.keyCode;27!=t&&13!=t&&this._onDelayedSearch(e)},e}.call(t,i,t,e),!(void 0!==n&&(e.exports=n))},function(e,t,i){var n,o;n=[i(9),i(10),i(3)],o=function(e,t,i){function n(e,t){this.editor=e,this.dom={},this.expanded=!1,t&&t instanceof Object?(this.setField(t.field,t.fieldEditable),this.setValue(t.value,t.type)):(this.setField(""),this.setValue(null))}n.prototype._updateEditability=function(){if(this.editable={field:!0,value:!0},this.editor&&(this.editable.field="tree"===this.editor.options.mode,this.editable.value="view"!==this.editor.options.mode,"tree"===this.editor.options.mode&&"function"==typeof this.editor.options.editable)){var e=this.editor.options.editable({field:this.field,value:this.value,path:this.path()});"boolean"==typeof e?(this.editable.field=e,this.editable.value=e):("boolean"==typeof e.field&&(this.editable.field=e.field),"boolean"==typeof e.value&&(this.editable.value=e.value))}},n.prototype.path=function(){for(var e=this,t=[];e;){var i=e.field||e.index;void 0!==i&&t.unshift(i),e=e.parent}return t},n.prototype.setParent=function(e){this.parent=e},n.prototype.setField=function(e,t){this.field=e,this.fieldEditable=1==t},n.prototype.getField=function(){return void 0===this.field&&this._getDomField(),this.field},n.prototype.setValue=function(e,t){var i,o,s=this.childs;if(s)for(;s.length;)this.removeChild(s[0]);if(this.type=this._getType(e),t&&t!=this.type){if("string"!=t||"auto"!=this.type)throw new Error('Type mismatch: cannot cast value of type "'+this.type+' to the specified type "'+t+'"');this.type=t}if("array"==this.type){this.childs=[];for(var r=0,a=e.length;a>r;r++)i=e[r],void 0===i||i instanceof Function||(o=new n(this.editor,{value:i}),this.appendChild(o));this.value=""}else if("object"==this.type){this.childs=[];for(var d in e)e.hasOwnProperty(d)&&(i=e[d],void 0===i||i instanceof Function||(o=new n(this.editor,{field:d,value:i}),this.appendChild(o)));this.value=""}else this.childs=void 0,this.value=e},n.prototype.getValue=function(){if("array"==this.type){var e=[];return this.childs.forEach(function(t){e.push(t.getValue())}),e}if("object"==this.type){var t={};return this.childs.forEach(function(e){t[e.getField()]=e.getValue()}),t}return void 0===this.value&&this._getDomValue(),this.value},n.prototype.getLevel=function(){return this.parent?this.parent.getLevel()+1:0},n.prototype.clone=function(){var e=new n(this.editor);if(e.type=this.type,e.field=this.field,e.fieldInnerText=this.fieldInnerText,e.fieldEditable=this.fieldEditable,e.value=this.value,e.valueInnerText=this.valueInnerText,e.expanded=this.expanded,this.childs){var t=[];this.childs.forEach(function(i){var n=i.clone();n.setParent(e),t.push(n)}),e.childs=t}else e.childs=void 0;return e},n.prototype.expand=function(e){this.childs&&(this.expanded=!0,this.dom.expand&&(this.dom.expand.className="expanded"),this.showChilds(),0!=e&&this.childs.forEach(function(t){t.expand(e)}))},n.prototype.collapse=function(e){this.childs&&(this.hideChilds(),0!=e&&this.childs.forEach(function(t){t.collapse(e)}),this.dom.expand&&(this.dom.expand.className="collapsed"),this.expanded=!1)},n.prototype.showChilds=function(){var e=this.childs;if(e&&this.expanded){var t=this.dom.tr,i=t?t.parentNode:void 0;if(i){var n=this.getAppend(),o=t.nextSibling;o?i.insertBefore(n,o):i.appendChild(n),this.childs.forEach(function(e){i.insertBefore(e.getDom(),n),e.showChilds()})}}},n.prototype.hide=function(){var e=this.dom.tr,t=e?e.parentNode:void 0;t&&t.removeChild(e),this.hideChilds()},n.prototype.hideChilds=function(){var e=this.childs;if(e&&this.expanded){var t=this.getAppend();t.parentNode&&t.parentNode.removeChild(t),this.childs.forEach(function(e){e.hide()})}},n.prototype.appendChild=function(e){if(this._hasChilds()){if(e.setParent(this),e.fieldEditable="object"==this.type,"array"==this.type&&(e.index=this.childs.length),this.childs.push(e),this.expanded){var t=e.getDom(),i=this.getAppend(),n=i?i.parentNode:void 0;i&&n&&n.insertBefore(t,i),e.showChilds()}this.updateDom({updateIndexes:!0}),e.updateDom({recurse:!0})}},n.prototype.moveBefore=function(e,t){if(this._hasChilds()){var i=this.dom.tr?this.dom.tr.parentNode:void 0;if(i){var n=document.createElement("tr");n.style.height=i.clientHeight+"px",i.appendChild(n)}e.parent&&e.parent.removeChild(e),t instanceof o?this.appendChild(e):this.insertBefore(e,t),i&&i.removeChild(n)}},n.prototype.moveTo=function(e,t){if(e.parent==this){var i=this.childs.indexOf(e);t>i&&t++}var n=this.childs[t]||this.append;this.moveBefore(e,n)},n.prototype.insertBefore=function(e,t){if(this._hasChilds()){if(t==this.append)e.setParent(this),e.fieldEditable="object"==this.type,this.childs.push(e);else{var i=this.childs.indexOf(t);if(-1==i)throw new Error("Node not found");e.setParent(this),e.fieldEditable="object"==this.type,this.childs.splice(i,0,e)}if(this.expanded){var n=e.getDom(),o=t.getDom(),s=o?o.parentNode:void 0;o&&s&&s.insertBefore(n,o),e.showChilds()}this.updateDom({updateIndexes:!0}),e.updateDom({recurse:!0})}},n.prototype.insertAfter=function(e,t){if(this._hasChilds()){var i=this.childs.indexOf(t),n=this.childs[i+1];n?this.insertBefore(e,n):this.appendChild(e)}},n.prototype.search=function(e){var t,i=[],n=e?e.toLowerCase():void 0;if(delete this.searchField,delete this.searchValue,void 0!=this.field){var o=String(this.field).toLowerCase();t=o.indexOf(n),-1!=t&&(this.searchField=!0,i.push({node:this,elem:"field"})),this._updateDomField()}if(this._hasChilds()){if(this.childs){var s=[];this.childs.forEach(function(t){s=s.concat(t.search(e))}),i=i.concat(s)}if(void 0!=n){var r=!1;0==s.length?this.collapse(r):this.expand(r)}}else{if(void 0!=this.value){var a=String(this.value).toLowerCase();t=a.indexOf(n),-1!=t&&(this.searchValue=!0,i.push({node:this,elem:"value"}))}this._updateDomValue()}return i},n.prototype.scrollTo=function(e){if(!this.dom.tr||!this.dom.tr.parentNode)for(var t=this.parent,i=!1;t;)t.expand(i),t=t.parent;this.dom.tr&&this.dom.tr.parentNode&&this.editor.scrollTo(this.dom.tr.offsetTop,e)},n.focusElement=void 0,n.prototype.focus=function(e){if(n.focusElement=e,this.dom.tr&&this.dom.tr.parentNode){var t=this.dom;switch(e){case"drag":t.drag?t.drag.focus():t.menu.focus();break;case"menu":t.menu.focus();break;case"expand":this._hasChilds()?t.expand.focus():t.field&&this.fieldEditable?(t.field.focus(),i.selectContentEditable(t.field)):t.value&&!this._hasChilds()?(t.value.focus(),i.selectContentEditable(t.value)):t.menu.focus();break;case"field":t.field&&this.fieldEditable?(t.field.focus(),i.selectContentEditable(t.field)):t.value&&!this._hasChilds()?(t.value.focus(),i.selectContentEditable(t.value)):this._hasChilds()?t.expand.focus():t.menu.focus();break;case"value":default:t.value&&!this._hasChilds()?(t.value.focus(),i.selectContentEditable(t.value)):t.field&&this.fieldEditable?(t.field.focus(),i.selectContentEditable(t.field)):this._hasChilds()?t.expand.focus():t.menu.focus()}}},n.select=function(e){setTimeout(function(){i.selectContentEditable(e)},0)},n.prototype.blur=function(){this._getDomValue(!1),this._getDomField(!1)},n.prototype._duplicate=function(e){var t=e.clone();return this.insertAfter(t,e),t +},n.prototype.containsNode=function(e){if(this==e)return!0;var t=this.childs;if(t)for(var i=0,n=t.length;n>i;i++)if(t[i].containsNode(e))return!0;return!1},n.prototype._move=function(e,t){if(e!=t){if(e.containsNode(this))throw new Error("Cannot move a field into a child of itself");e.parent&&e.parent.removeChild(e);var i=e.clone();e.clearDom(),t?this.insertBefore(i,t):this.appendChild(i)}},n.prototype.removeChild=function(e){if(this.childs){var t=this.childs.indexOf(e);if(-1!=t){e.hide(),delete e.searchField,delete e.searchValue;var i=this.childs.splice(t,1)[0];return this.updateDom({updateIndexes:!0}),i}}return void 0},n.prototype._remove=function(e){this.removeChild(e)},n.prototype.changeType=function(e){var t=this.type;if(t!=e){if("string"!=e&&"auto"!=e||"string"!=t&&"auto"!=t){var i,n=this.dom.tr?this.dom.tr.parentNode:void 0;i=this.expanded?this.getAppend():this.getDom();var o=i&&i.parentNode?i.nextSibling:void 0;this.hide(),this.clearDom(),this.type=e,"object"==e?(this.childs||(this.childs=[]),this.childs.forEach(function(e){e.clearDom(),delete e.index,e.fieldEditable=!0,void 0==e.field&&(e.field="")}),("string"==t||"auto"==t)&&(this.expanded=!0)):"array"==e?(this.childs||(this.childs=[]),this.childs.forEach(function(e,t){e.clearDom(),e.fieldEditable=!1,e.index=t}),("string"==t||"auto"==t)&&(this.expanded=!0)):this.expanded=!1,n&&(o?n.insertBefore(this.getDom(),o):n.appendChild(this.getDom())),this.showChilds()}else this.type=e;("auto"==e||"string"==e)&&(this.value="string"==e?String(this.value):this._stringCast(String(this.value)),this.focus()),this.updateDom({updateIndexes:!0})}},n.prototype._getDomValue=function(e){if(this.dom.value&&"array"!=this.type&&"object"!=this.type&&(this.valueInnerText=i.getInnerText(this.dom.value)),void 0!=this.valueInnerText)try{var t;if("string"==this.type)t=this._unescapeHTML(this.valueInnerText);else{var n=this._unescapeHTML(this.valueInnerText);t=this._stringCast(n)}if(t!==this.value){var o=this.value;this.value=t,this.editor._onAction("editValue",{node:this,oldValue:o,newValue:t,oldSelection:this.editor.selection,newSelection:this.editor.getSelection()})}}catch(s){if(this.value=void 0,1!=e)throw s}},n.prototype._updateDomValue=function(){var e=this.dom.value;if(e){var t=this.value,n="auto"==this.type?i.type(t):this.type,o="string"==n&&i.isUrl(t),s="";s=o&&!this.editable.value?"":"string"==n?"green":"number"==n?"red":"boolean"==n?"darkorange":this._hasChilds()?"":null===t?"#004ED0":"black",e.style.color=s;var r=""==String(this.value)&&"array"!=this.type&&"object"!=this.type;if(r?i.addClassName(e,"empty"):i.removeClassName(e,"empty"),o?i.addClassName(e,"url"):i.removeClassName(e,"url"),"array"==n||"object"==n){var a=this.childs?this.childs.length:0;e.title=this.type+" containing "+a+" items"}else"string"==n&&i.isUrl(t)?this.editable.value&&(e.title="Ctrl+Click or Ctrl+Enter to open url in new window"):e.title="";this.searchValueActive?i.addClassName(e,"highlight-active"):i.removeClassName(e,"highlight-active"),this.searchValue?i.addClassName(e,"highlight"):i.removeClassName(e,"highlight"),i.stripFormatting(e)}},n.prototype._updateDomField=function(){var e=this.dom.field;if(e){var t=""==String(this.field)&&"array"!=this.parent.type;t?i.addClassName(e,"empty"):i.removeClassName(e,"empty"),this.searchFieldActive?i.addClassName(e,"highlight-active"):i.removeClassName(e,"highlight-active"),this.searchField?i.addClassName(e,"highlight"):i.removeClassName(e,"highlight"),i.stripFormatting(e)}},n.prototype._getDomField=function(e){if(this.dom.field&&this.fieldEditable&&(this.fieldInnerText=i.getInnerText(this.dom.field)),void 0!=this.fieldInnerText)try{var t=this._unescapeHTML(this.fieldInnerText);if(t!==this.field){var n=this.field;this.field=t,this.editor._onAction("editField",{node:this,oldValue:n,newValue:t,oldSelection:this.editor.selection,newSelection:this.editor.getSelection()})}}catch(o){if(this.field=void 0,1!=e)throw o}},n.prototype.clearDom=function(){this.dom={}},n.prototype.getDom=function(){var e=this.dom;if(e.tr)return e.tr;if(this._updateEditability(),e.tr=document.createElement("tr"),e.tr.node=this,"tree"===this.editor.options.mode){var t=document.createElement("td");if(this.editable.field&&this.parent){var i=document.createElement("button");e.drag=i,i.className="dragarea",i.title="Drag to move this field (Alt+Shift+Arrows)",t.appendChild(i)}e.tr.appendChild(t);var n=document.createElement("td"),o=document.createElement("button");e.menu=o,o.className="contextmenu",o.title="Click to open the actions menu (Ctrl+M)",n.appendChild(e.menu),e.tr.appendChild(n)}var s=document.createElement("td");return e.tr.appendChild(s),e.tree=this._createDomTree(),s.appendChild(e.tree),this.updateDom({updateIndexes:!0}),e.tr},n.prototype._onDragStart=function(e){var t=this;this.mousemove||(this.mousemove=i.addEventListener(document,"mousemove",function(e){t._onDrag(e)})),this.mouseup||(this.mouseup=i.addEventListener(document,"mouseup",function(e){t._onDragEnd(e)})),this.editor.highlighter.lock(),this.drag={oldCursor:document.body.style.cursor,startParent:this.parent,startIndex:this.parent.childs.indexOf(this),mouseX:e.pageX,level:this.getLevel()},document.body.style.cursor="move",e.preventDefault()},n.prototype._onDrag=function(e){var t,s,r,a,d,l,h,c,u,p,f,m,v,g,y=e.pageY,x=e.pageX,b=!1;if(t=this.dom.tr,u=i.getAbsoluteTop(t),m=t.offsetHeight,u>y){s=t;do s=s.previousSibling,h=n.getNodeFromTarget(s),p=s?i.getAbsoluteTop(s):0;while(s&&p>y);h&&!h.parent&&(h=void 0),h||(l=t.parentNode.firstChild,s=l?l.nextSibling:void 0,h=n.getNodeFromTarget(s),h==this&&(h=void 0)),h&&(s=h.dom.tr,p=s?i.getAbsoluteTop(s):0,y>p+m&&(h=void 0)),h&&(h.parent.moveBefore(this,h),b=!0)}else if(d=this.expanded&&this.append?this.append.getDom():this.dom.tr,a=d?d.nextSibling:void 0){f=i.getAbsoluteTop(a),r=a;do c=n.getNodeFromTarget(r),r&&(v=r.nextSibling?i.getAbsoluteTop(r.nextSibling):0,g=r?v-f:0,1==c.parent.childs.length&&c.parent.childs[0]==this&&(u+=23)),r=r.nextSibling;while(r&&y>u+g);if(c&&c.parent){var C=x-this.drag.mouseX,E=Math.round(C/24/2),N=this.drag.level+E,_=c.getLevel();for(s=c.dom.tr.previousSibling;N>_&&s;){if(h=n.getNodeFromTarget(s),h==this||h._isChildOf(this));else{if(!(h instanceof o))break;var w=h.parent.childs;if(!(w.length>1||1==w.length&&w[0]!=this))break;c=n.getNodeFromTarget(s),_=c.getLevel()}s=s.previousSibling}d.nextSibling!=c.dom.tr&&(c.parent.moveBefore(this,c),b=!0)}}b&&(this.drag.mouseX=x,this.drag.level=this.getLevel()),this.editor.startAutoScroll(y),e.preventDefault()},n.prototype._onDragEnd=function(e){var t={node:this,startParent:this.drag.startParent,startIndex:this.drag.startIndex,endParent:this.parent,endIndex:this.parent.childs.indexOf(this)};(t.startParent!=t.endParent||t.startIndex!=t.endIndex)&&this.editor._onAction("moveNode",t),document.body.style.cursor=this.drag.oldCursor,this.editor.highlighter.unlock(),delete this.drag,this.mousemove&&(i.removeEventListener(document,"mousemove",this.mousemove),delete this.mousemove),this.mouseup&&(i.removeEventListener(document,"mouseup",this.mouseup),delete this.mouseup),this.editor.stopAutoScroll(),e.preventDefault()},n.prototype._isChildOf=function(e){for(var t=this.parent;t;){if(t==e)return!0;t=t.parent}return!1},n.prototype._createDomField=function(){return document.createElement("div")},n.prototype.setHighlight=function(e){this.dom.tr&&(this.dom.tr.className=e?"highlight":"",this.append&&this.append.setHighlight(e),this.childs&&this.childs.forEach(function(t){t.setHighlight(e)}))},n.prototype.updateValue=function(e){this.value=e,this.updateDom()},n.prototype.updateField=function(e){this.field=e,this.updateDom()},n.prototype.updateDom=function(e){var t=this.dom.tree;t&&(t.style.marginLeft=24*this.getLevel()+"px");var i=this.dom.field;if(i){this.fieldEditable?(i.contentEditable=this.editable.field,i.spellcheck=!1,i.className="field"):i.className="readonly";var n;n=void 0!=this.index?this.index:void 0!=this.field?this.field:this._hasChilds()?this.type:"",i.innerHTML=this._escapeHTML(n)}var o=this.dom.value;if(o){var s=this.childs?this.childs.length:0;o.innerHTML="array"==this.type?"["+s+"]":"object"==this.type?"{"+s+"}":this._escapeHTML(this.value)}this._updateDomField(),this._updateDomValue(),e&&1==e.updateIndexes&&this._updateDomIndexes(),e&&1==e.recurse&&this.childs&&this.childs.forEach(function(t){t.updateDom(e)}),this.append&&this.append.updateDom()},n.prototype._updateDomIndexes=function(){var e=this.dom.value,t=this.childs;e&&t&&("array"==this.type?t.forEach(function(e,t){e.index=t;var i=e.dom.field;i&&(i.innerHTML=t)}):"object"==this.type&&t.forEach(function(e){void 0!=e.index&&(delete e.index,void 0==e.field&&(e.field=""))}))},n.prototype._createDomValue=function(){var e;return"array"==this.type?(e=document.createElement("div"),e.className="readonly",e.innerHTML="[...]"):"object"==this.type?(e=document.createElement("div"),e.className="readonly",e.innerHTML="{...}"):!this.editable.value&&i.isUrl(this.value)?(e=document.createElement("a"),e.className="value",e.href=this.value,e.target="_blank",e.innerHTML=this._escapeHTML(this.value)):(e=document.createElement("div"),e.contentEditable=this.editable.value,e.spellcheck=!1,e.className="value",e.innerHTML=this._escapeHTML(this.value)),e},n.prototype._createDomExpandButton=function(){var e=document.createElement("button");return this._hasChilds()?(e.className=this.expanded?"expanded":"collapsed",e.title="Click to expand/collapse this field (Ctrl+E). \nCtrl+Click to expand/collapse including all childs."):(e.className="invisible",e.title=""),e},n.prototype._createDomTree=function(){var e=this.dom,t=document.createElement("table"),i=document.createElement("tbody");t.style.borderCollapse="collapse",t.className="values",t.appendChild(i);var n=document.createElement("tr");i.appendChild(n);var o=document.createElement("td");o.className="tree",n.appendChild(o),e.expand=this._createDomExpandButton(),o.appendChild(e.expand),e.tdExpand=o;var s=document.createElement("td");s.className="tree",n.appendChild(s),e.field=this._createDomField(),s.appendChild(e.field),e.tdField=s;var r=document.createElement("td");r.className="tree",n.appendChild(r),"object"!=this.type&&"array"!=this.type&&(r.appendChild(document.createTextNode(":")),r.className="separator"),e.tdSeparator=r;var a=document.createElement("td");return a.className="tree",n.appendChild(a),e.value=this._createDomValue(),a.appendChild(e.value),e.tdValue=a,t},n.prototype.onEvent=function(e){var t,n=e.type,o=e.target||e.srcElement,s=this.dom,r=this,a=this._hasChilds();if((o==s.drag||o==s.menu)&&("mouseover"==n?this.editor.highlighter.highlight(this):"mouseout"==n&&this.editor.highlighter.unhighlight()),"mousedown"==n&&o==s.drag&&this._onDragStart(e),"click"==n&&o==s.menu){var d=r.editor.highlighter;d.highlight(r),d.lock(),i.addClassName(s.menu,"selected"),this.showContextMenu(s.menu,function(){i.removeClassName(s.menu,"selected"),d.unlock(),d.unhighlight()})}if("click"==n&&o==s.expand&&a){var l=e.ctrlKey;this._onExpand(l)}var h=s.value;if(o==h)switch(n){case"focus":t=this;break;case"blur":case"change":this._getDomValue(!0),this._updateDomValue(),this.value&&(h.innerHTML=this._escapeHTML(this.value));break;case"input":this._getDomValue(!0),this._updateDomValue();break;case"keydown":case"mousedown":this.editor.selection=this.editor.getSelection();break;case"click":(e.ctrlKey||!this.editable.value)&&i.isUrl(this.value)&&window.open(this.value,"_blank");break;case"keyup":this._getDomValue(!0),this._updateDomValue();break;case"cut":case"paste":setTimeout(function(){r._getDomValue(!0),r._updateDomValue()},1)}var c=s.field;if(o==c)switch(n){case"focus":t=this;break;case"blur":case"change":this._getDomField(!0),this._updateDomField(),this.field&&(c.innerHTML=this._escapeHTML(this.field));break;case"input":this._getDomField(!0),this._updateDomField();break;case"keydown":case"mousedown":this.editor.selection=this.editor.getSelection();break;case"keyup":this._getDomField(!0),this._updateDomField();break;case"cut":case"paste":setTimeout(function(){r._getDomField(!0),r._updateDomField()},1)}var u=s.tree;if(o==u.parentNode)switch(n){case"click":var p=void 0!=e.offsetX?e.offsetX<24*(this.getLevel()+1):e.pageXn[i]?t:e[i]/g,">").replace(/ /g,"  ").replace(/^ /," ").replace(/ $/," "),i=JSON.stringify(t);return i.substring(1,i.length-1)},n.prototype._unescapeHTML=function(e){var t='"'+this._escapeJSON(e)+'"',n=i.parse(t);return n.replace(/</g,"<").replace(/>/g,">").replace(/ |\u00A0/g," ")},n.prototype._escapeJSON=function(e){for(var t="",i=0,n=e.length;n>i;){var o=e.charAt(i);"\n"==o?t+="\\n":"\\"==o?(t+=o,i++,o=e.charAt(i),-1=='"\\/bfnrtu'.indexOf(o)&&(t+="\\"),t+=o):t+='"'==o?'\\"':o,i++}return t};var o=t(n);return n}.apply(null,n),!(void 0!==o&&(e.exports=o))},function(e,t,i){var n,o;n=[i(9)],o=function(e){function t(t,i,n){function o(e){t.setMode(e);var i=t.dom&&t.dom.modeBox;i&&i.focus()}for(var s={code:{text:"Code",title:"Switch to code highlighter",click:function(){o("code")}},form:{text:"Form",title:"Switch to form editor",click:function(){o("form")}},text:{text:"Text",title:"Switch to plain text editor",click:function(){o("text")}},tree:{text:"Tree",title:"Switch to tree editor",click:function(){o("tree")}},view:{text:"View",title:"Switch to tree view",click:function(){o("view")}}},r=[],a=0;a',a.appendChild(c),o.submenuTitle&&(c.title=o.submenuTitle),h=c}else{var u=document.createElement("div");u.className="expand",d.appendChild(u),h=d}h.onclick=function(){n._onExpandItem(r),h.focus()};var p=[];r.subItems=p;var f=document.createElement("ul");r.ul=f,f.className="menu",f.style.height="0",a.appendChild(f),i(f,p,o.submenu)}else d.innerHTML='
'+o.text;t.push(r)}})}this.dom={};var n=this,o=this.dom;this.anchor=void 0,this.items=e,this.eventListeners={},this.selection=void 0,this.visibleSubmenu=void 0,this.onClose=t?t.close:void 0;var s=document.createElement("div");s.className="jsoneditor-contextmenu",o.menu=s;var r=document.createElement("ul");r.className="menu",s.appendChild(r),o.list=r,o.items=[];var a=document.createElement("button");o.focusButton=a;var d=document.createElement("li");d.style.overflow="hidden",d.style.height="0",d.appendChild(a),r.appendChild(d),i(r,this.dom.items,e),this.maxHeight=0,e.forEach(function(t){var i=24*(e.length+(t.submenu?t.submenu.length:0));n.maxHeight=Math.max(n.maxHeight,i)})}return t.prototype._getVisibleButtons=function(){var e=[],t=this;return this.dom.items.forEach(function(i){e.push(i.button),i.buttonExpand&&e.push(i.buttonExpand),i.subItems&&i==t.expandedItem&&i.subItems.forEach(function(t){e.push(t.button),t.buttonExpand&&e.push(t.buttonExpand)})}),e},t.visibleMenu=void 0,t.prototype.show=function(i){this.hide();var n=window.innerHeight,o=window.pageYOffset||document.scrollTop||0,s=n+o,r=i.offsetHeight,a=this.maxHeight,d=e.getAbsoluteLeft(i),l=e.getAbsoluteTop(i);s>l+r+a?(this.dom.menu.style.left=d+"px",this.dom.menu.style.top=l+r+"px",this.dom.menu.style.bottom=""):(this.dom.menu.style.left=d+"px",this.dom.menu.style.top="",this.dom.menu.style.bottom=n-l+"px"),document.body.appendChild(this.dom.menu);var h=this,c=this.dom.list;this.eventListeners.mousedown=e.addEventListener(document,"mousedown",function(e){var t=e.target;t==c||h._isChildOf(t,c)||(h.hide(),e.stopPropagation(),e.preventDefault())}),this.eventListeners.mousewheel=e.addEventListener(document,"mousewheel",function(e){e.stopPropagation(),e.preventDefault()}),this.eventListeners.keydown=e.addEventListener(document,"keydown",function(e){h._onKeyDown(e)}),this.selection=e.getSelection(),this.anchor=i,setTimeout(function(){h.dom.focusButton.focus()},0),t.visibleMenu&&t.visibleMenu.hide(),t.visibleMenu=this},t.prototype.hide=function(){this.dom.menu.parentNode&&(this.dom.menu.parentNode.removeChild(this.dom.menu),this.onClose&&this.onClose());for(var i in this.eventListeners)if(this.eventListeners.hasOwnProperty(i)){var n=this.eventListeners[i];n&&e.removeEventListener(document,i,n),delete this.eventListeners[i]}t.visibleMenu==this&&(t.visibleMenu=void 0)},t.prototype._onExpandItem=function(t){var i=this,n=t==this.expandedItem,o=this.expandedItem;if(o&&(o.ul.style.height="0",o.ul.style.padding="",setTimeout(function(){i.expandedItem!=o&&(o.ul.style.display="",e.removeClassName(o.ul.parentNode,"selected"))},300),this.expandedItem=void 0),!n){var s=t.ul;s.style.display="block";{s.clientHeight}setTimeout(function(){i.expandedItem==t&&(s.style.height=24*s.childNodes.length+"px",s.style.padding="5px 10px")},0),e.addClassName(s.parentNode,"selected"),this.expandedItem=t}},t.prototype._onKeyDown=function(t){var i,n,o,s,r=t.target,a=t.which,d=!1;27==a?(this.selection&&e.setSelection(this.selection),this.anchor&&this.anchor.focus(),this.hide(),d=!0):9==a?t.shiftKey?(i=this._getVisibleButtons(),n=i.indexOf(r),0==n&&(i[i.length-1].focus(),d=!0)):(i=this._getVisibleButtons(),n=i.indexOf(r),n==i.length-1&&(i[0].focus(),d=!0)):37==a?("expand"==r.className&&(i=this._getVisibleButtons(),n=i.indexOf(r),o=i[n-1],o&&o.focus()),d=!0):38==a?(i=this._getVisibleButtons(),n=i.indexOf(r),o=i[n-1],o&&"expand"==o.className&&(o=i[n-2]),o||(o=i[i.length-1]),o&&o.focus(),d=!0):39==a?(i=this._getVisibleButtons(),n=i.indexOf(r),s=i[n+1],s&&"expand"==s.className&&s.focus(),d=!0):40==a&&(i=this._getVisibleButtons(),n=i.indexOf(r),s=i[n+1],s&&"expand"==s.className&&(s=i[n+2]),s||(s=i[0]),s&&(s.focus(),d=!0),d=!0),d&&(t.stopPropagation(),t.preventDefault())},t.prototype._isChildOf=function(e,t){for(var i=e.parentNode;i;){if(i==t)return!0;i=i.parentNode}return!1},t}.apply(null,n),!(void 0!==o&&(e.exports=o))},function(e,t,i){var n,o;n=[i(9),i(3)],o=function(e,t){function i(i){function n(e){this.editor=e,this.dom={}}return n.prototype=new i,n.prototype.getDom=function(){var e=this.dom;if(e.tr)return e.tr;this._updateEditability();var t=document.createElement("tr");if(t.node=this,e.tr=t,this.editable.field){e.tdDrag=document.createElement("td");var i=document.createElement("td");e.tdMenu=i;var n=document.createElement("button");n.className="contextmenu",n.title="Click to open the actions menu (Ctrl+M)",e.menu=n,i.appendChild(e.menu)}var o=document.createElement("td"),s=document.createElement("div");return s.innerHTML="(empty)",s.className="readonly",o.appendChild(s),e.td=o,e.text=s,this.updateDom(),t},n.prototype.updateDom=function(){var e=this.dom,t=e.td;t&&(t.style.paddingLeft=24*this.getLevel()+26+"px");var i=e.text;i&&(i.innerHTML="(empty "+this.parent.type+")");var n=e.tr;this.isVisible()?e.tr.firstChild||(e.tdDrag&&n.appendChild(e.tdDrag),e.tdMenu&&n.appendChild(e.tdMenu),n.appendChild(t)):e.tr.firstChild&&(e.tdDrag&&n.removeChild(e.tdDrag),e.tdMenu&&n.removeChild(e.tdMenu),n.removeChild(t))},n.prototype.isVisible=function(){return 0==this.parent.childs.length},n.prototype.showContextMenu=function(t,n){var o=this,s=i.TYPE_TITLES,r=[{text:"Append",title:"Append a new field with type 'auto' (Ctrl+Shift+Ins)",submenuTitle:"Select the type of the field to be appended",className:"insert",click:function(){o._onAppend("","","auto")},submenu:[{text:"Auto",className:"type-auto",title:s.auto,click:function(){o._onAppend("","","auto")}},{text:"Array",className:"type-array",title:s.array,click:function(){o._onAppend("",[])}},{text:"Object",className:"type-object",title:s.object,click:function(){o._onAppend("",{})}},{text:"String",className:"type-string",title:s.string,click:function(){o._onAppend("","","string")}}]}],a=new e(r,{close:n});a.show(t)},n.prototype.onEvent=function(e){var i=e.type,n=e.target||e.srcElement,o=this.dom,s=o.menu;if(n==s&&("mouseover"==i?this.editor.highlighter.highlight(this.parent):"mouseout"==i&&this.editor.highlighter.unhighlight()),"click"==i&&n==o.menu){var r=this.editor.highlighter;r.highlight(this.parent),r.lock(),t.addClassName(o.menu,"selected"),this.showContextMenu(o.menu,function(){t.removeClassName(o.menu,"selected"),r.unlock(),r.unhighlight()})}"keydown"==i&&this.onKeyDown(e)},n}return i}.apply(null,n),!(void 0!==o&&(e.exports=o))}])}); //# sourceMappingURL=jsoneditor.map //# sourceMappingURL=jsoneditor.map \ No newline at end of file diff --git a/package.json b/package.json index 5dd10fedc..46fd1e0f5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "jsoneditor", - "version": "3.2.0-SNAPSHOT", + "version": "3.1.1", "main": "jsoneditor.js", "description": "A web-based tool to view, edit and format JSON", "tags": [