activeadmin_json_editor 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (31) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +4 -0
  3. data/Gemfile.lock +69 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +52 -0
  6. data/Rakefile +1 -0
  7. data/activeadmin_json_editor.gemspec +24 -0
  8. data/app/assets/javascripts/active_admin/json_editor.js +19 -0
  9. data/app/assets/stylesheets/active_admin/json_editor.css +46 -0
  10. data/app/inputs/json_input.rb +15 -0
  11. data/lib/activeadmin/json_editor.rb +22 -0
  12. data/lib/activeadmin/json_editor/version.rb +5 -0
  13. data/lib/activeadmin/resource_dsl.rb +26 -0
  14. data/lib/activeadmin_json_editor.rb +2 -0
  15. data/vendor/assets/images/img/jsoneditor-icons.png +0 -0
  16. data/vendor/assets/images/jsoneditor/img/jsoneditor-icons.png +0 -0
  17. data/vendor/assets/javascripts/.gitkeep +0 -0
  18. data/vendor/assets/javascripts/jsoneditor/asset/ace/ace.js +148 -0
  19. data/vendor/assets/javascripts/jsoneditor/asset/ace/ext-searchbox.js +1 -0
  20. data/vendor/assets/javascripts/jsoneditor/asset/ace/mode-json.js +1 -0
  21. data/vendor/assets/javascripts/jsoneditor/asset/ace/theme-jsoneditor.js +144 -0
  22. data/vendor/assets/javascripts/jsoneditor/asset/ace/theme-textmate.js +1 -0
  23. data/vendor/assets/javascripts/jsoneditor/asset/ace/worker-json.js +1 -0
  24. data/vendor/assets/javascripts/jsoneditor/asset/jsonlint/jsonlint.js +1 -0
  25. data/vendor/assets/javascripts/jsoneditor/jsoneditor.js +6147 -0
  26. data/vendor/assets/javascripts/jsoneditor/jsoneditor.map +1 -0
  27. data/vendor/assets/javascripts/jsoneditor/jsoneditor.min.js +31 -0
  28. data/vendor/assets/stylesheets/.gitkeep +0 -0
  29. data/vendor/assets/stylesheets/jsoneditor/jsoneditor.min.css +1 -0
  30. data/vendor/assets/stylesheets/jsoneditor/jsoneditor.scss +622 -0
  31. metadata +109 -0
@@ -0,0 +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","view","_createFrame","_createTable","frame","parentNode","removeChild","search","hasOwnProperty","edit","form","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","setTheme","setShowPrintMargin","setFontSize","getSession","setTabSize","setUseSoftTabs","setUseWrapMode","poweredBy","createTextNode","href","window","open","on","spellcheck","resize","force","setValue","jsonString","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","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","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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"}
@@ -0,0 +1,31 @@
1
+ /*!
2
+ * jsoneditor.js
3
+ *
4
+ * @brief
5
+ * JSONEditor is a web-based tool to view, edit, and format JSON.
6
+ * It shows data a clear, editable treeview.
7
+ *
8
+ * Supported browsers: Chrome, Firefox, Safari, Opera, Internet Explorer 8+
9
+ *
10
+ * @license
11
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
12
+ * use this file except in compliance with the License. You may obtain a copy
13
+ * of the License at
14
+ *
15
+ * http://www.apache.org/licenses/LICENSE-2.0
16
+ *
17
+ * Unless required by applicable law or agreed to in writing, software
18
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
19
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
20
+ * License for the specific language governing permissions and limitations under
21
+ * the License.
22
+ *
23
+ * Copyright (c) 2011-2014 Jos de Jong, http://jsoneditoronline.org
24
+ *
25
+ * @author Jos de Jong, <wjosdejong@gmail.com>
26
+ * @version 3.0.0
27
+ * @date 2014-05-31
28
+ */
29
+ !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(h){}}catch(h){this._onError(h)}},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;t<e.length;t++)n.registerMode(e[t]);else{if(!("mode"in e))throw new Error('Property "mode" missing');if(!("mixin"in e))throw new Error('Property "mixin" missing');if(!("data"in e))throw new Error('Property "data" missing');var s=e.mode;if(s in n.modes)throw new Error('Mode "'+s+'" already registered');if("function"!=typeof e.mixin.create)throw new Error('Required function "create" missing on mixin');var r=["setMode","registerMode","modes"];for(t=0;t<r.length;t++)if(o=r[t],o in e.mixin)throw new Error('Reserved property "'+o+'" not allowed in mixin');n.modes[s]=e}},n.registerMode(e),n.registerMode(t),n}.apply(null,n),!(void 0!==o&&(e.exports=o))},function(e,t,i){var n,o;n=[i(4),i(5),i(6),i(7),i(8),i(3)],o=function(e,t,i,n,o,s){var r={};r.create=function(i,n){if(!i)throw new Error("No container element provided.");this.container=i,this.dom={},this.highlighter=new e,this.selection=void 0,this._setOptions(n),this.options.history&&!this.mode.view&&(this.history=new t(this)),this._createFrame(),this._createTable()},r._delete=function(){this.frame&&this.container&&this.frame.parentNode==this.container&&this.container.removeChild(this.frame)},r._setOptions=function(e){if(this.options={search:!0,history:!0,mode:"tree",name:void 0},e)for(var t in e)e.hasOwnProperty(t)&&(this.options[t]=e[t]);this.mode={edit:"view"!=this.options.mode&&"form"!=this.options.mode,view:"view"==this.options.mode,form:"form"==this.options.mode}};var a=void 0,d=null;return r.set=function(e,t){if(t&&(s.log('Warning: second parameter "name" is deprecated. Use setName(name) instead.'),this.options.name=t),e instanceof Function||void 0===e)this.clear();else{this.content.removeChild(this.table);var i={field:this.options.name,value:e},o=new n(this,i);this._setRoot(o);var r=!1;this.node.expand(r),this.content.appendChild(this.table)}this.history&&this.history.clear()},r.get=function(){return a&&a.blur(),this.node?this.node.getValue():void 0},r.getText=function(){return JSON.stringify(this.get())},r.setText=function(e){this.set(s.parse(e))},r.setName=function(e){this.options.name=e,this.node&&this.node.updateField(this.options.name)},r.getName=function(){return this.options.name},r.clear=function(){this.node&&(this.node.collapse(),this.tbody.removeChild(this.node.getDom()),delete this.node)},r._setRoot=function(e){this.clear(),this.node=e,this.tbody.appendChild(e.getDom())},r.search=function(e){var t;return this.node?(this.content.removeChild(this.table),t=this.node.search(e),this.content.appendChild(this.table)):t=[],t},r.expandAll=function(){this.node&&(this.content.removeChild(this.table),this.node.expand(),this.content.appendChild(this.table))},r.collapseAll=function(){this.node&&(this.content.removeChild(this.table),this.node.collapse(),this.content.appendChild(this.table))},r._onAction=function(e,t){if(this.history&&this.history.add(e,t),this.options.change)try{this.options.change()}catch(i){s.log("Error in change callback: ",i)}},r.startAutoScroll=function(e){var t=this,i=this.content,n=s.getAbsoluteTop(i),o=i.clientHeight,r=n+o,a=24,d=50;this.autoScrollStep=n+a>e&&i.scrollTop>0?(n+a-e)/3:e>r-a&&o+i.scrollTop<i.scrollHeight?(r-a-e)/3:void 0,this.autoScrollStep?this.autoScrollTimer||(this.autoScrollTimer=setInterval(function(){t.autoScrollStep?i.scrollTop-=t.autoScrollStep:t.stopAutoScroll()},d)):this.stopAutoScroll()},r.stopAutoScroll=function(){this.autoScrollTimer&&(clearTimeout(this.autoScrollTimer),delete this.autoScrollTimer),this.autoScrollStep&&delete this.autoScrollStep},r.setSelection=function(e){e&&("scrollTop"in e&&this.content&&(this.content.scrollTop=e.scrollTop),e.range&&s.setSelectionOffset(e.range),e.dom&&e.dom.focus())},r.getSelection=function(){return{dom:d,scrollTop:this.content?this.content.scrollTop:0,range:s.getSelectionOffset()}},r.scrollTo=function(e,t){var i=this.content;if(i){var n=this;n.animateTimeout&&(clearTimeout(n.animateTimeout),delete n.animateTimeout),n.animateCallback&&(n.animateCallback(!1),delete n.animateCallback);var o=i.clientHeight,s=i.scrollHeight-o,r=Math.min(Math.max(e-o/4,0),s),a=function(){var e=i.scrollTop,o=r-e;Math.abs(o)>3?(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 h=o.create(this,this.options.modes,this.options.mode);this.menu.appendChild(h),this.dom.modeBox=h}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"),this.mode.edit&&(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 h=document.createElement("a");h.appendChild(document.createTextNode("powered by ace")),h.href="http://ace.ajax.org",h.target="_blank",h.className="poweredBy",h.onclick=function(){window.open(h.href,h.target)},this.menu.appendChild(h),n.change&&d.on("change",function(){n.change()})}else{var l=document.createElement("textarea");l.className="text",l.spellcheck=!1,this.content.appendChild(l),this.textarea=l,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){throw e.validate(t),i}},e.validate=function(e){"undefined"!=typeof jsonlint?jsonlint.parse(e):JSON.parse(e)},e.extend=function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i]);return e},e.clear=function(e){for(var t in e)e.hasOwnProperty(t)&&delete e[t];return e},e.log=function(){"undefined"!=typeof console&&"function"==typeof console.log&&console.log.apply(console,arguments)},e.type=function(t){return null===t?"null":void 0===t?"undefined":t instanceof Number||"number"==typeof t?"number":t instanceof String||"string"==typeof t?"string":t instanceof Boolean||"boolean"==typeof t?"boolean":t instanceof RegExp||"regexp"==typeof t?"regexp":e.isArray(t)?"array":"object"};var t=/^https?:\/\/\S+$/;e.isUrl=function(e){return("string"==typeof e||e instanceof String)&&t.test(e)},e.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)},e.getAbsoluteLeft=function(e){var t=e.getBoundingClientRect();return t.left+window.pageXOffset||document.scrollLeft||0},e.getAbsoluteTop=function(e){var t=e.getBoundingClientRect();return t.top+window.pageYOffset||document.scrollTop||0},e.addClassName=function(e,t){var i=e.className.split(" ");-1==i.indexOf(t)&&(i.push(t),e.className=i.join(" "))},e.removeClassName=function(e,t){var i=e.className.split(" "),n=i.indexOf(t);-1!=n&&(i.splice(n,1),e.className=i.join(" "))},e.stripFormatting=function(t){for(var i=t.childNodes,n=0,o=i.length;o>n;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 h=o[r-1],l=h?h.nodeName:void 0;l&&"DIV"!=l&&"P"!=l&&"BR"!=l&&(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<this.history.length-1&&this.history.splice(this.index+1,this.history.length-this.index-1),this.onChange()},t.prototype.clear=function(){this.history=[],this.index=-1,this.onChange()},t.prototype.canUndo=function(){return this.index>=0},t.prototype.canRedo=function(){return this.index<this.history.length-1},t.prototype.undo=function(){if(this.canUndo()){var t=this.history[this.index];if(t){var i=this.actions[t.action];i&&i.undo?(i.undo(t.params),t.params.oldSelection&&this.editor.setSelection(t.params.oldSelection)):e.log('Error: unknown action "'+t.action+'"')}this.index--,this.onChange()}},t.prototype.redo=function(){if(this.canRedo()){this.index++;var t=this.history[this.index];if(t){var i=this.actions[t.action];i&&i.redo?(i.redo(t.params),t.params.newSelection&&this.editor.setSelection(t.params.newSelection)):e.log('Error: unknown action "'+t.action+'"')}this.onChange()}},t}.apply(null,n),!(void 0!==o&&(e.exports=o))},function(e,t,i){var n;n=function(){function e(e,t){var i=this;this.editor=e,this.timeout=void 0,this.delay=200,this.lastText=void 0,this.dom={},this.dom.container=t;var n=document.createElement("table");this.dom.table=n,n.className="search",t.appendChild(n);var o=document.createElement("tbody");this.dom.tbody=o,n.appendChild(o);var s=document.createElement("tr");o.appendChild(s);var r=document.createElement("td");s.appendChild(r);var a=document.createElement("div");this.dom.results=a,a.className="results",r.appendChild(a),r=document.createElement("td"),s.appendChild(r);var d=document.createElement("div");this.dom.input=d,d.className="frame",d.title="Search fields and values",r.appendChild(d);var h=document.createElement("table");d.appendChild(h);var l=document.createElement("tbody");h.appendChild(l),s=document.createElement("tr"),l.appendChild(s);var c=document.createElement("button");c.className="refresh",r=document.createElement("td"),r.appendChild(c),s.appendChild(r);var u=document.createElement("input");this.dom.search=u,u.oninput=function(e){i._onDelayedSearch(e)},u.onchange=function(e){i._onSearch(e)},u.onkeydown=function(e){i._onKeyDown(e)},u.onkeyup=function(e){i._onKeyUp(e)},c.onclick=function(){u.select()},r=document.createElement("td"),r.appendChild(u),s.appendChild(r);var p=document.createElement("button");p.title="Next result (Enter)",p.className="next",p.onclick=function(){i.next()},r=document.createElement("td"),r.appendChild(p),s.appendChild(r);var f=document.createElement("button");f.title="Previous result (Shift+Enter)",f.className="previous",f.onclick=function(){i.previous()},r=document.createElement("td"),r.appendChild(f),s.appendChild(r)}return e.prototype.next=function(e){if(void 0!=this.results){var t=void 0!=this.resultIndex?this.resultIndex+1:0;t>this.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&nbsp;results";break;case 1:this.dom.results.innerHTML="1&nbsp;result";break;default:this.dom.results.innerHTML=o+"&nbsp;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.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="")
30
+ }),("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.editor.mode.edit?"":"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.editor.mode.edit&&(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(e.tr=document.createElement("tr"),e.tr.node=this,this.editor.mode.edit){var t=document.createElement("td");if(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,h,l,c,u,p,f,m,v,g,y=e.pageY,x=e.pageX,C=!1;if(t=this.dom.tr,u=i.getAbsoluteTop(t),m=t.offsetHeight,u>y){s=t;do s=s.previousSibling,l=n.getNodeFromTarget(s),p=s?i.getAbsoluteTop(s):0;while(s&&p>y);l&&!l.parent&&(l=void 0),l||(h=t.parentNode.firstChild,s=h?h.nextSibling:void 0,l=n.getNodeFromTarget(s),l==this&&(l=void 0)),l&&(s=l.dom.tr,p=s?i.getAbsoluteTop(s):0,y>p+m&&(l=void 0)),l&&(l.parent.moveBefore(this,l),C=!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 b=x-this.drag.mouseX,E=Math.round(b/24/2),N=this.drag.level+E,_=c.getLevel();for(s=c.dom.tr.previousSibling;N>_&&s;){if(l=n.getNodeFromTarget(s),l==this||l._isChildOf(this));else{if(!(l instanceof o))break;var w=l.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),C=!0)}}C&&(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){1==this.fieldEditable?(i.contentEditable=this.editor.mode.edit,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.editor.mode.edit&&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.editor.mode.view,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 h=e.ctrlKey;this._onExpand(h)}var l=s.value;if(o==l)switch(n){case"focus":t=this;break;case"blur":case"change":this._getDomValue(!0),this._updateDomValue(),this.value&&(l.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.editor.mode.edit&&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.pageX<i.getAbsoluteLeft(s.tdSeparator);p||a?c&&(i.setEndOfContentEditable(c),c.focus()):l&&(i.setEndOfContentEditable(l),l.focus())}if(o==s.tdExpand&&!a||o==s.tdField||o==s.tdSeparator)switch(n){case"click":c&&(i.setEndOfContentEditable(c),c.focus())}"keydown"==n&&this.onKeyDown(e)},n.prototype.onKeyDown=function(e){var t,s,r,a,d=e.which||e.keyCode,h=e.target||e.srcElement,l=e.ctrlKey,c=e.shiftKey,u=e.altKey,p=!1;if(13==d){if(h==this.dom.value)(!this.editor.mode.edit||e.ctrlKey)&&i.isUrl(this.value)&&(window.open(this.value,"_blank"),p=!0);else if(h==this.dom.expand){var f=this._hasChilds();if(f){var m=e.ctrlKey;this._onExpand(m),h.focus(),p=!0}}}else if(68==d)l&&(this._onDuplicate(),p=!0);else if(69==d)l&&(this._onExpand(c),h.focus(),p=!0);else if(77==d)l&&(this.showContextMenu(h),p=!0);else if(46==d)l&&(this._onRemove(),p=!0);else if(45==d)l&&!c?(this._onInsertBefore(),p=!0):l&&c&&(this._onInsertAfter(),p=!0);else if(35==d){if(u){var v=this._lastNode();v&&v.focus(n.focusElement||this._getElementName(h)),p=!0}}else if(36==d){if(u){var g=this._firstNode();g&&g.focus(n.focusElement||this._getElementName(h)),p=!0}}else if(37==d){if(u&&!c){var y=this._previousElement(h);y&&this.focus(this._getElementName(y)),p=!0}else if(u&&c){if(this.expanded){var x=this.getAppend();r=x?x.nextSibling:void 0}else{var C=this.getDom();r=C.nextSibling}r&&(s=n.getNodeFromTarget(r),a=r.nextSibling,N=n.getNodeFromTarget(a),s&&s instanceof o&&1!=this.parent.childs.length&&N&&N.parent&&(N.parent.moveBefore(this,N),this.focus(n.focusElement||this._getElementName(h))))}}else if(38==d)u&&!c?(t=this._previousNode(),t&&t.focus(n.focusElement||this._getElementName(h)),p=!0):u&&c&&(t=this._previousNode(),t&&t.parent&&(t.parent.moveBefore(this,t),this.focus(n.focusElement||this._getElementName(h))),p=!0);else if(39==d){if(u&&!c){var b=this._nextElement(h);b&&this.focus(this._getElementName(b)),p=!0}else if(u&&c){C=this.getDom();var E=C.previousSibling;E&&(t=n.getNodeFromTarget(E),t&&t.parent&&t instanceof o&&!t.isVisible()&&(t.parent.moveBefore(this,t),this.focus(n.focusElement||this._getElementName(h))))}}else if(40==d)if(u&&!c)s=this._nextNode(),s&&s.focus(n.focusElement||this._getElementName(h)),p=!0;else if(u&&c){s=this.expanded?this.append?this.append._nextNode():void 0:this._nextNode(),r=s?s.getDom():void 0,a=1==this.parent.childs.length?r:r?r.nextSibling:void 0;var N=n.getNodeFromTarget(a);N&&N.parent&&(N.parent.moveBefore(this,N),this.focus(n.focusElement||this._getElementName(h))),p=!0}p&&(e.preventDefault(),e.stopPropagation())},n.prototype._onExpand=function(e){if(e){var t=this.dom.tr.parentNode,i=t.parentNode,n=i.scrollTop;i.removeChild(t)}this.expanded?this.collapse(e):this.expand(e),e&&(i.appendChild(t),i.scrollTop=n)},n.prototype._onRemove=function(){this.editor.highlighter.unhighlight();var e=this.parent.childs,t=e.indexOf(this),i=this.editor.getSelection();e[t+1]?e[t+1].focus():e[t-1]?e[t-1].focus():this.parent.focus();var n=this.editor.getSelection();this.parent._remove(this),this.editor._onAction("removeNode",{node:this,parent:this.parent,index:t,oldSelection:i,newSelection:n})},n.prototype._onDuplicate=function(){var e=this.editor.getSelection(),t=this.parent._duplicate(this);t.focus();var i=this.editor.getSelection();this.editor._onAction("duplicateNode",{node:this,clone:t,parent:this.parent,oldSelection:e,newSelection:i})},n.prototype._onInsertBefore=function(e,t,i){var o=this.editor.getSelection(),s=new n(this.editor,{field:void 0!=e?e:"",value:void 0!=t?t:"",type:i});s.expand(!0),this.parent.insertBefore(s,this),this.editor.highlighter.unhighlight(),s.focus("field");var r=this.editor.getSelection();this.editor._onAction("insertBeforeNode",{node:s,beforeNode:this,parent:this.parent,oldSelection:o,newSelection:r})},n.prototype._onInsertAfter=function(e,t,i){var o=this.editor.getSelection(),s=new n(this.editor,{field:void 0!=e?e:"",value:void 0!=t?t:"",type:i});s.expand(!0),this.parent.insertAfter(s,this),this.editor.highlighter.unhighlight(),s.focus("field");var r=this.editor.getSelection();this.editor._onAction("insertAfterNode",{node:s,afterNode:this,parent:this.parent,oldSelection:o,newSelection:r})},n.prototype._onAppend=function(e,t,i){var o=this.editor.getSelection(),s=new n(this.editor,{field:void 0!=e?e:"",value:void 0!=t?t:"",type:i});s.expand(!0),this.parent.appendChild(s),this.editor.highlighter.unhighlight(),s.focus("field");var r=this.editor.getSelection();this.editor._onAction("appendNode",{node:s,parent:this.parent,oldSelection:o,newSelection:r})},n.prototype._onChangeType=function(e){var t=this.type;if(e!=t){var i=this.editor.getSelection();this.changeType(e);var n=this.editor.getSelection();this.editor._onAction("changeType",{node:this,oldType:t,newType:e,oldSelection:i,newSelection:n})}},n.prototype._onSort=function(e){if(this._hasChilds()){var t="desc"==e?-1:1,i="array"==this.type?"value":"field";this.hideChilds();var n=this.childs,o=this.sort;this.childs=this.childs.concat(),this.childs.sort(function(e,n){return e[i]>n[i]?t:e[i]<n[i]?-t:0}),this.sort=1==t?"asc":"desc",this.editor._onAction("sort",{node:this,oldChilds:n,oldSort:o,newChilds:this.childs,newSort:this.sort}),this.showChilds()}},n.prototype.getAppend=function(){return this.append||(this.append=new o(this.editor),this.append.setParent(this)),this.append.getDom()},n.getNodeFromTarget=function(e){for(;e;){if(e.node)return e.node;e=e.parentNode}return void 0},n.prototype._previousNode=function(){var e=null,t=this.getDom();if(t&&t.parentNode){var i=t;do i=i.previousSibling,e=n.getNodeFromTarget(i);while(i&&e instanceof o&&!e.isVisible())}return e},n.prototype._nextNode=function(){var e=null,t=this.getDom();if(t&&t.parentNode){var i=t;do i=i.nextSibling,e=n.getNodeFromTarget(i);while(i&&e instanceof o&&!e.isVisible())}return e},n.prototype._firstNode=function(){var e=null,t=this.getDom();if(t&&t.parentNode){var i=t.parentNode.firstChild;e=n.getNodeFromTarget(i)}return e},n.prototype._lastNode=function(){var e=null,t=this.getDom();if(t&&t.parentNode){var i=t.parentNode.lastChild;for(e=n.getNodeFromTarget(i);i&&e instanceof o&&!e.isVisible();)i=i.previousSibling,e=n.getNodeFromTarget(i)}return e},n.prototype._previousElement=function(e){var t=this.dom;switch(e){case t.value:if(this.fieldEditable)return t.field;case t.field:if(this._hasChilds())return t.expand;case t.expand:return t.menu;case t.menu:if(t.drag)return t.drag;default:return null}},n.prototype._nextElement=function(e){var t=this.dom;switch(e){case t.drag:return t.menu;case t.menu:if(this._hasChilds())return t.expand;case t.expand:if(this.fieldEditable)return t.field;case t.field:if(!this._hasChilds())return t.value;default:return null}},n.prototype._getElementName=function(e){var t=this.dom;for(var i in t)if(t.hasOwnProperty(i)&&t[i]==e)return i;return null},n.prototype._hasChilds=function(){return"array"==this.type||"object"==this.type},n.TYPE_TITLES={auto:'Field type "auto". The field type is automatically determined from the value and can be a string, number, boolean, or null.',object:'Field type "object". An object contains an unordered set of key/value pairs.',array:'Field type "array". An array contains an ordered collection of values.',string:'Field type "string". Field type is not determined from the value, but always returned as string.'},n.prototype.showContextMenu=function(t,i){var o=this,s=n.TYPE_TITLES,r=[];if(r.push({text:"Type",title:"Change the type of this field",className:"type-"+this.type,submenu:[{text:"Auto",className:"type-auto"+("auto"==this.type?" selected":""),title:s.auto,click:function(){o._onChangeType("auto")}},{text:"Array",className:"type-array"+("array"==this.type?" selected":""),title:s.array,click:function(){o._onChangeType("array")}},{text:"Object",className:"type-object"+("object"==this.type?" selected":""),title:s.object,click:function(){o._onChangeType("object")}},{text:"String",className:"type-string"+("string"==this.type?" selected":""),title:s.string,click:function(){o._onChangeType("string")}}]}),this._hasChilds()){var a="asc"==this.sort?"desc":"asc";r.push({text:"Sort",title:"Sort the childs of this "+this.type,className:"sort-"+a,click:function(){o._onSort(a)},submenu:[{text:"Ascending",className:"sort-asc",title:"Sort the childs of this "+this.type+" in ascending order",click:function(){o._onSort("asc")}},{text:"Descending",className:"sort-desc",title:"Sort the childs of this "+this.type+" in descending order",click:function(){o._onSort("desc")}}]})}if(this.parent&&this.parent._hasChilds()){r.push({type:"separator"});var d=o.parent.childs;o==d[d.length-1]&&r.push({text:"Append",title:"Append a new field with type 'auto' after this field (Ctrl+Shift+Ins)",submenuTitle:"Select the type of the field to be appended",className:"append",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")}}]}),r.push({text:"Insert",title:"Insert a new field with type 'auto' before this field (Ctrl+Ins)",submenuTitle:"Select the type of the field to be inserted",className:"insert",click:function(){o._onInsertBefore("","","auto")},submenu:[{text:"Auto",className:"type-auto",title:s.auto,click:function(){o._onInsertBefore("","","auto")}},{text:"Array",className:"type-array",title:s.array,click:function(){o._onInsertBefore("",[])}},{text:"Object",className:"type-object",title:s.object,click:function(){o._onInsertBefore("",{})}},{text:"String",className:"type-string",title:s.string,click:function(){o._onInsertBefore("","","string")}}]}),r.push({text:"Duplicate",title:"Duplicate this field (Ctrl+D)",className:"duplicate",click:function(){o._onDuplicate()}}),r.push({text:"Remove",title:"Remove this field (Ctrl+Del)",className:"remove",click:function(){o._onRemove()}})}var h=new e(r,{close:i});h.show(t)},n.prototype._getType=function(e){return e instanceof Array?"array":e instanceof Object?"object":"string"==typeof e&&"string"!=typeof this._stringCast(e)?"string":"auto"},n.prototype._stringCast=function(e){var t=e.toLowerCase(),i=Number(e),n=parseFloat(e);return""==e?"":"null"==t?null:"true"==t?!0:"false"==t?!1:isNaN(i)||isNaN(n)?e:i},n.prototype._escapeHTML=function(e){var t=String(e).replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/ /g," &nbsp;").replace(/^ /,"&nbsp;").replace(/ $/,"&nbsp;"),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(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&nbsp;|\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<i.length;a++){var d=i[a],h=s[d];if(!h)throw new Error('Unknown mode "'+d+'"');h.className="type-modes"+(n==d?" selected":""),r.push(h)}var l=s[n];if(!l)throw new Error('Unknown mode "'+n+'"');var c=l.text,u=document.createElement("button");return u.className="modes separator",u.innerHTML=c+" &#x25BE;",u.title="Switch editor mode",u.onclick=function(){var t=new e(r);t.show(u)},u}return{create:t}}.apply(null,n),!(void 0!==o&&(e.exports=o))},function(e,t,i){var n,o;n=[i(3)],o=function(e){function t(e,t){function i(e,t,o){o.forEach(function(o){if("separator"==o.type){var s=document.createElement("div");s.className="separator",a=document.createElement("li"),a.appendChild(s),e.appendChild(a)}else{var r={},a=document.createElement("li");e.appendChild(a);var d=document.createElement("button");if(d.className=o.className,r.button=d,o.title&&(d.title=o.title),o.click&&(d.onclick=function(){n.hide(),o.click()}),a.appendChild(d),o.submenu){var h=document.createElement("div");h.className="icon",d.appendChild(h),d.appendChild(document.createTextNode(o.text));var l;if(o.click){d.className+=" default";var c=document.createElement("button");r.buttonExpand=c,c.className="expand",c.innerHTML='<div class="expand"></div>',a.appendChild(c),o.submenuTitle&&(c.title=o.submenuTitle),l=c}else{var u=document.createElement("div");u.className="expand",d.appendChild(u),l=d}l.onclick=function(){n._onExpandItem(r),l.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='<div class="icon"></div>'+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),h=e.getAbsoluteTop(i);s>h+r+a?(this.dom.menu.style.left=d+"px",this.dom.menu.style.top=h+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-h+"px"),document.body.appendChild(this.dom.menu);var l=this,c=this.dom.list;this.eventListeners.mousedown=e.addEventListener(document,"mousedown",function(e){var t=e.target;t==c||l._isChildOf(t,c)||(l.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){l._onKeyDown(e)}),this.selection=e.getSelection(),this.anchor=i,setTimeout(function(){l.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;var t=document.createElement("tr");if(t.node=this,e.tr=t,this.editor.mode.edit){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))}])});
31
+ //# sourceMappingURL=jsoneditor.map
File without changes
@@ -0,0 +1 @@
1
+ .jsoneditor .field,.jsoneditor .readonly,.jsoneditor .value{border:1px solid transparent;min-height:16px;min-width:32px;padding:2px;margin:1px;word-wrap:break-word;float:left}.jsoneditor .field p,.jsoneditor .value p{margin:0}.jsoneditor .value{word-break:break-word}.jsoneditor .readonly{min-width:16px;color:gray}.jsoneditor .empty{border-color:#d3d3d3;border-style:dashed;border-radius:2px}.jsoneditor .field.empty{background-image:url(img/jsoneditor-icons.png);background-position:0 -144px}.jsoneditor .value.empty{background-image:url(img/jsoneditor-icons.png);background-position:-48px -144px}.jsoneditor .value.url{color:green;text-decoration:underline}.jsoneditor a.value.url:focus,.jsoneditor a.value.url:hover{color:red}.jsoneditor .separator{padding:3px 0;vertical-align:top;color:gray}.jsoneditor .field.highlight,.jsoneditor .field[contenteditable=true]:focus,.jsoneditor .field[contenteditable=true]:hover,.jsoneditor .value.highlight,.jsoneditor .value[contenteditable=true]:focus,.jsoneditor .value[contenteditable=true]:hover{background-color:#FFFFAB;border:1px solid #ff0;border-radius:2px}.jsoneditor .field.highlight-active,.jsoneditor .field.highlight-active:focus,.jsoneditor .field.highlight-active:hover,.jsoneditor .value.highlight-active,.jsoneditor .value.highlight-active:focus,.jsoneditor .value.highlight-active:hover{background-color:#fe0;border:1px solid #ffc700;border-radius:2px}.jsoneditor div.tree button{width:24px;height:24px;padding:0;margin:0;border:none;cursor:pointer;background:transparent url(img/jsoneditor-icons.png)}.jsoneditor div.tree button.collapsed{background-position:0 -48px}.jsoneditor div.tree button.expanded{background-position:0 -72px}.jsoneditor div.tree button.contextmenu{background-position:-48px -72px}.jsoneditor div.tree button.contextmenu.selected,.jsoneditor div.tree button.contextmenu:focus,.jsoneditor div.tree button.contextmenu:hover{background-position:-48px -48px}.jsoneditor div.tree :focus{outline:0}.jsoneditor div.tree button:focus{background-color:#f5f5f5;outline:#e5e5e5 solid 1px}.jsoneditor div.tree button.invisible{visibility:hidden;background:0 0}.jsoneditor{color:#1A1A1A;border:1px solid #97B0F8;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;overflow:auto;position:relative;padding:0;line-height:100%}.jsoneditor div.tree table.tree{border-collapse:collapse;border-spacing:0;width:100%;margin:0}.jsoneditor div.outer{width:100%;height:100%;margin:-35px 0 0 0;padding:35px 0 0;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.jsoneditor div.tree{width:100%;height:100%;position:relative;overflow:auto}.jsoneditor textarea.text{width:100%;height:100%;margin:0;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;background-color:#fff;resize:none}.jsoneditor tr.highlight{background-color:#FFFFAB}.jsoneditor div.tree button.dragarea{background:url(img/jsoneditor-icons.png) -72px -72px;cursor:move}.jsoneditor div.tree button.dragarea:focus,.jsoneditor div.tree button.dragarea:hover{background-position:-72px -48px}.jsoneditor td,.jsoneditor th,.jsoneditor tr{padding:0;margin:0}.jsoneditor td,.jsoneditor td.tree{vertical-align:top}.jsoneditor .field,.jsoneditor .value,.jsoneditor td,.jsoneditor textarea,.jsoneditor th{font-family:droid sans mono,monospace,courier new,courier,sans-serif;font-size:10pt;color:#1A1A1A}.jsoneditor-contextmenu{position:absolute;z-index:99999}.jsoneditor-contextmenu ul{position:relative;left:0;top:0;width:124px;background:#fff;border:1px solid #d3d3d3;box-shadow:2px 2px 12px rgba(128,128,128,.3);list-style:none;margin:0;padding:0}.jsoneditor-contextmenu ul li button{padding:0;margin:0;width:124px;height:24px;border:none;cursor:pointer;color:#4d4d4d;background:0 0;line-height:26px;text-align:left}.jsoneditor-contextmenu ul li button::-moz-focus-inner{padding:0;border:0}.jsoneditor-contextmenu ul li button:focus,.jsoneditor-contextmenu ul li button:hover{color:#1a1a1a;background-color:#f5f5f5;outline:0}.jsoneditor-contextmenu ul li button.default{width:92px}.jsoneditor-contextmenu ul li button.expand{float:right;width:32px;height:24px;border-left:1px solid #e5e5e5}.jsoneditor-contextmenu div.icon{float:left;width:24px;height:24px;border:none;padding:0;margin:0;background-image:url(img/jsoneditor-icons.png)}.jsoneditor-contextmenu ul li button div.expand{float:right;width:24px;height:24px;padding:0;margin:0 4px 0 0;background:url(img/jsoneditor-icons.png) 0 -72px;opacity:.4}.jsoneditor-contextmenu ul li button.expand:focus div.expand,.jsoneditor-contextmenu ul li button.expand:hover div.expand,.jsoneditor-contextmenu ul li button:focus div.expand,.jsoneditor-contextmenu ul li button:hover div.expand,.jsoneditor-contextmenu ul li.selected div.expand{opacity:1}.jsoneditor-contextmenu .separator{height:0;border-top:1px solid #e5e5e5;padding-top:5px;margin-top:5px}.jsoneditor-contextmenu button.remove>.icon{background-position:-24px -24px}.jsoneditor-contextmenu button.remove:focus>.icon,.jsoneditor-contextmenu button.remove:hover>.icon{background-position:-24px 0}.jsoneditor-contextmenu button.append>.icon{background-position:0 -24px}.jsoneditor-contextmenu button.append:focus>.icon,.jsoneditor-contextmenu button.append:hover>.icon{background-position:0 0}.jsoneditor-contextmenu button.insert>.icon{background-position:0 -24px}.jsoneditor-contextmenu button.insert:focus>.icon,.jsoneditor-contextmenu button.insert:hover>.icon{background-position:0 0}.jsoneditor-contextmenu button.duplicate>.icon{background-position:-48px -24px}.jsoneditor-contextmenu button.duplicate:focus>.icon,.jsoneditor-contextmenu button.duplicate:hover>.icon{background-position:-48px 0}.jsoneditor-contextmenu button.sort-asc>.icon{background-position:-168px -24px}.jsoneditor-contextmenu button.sort-asc:focus>.icon,.jsoneditor-contextmenu button.sort-asc:hover>.icon{background-position:-168px 0}.jsoneditor-contextmenu button.sort-desc>.icon{background-position:-192px -24px}.jsoneditor-contextmenu button.sort-desc:focus>.icon,.jsoneditor-contextmenu button.sort-desc:hover>.icon{background-position:-192px 0}.jsoneditor-contextmenu ul li .selected{background-color:#D5DDF6}.jsoneditor-contextmenu ul li{overflow:hidden}.jsoneditor-contextmenu ul li ul{display:none;position:relative;left:-10px;top:0;border:none;box-shadow:inset 0 0 10px rgba(128,128,128,.5);padding:0 10px;-webkit-transition:all .3s ease-out;-moz-transition:all .3s ease-out;-o-transition:all .3s ease-out;transition:all .3s ease-out}.jsoneditor-contextmenu ul li ul li button{padding-left:24px}.jsoneditor-contextmenu ul li ul li button:focus,.jsoneditor-contextmenu ul li ul li button:hover{background-color:#f5f5f5}.jsoneditor-contextmenu button.type-string>.icon{background-position:-144px -24px}.jsoneditor-contextmenu button.type-string.selected>.icon,.jsoneditor-contextmenu button.type-string:focus>.icon,.jsoneditor-contextmenu button.type-string:hover>.icon{background-position:-144px 0}.jsoneditor-contextmenu button.type-auto>.icon{background-position:-120px -24px}.jsoneditor-contextmenu button.type-auto.selected>.icon,.jsoneditor-contextmenu button.type-auto:focus>.icon,.jsoneditor-contextmenu button.type-auto:hover>.icon{background-position:-120px 0}.jsoneditor-contextmenu button.type-object>.icon{background-position:-72px -24px}.jsoneditor-contextmenu button.type-object.selected>.icon,.jsoneditor-contextmenu button.type-object:focus>.icon,.jsoneditor-contextmenu button.type-object:hover>.icon{background-position:-72px 0}.jsoneditor-contextmenu button.type-array>.icon{background-position:-96px -24px}.jsoneditor-contextmenu button.type-array.selected>.icon,.jsoneditor-contextmenu button.type-array:focus>.icon,.jsoneditor-contextmenu button.type-array:hover>.icon{background-position:-96px 0}.jsoneditor-contextmenu button.type-modes>.icon{background-image:none;width:6px}.jsoneditor .menu{width:100%;height:35px;padding:2px;margin:0;overflow:hidden;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;color:#1A1A1A;background-color:#D5DDF6;border-bottom:1px solid #97B0F8}.jsoneditor .menu button{width:26px;height:26px;margin:2px;padding:0;border-radius:2px;border:1px solid #aec0f8;background:#e3eaf6 url(img/jsoneditor-icons.png);color:#4D4D4D;opacity:.8;font-family:arial,sans-serif;font-size:10pt;float:left}.jsoneditor .menu button:hover{background-color:#f0f2f5}.jsoneditor .menu button:active{background-color:#fff}.jsoneditor .menu button:disabled{background-color:#e3eaf6}.jsoneditor .menu button.collapse-all{background-position:0 -96px}.jsoneditor .menu button.expand-all{background-position:0 -120px}.jsoneditor .menu button.undo{background-position:-24px -96px}.jsoneditor .menu button.undo:disabled{background-position:-24px -120px}.jsoneditor .menu button.redo{background-position:-48px -96px}.jsoneditor .menu button.redo:disabled{background-position:-48px -120px}.jsoneditor .menu button.compact{background-position:-72px -96px}.jsoneditor .menu button.format{background-position:-72px -120px}.jsoneditor .menu button.modes{background-image:none;width:auto;padding-left:6px;padding-right:6px}.jsoneditor .menu button.separator{margin-left:10px}.jsoneditor .menu a{font-family:arial,sans-serif;font-size:10pt;color:#97B0F8;vertical-align:middle}.jsoneditor .menu a:hover{color:red}.jsoneditor .menu a.poweredBy{font-size:8pt;position:absolute;right:0;top:0;padding:10px}.jsoneditor .search .results,.jsoneditor .search input{font-family:arial,sans-serif;font-size:10pt;color:#1A1A1A}.jsoneditor .search{position:absolute;right:2px;top:2px}.jsoneditor .search .frame{border:1px solid #97B0F8;background-color:#fff;padding:0 2px;margin:0}.jsoneditor .search .frame table{border-collapse:collapse}.jsoneditor .search input{width:120px;border:none;outline:0;margin:1px}.jsoneditor .search .results{color:#4d4d4d;padding-right:5px;line-height:24px}.jsoneditor .search button{width:16px;height:24px;padding:0;margin:0;border:none;background:url(img/jsoneditor-icons.png);vertical-align:top}.jsoneditor .search button:hover{background-color:transparent}.jsoneditor .search button.refresh{width:18px;background-position:-99px -73px}.jsoneditor .search button.next{cursor:pointer;background-position:-124px -73px}.jsoneditor .search button.next:hover{background-position:-124px -49px}.jsoneditor .search button.previous{cursor:pointer;background-position:-148px -73px;margin-right:2px}.jsoneditor .search button.previous:hover{background-position:-148px -49px}
@@ -0,0 +1,622 @@
1
+ .jsoneditor .field,
2
+ .jsoneditor .value,
3
+ .jsoneditor .readonly {
4
+ border: 1px solid transparent;
5
+ min-height: 16px;
6
+ min-width: 32px;
7
+ padding: 2px;
8
+ margin: 1px;
9
+ word-wrap: break-word;
10
+ float: left;
11
+ }
12
+
13
+ /* adjust margin of p elements inside editable divs, needed for Opera, IE */
14
+
15
+ .jsoneditor .field p,
16
+ .jsoneditor .value p {
17
+ margin: 0;
18
+ }
19
+
20
+ .jsoneditor .value {
21
+ word-break: break-word;
22
+ }
23
+
24
+ .jsoneditor .readonly {
25
+ min-width: 16px;
26
+ color: gray;
27
+ }
28
+
29
+ .jsoneditor .empty {
30
+ border-color: lightgray;
31
+ border-style: dashed;
32
+ border-radius: 2px;
33
+ }
34
+
35
+ .jsoneditor .field.empty {
36
+ background-image: image-url("img/jsoneditor-icons.png");
37
+ background-position: 0 -144px;
38
+ }
39
+
40
+ .jsoneditor .value.empty {
41
+ background-image: image-url("img/jsoneditor-icons.png");
42
+ background-position: -48px -144px;
43
+ }
44
+
45
+ .jsoneditor .value.url {
46
+ color: green;
47
+ text-decoration: underline;
48
+ }
49
+
50
+ .jsoneditor a.value.url:hover,
51
+ .jsoneditor a.value.url:focus {
52
+ color: red;
53
+ }
54
+
55
+ .jsoneditor .separator {
56
+ padding: 3px 0;
57
+ vertical-align: top;
58
+ color: gray;
59
+ }
60
+
61
+ .jsoneditor .field[contenteditable=true]:focus,
62
+ .jsoneditor .field[contenteditable=true]:hover,
63
+ .jsoneditor .value[contenteditable=true]:focus,
64
+ .jsoneditor .value[contenteditable=true]:hover,
65
+ .jsoneditor .field.highlight,
66
+ .jsoneditor .value.highlight {
67
+ background-color: #FFFFAB;
68
+ border: 1px solid yellow;
69
+ border-radius: 2px;
70
+ }
71
+
72
+ .jsoneditor .field.highlight-active,
73
+ .jsoneditor .field.highlight-active:focus,
74
+ .jsoneditor .field.highlight-active:hover,
75
+ .jsoneditor .value.highlight-active,
76
+ .jsoneditor .value.highlight-active:focus,
77
+ .jsoneditor .value.highlight-active:hover {
78
+ background-color: #ffee00;
79
+ border: 1px solid #ffc700;
80
+ border-radius: 2px;
81
+ }
82
+
83
+ .jsoneditor div.tree button {
84
+ width: 24px;
85
+ height: 24px;
86
+ padding: 0;
87
+ margin: 0;
88
+ border: none;
89
+ cursor: pointer;
90
+ background: transparent image-url("img/jsoneditor-icons.png");
91
+ }
92
+
93
+ .jsoneditor div.tree button.collapsed {
94
+ background-position: 0 -48px;
95
+ }
96
+
97
+ .jsoneditor div.tree button.expanded {
98
+ background-position: 0 -72px;
99
+ }
100
+
101
+ .jsoneditor div.tree button.contextmenu {
102
+ background-position: -48px -72px;
103
+ }
104
+
105
+ .jsoneditor div.tree button.contextmenu:hover,
106
+ .jsoneditor div.tree button.contextmenu:focus,
107
+ .jsoneditor div.tree button.contextmenu.selected {
108
+ background-position: -48px -48px;
109
+ }
110
+
111
+ .jsoneditor div.tree *:focus {
112
+ outline: none;
113
+ }
114
+
115
+ .jsoneditor div.tree button:focus {
116
+ /* TODO: nice outline for buttons with focus
117
+ outline: #97B0F8 solid 2px;
118
+ box-shadow: 0 0 8px #97B0F8;
119
+ */
120
+ background-color: #f5f5f5;
121
+ outline: #e5e5e5 solid 1px;
122
+ }
123
+
124
+ .jsoneditor div.tree button.invisible {
125
+ visibility: hidden;
126
+ background: none;
127
+ }
128
+
129
+ .jsoneditor {
130
+ color: #1A1A1A;
131
+ border: 1px solid #97B0F8;
132
+ -moz-box-sizing: border-box;
133
+ -webkit-box-sizing: border-box;
134
+ box-sizing: border-box;
135
+ width: 100%;
136
+ height: 100%;
137
+ overflow: auto;
138
+ position: relative;
139
+ padding: 0;
140
+ line-height: 100%;
141
+ }
142
+
143
+ .jsoneditor div.tree table.tree {
144
+ border-collapse: collapse;
145
+ border-spacing: 0;
146
+ width: 100%;
147
+ margin: 0;
148
+ }
149
+
150
+ .jsoneditor div.outer {
151
+ width: 100%;
152
+ height: 100%;
153
+ margin: -35px 0 0 0;
154
+ padding: 35px 0 0 0;
155
+ -moz-box-sizing: border-box;
156
+ -webkit-box-sizing: border-box;
157
+ box-sizing: border-box;
158
+ overflow: hidden;
159
+ }
160
+
161
+ .jsoneditor div.tree {
162
+ width: 100%;
163
+ height: 100%;
164
+ position: relative;
165
+ overflow: auto;
166
+ }
167
+
168
+ .jsoneditor textarea.text {
169
+ width: 100%;
170
+ height: 100%;
171
+ margin: 0;
172
+ -moz-box-sizing: border-box;
173
+ -webkit-box-sizing: border-box;
174
+ box-sizing: border-box;
175
+ border: none;
176
+ background-color: white;
177
+ resize: none;
178
+ }
179
+
180
+ .jsoneditor tr.highlight {
181
+ background-color: #FFFFAB;
182
+ }
183
+
184
+ .jsoneditor div.tree button.dragarea {
185
+ background: image-url("img/jsoneditor-icons.png") -72px -72px;
186
+ cursor: move;
187
+ }
188
+
189
+ .jsoneditor div.tree button.dragarea:hover,
190
+ .jsoneditor div.tree button.dragarea:focus {
191
+ background-position: -72px -48px;
192
+ }
193
+
194
+ .jsoneditor tr,
195
+ .jsoneditor th,
196
+ .jsoneditor td {
197
+ padding: 0;
198
+ margin: 0;
199
+ }
200
+
201
+ .jsoneditor td {
202
+ vertical-align: top;
203
+ }
204
+
205
+ .jsoneditor td.tree {
206
+ vertical-align: top;
207
+ }
208
+
209
+ .jsoneditor .field,
210
+ .jsoneditor .value,
211
+ .jsoneditor td,
212
+ .jsoneditor th,
213
+ .jsoneditor textarea {
214
+ font-family: droid sans mono, monospace, courier new, courier, sans-serif;
215
+ font-size: 10pt;
216
+ color: #1A1A1A;
217
+ }
218
+ /* ContextMenu - main menu */
219
+
220
+ .jsoneditor-contextmenu {
221
+ position: absolute;
222
+ z-index: 99999;
223
+ }
224
+
225
+ .jsoneditor-contextmenu ul {
226
+ position: relative;
227
+ left: 0;
228
+ top: 0;
229
+ width: 124px;
230
+ background: white;
231
+ border: 1px solid #d3d3d3;
232
+ box-shadow: 2px 2px 12px rgba(128, 128, 128, 0.3);
233
+ list-style: none;
234
+ margin: 0;
235
+ padding: 0;
236
+ }
237
+
238
+ .jsoneditor-contextmenu ul li button {
239
+ padding: 0;
240
+ margin: 0;
241
+ width: 124px;
242
+ height: 24px;
243
+ border: none;
244
+ cursor: pointer;
245
+ color: #4d4d4d;
246
+ background: transparent;
247
+ line-height: 26px;
248
+ text-align: left;
249
+ }
250
+
251
+ /* Fix button padding in firefox */
252
+
253
+ .jsoneditor-contextmenu ul li button::-moz-focus-inner {
254
+ padding: 0;
255
+ border: 0;
256
+ }
257
+
258
+ .jsoneditor-contextmenu ul li button:hover,
259
+ .jsoneditor-contextmenu ul li button:focus {
260
+ color: #1a1a1a;
261
+ background-color: #f5f5f5;
262
+ outline: none;
263
+ }
264
+
265
+ .jsoneditor-contextmenu ul li button.default {
266
+ width: 92px;
267
+ }
268
+
269
+ .jsoneditor-contextmenu ul li button.expand {
270
+ float: right;
271
+ width: 32px;
272
+ height: 24px;
273
+ border-left: 1px solid #e5e5e5;
274
+ }
275
+
276
+ .jsoneditor-contextmenu div.icon {
277
+ float: left;
278
+ width: 24px;
279
+ height: 24px;
280
+ border: none;
281
+ padding: 0;
282
+ margin: 0;
283
+ background-image: image-url("img/jsoneditor-icons.png");
284
+ }
285
+
286
+ .jsoneditor-contextmenu ul li button div.expand {
287
+ float: right;
288
+ width: 24px;
289
+ height: 24px;
290
+ padding: 0;
291
+ margin: 0 4px 0 0;
292
+ background: image-url("img/jsoneditor-icons.png") 0 -72px;
293
+ opacity: 0.4;
294
+ }
295
+
296
+ .jsoneditor-contextmenu ul li button:hover div.expand,
297
+ .jsoneditor-contextmenu ul li button:focus div.expand,
298
+ .jsoneditor-contextmenu ul li.selected div.expand,
299
+ .jsoneditor-contextmenu ul li button.expand:hover div.expand,
300
+ .jsoneditor-contextmenu ul li button.expand:focus div.expand {
301
+ opacity: 1;
302
+ }
303
+
304
+ .jsoneditor-contextmenu .separator {
305
+ height: 0;
306
+ border-top: 1px solid #e5e5e5;
307
+ padding-top: 5px;
308
+ margin-top: 5px;
309
+ }
310
+
311
+ .jsoneditor-contextmenu button.remove > .icon {
312
+ background-position: -24px -24px;
313
+ }
314
+
315
+ .jsoneditor-contextmenu button.remove:hover > .icon,
316
+ .jsoneditor-contextmenu button.remove:focus > .icon {
317
+ background-position: -24px 0;
318
+ }
319
+
320
+ .jsoneditor-contextmenu button.append > .icon {
321
+ background-position: 0 -24px;
322
+ }
323
+
324
+ .jsoneditor-contextmenu button.append:hover > .icon,
325
+ .jsoneditor-contextmenu button.append:focus > .icon {
326
+ background-position: 0 0;
327
+ }
328
+
329
+ .jsoneditor-contextmenu button.insert > .icon {
330
+ background-position: 0 -24px;
331
+ }
332
+
333
+ .jsoneditor-contextmenu button.insert:hover > .icon,
334
+ .jsoneditor-contextmenu button.insert:focus > .icon {
335
+ background-position: 0 0;
336
+ }
337
+
338
+ .jsoneditor-contextmenu button.duplicate > .icon {
339
+ background-position: -48px -24px;
340
+ }
341
+
342
+ .jsoneditor-contextmenu button.duplicate:hover > .icon,
343
+ .jsoneditor-contextmenu button.duplicate:focus > .icon {
344
+ background-position: -48px 0;
345
+ }
346
+
347
+ .jsoneditor-contextmenu button.sort-asc > .icon {
348
+ background-position: -168px -24px;
349
+ }
350
+
351
+ .jsoneditor-contextmenu button.sort-asc:hover > .icon,
352
+ .jsoneditor-contextmenu button.sort-asc:focus > .icon {
353
+ background-position: -168px 0;
354
+ }
355
+
356
+ .jsoneditor-contextmenu button.sort-desc > .icon {
357
+ background-position: -192px -24px;
358
+ }
359
+
360
+ .jsoneditor-contextmenu button.sort-desc:hover > .icon,
361
+ .jsoneditor-contextmenu button.sort-desc:focus > .icon {
362
+ background-position: -192px 0;
363
+ }
364
+
365
+ /* ContextMenu - sub menu */
366
+
367
+ .jsoneditor-contextmenu ul li .selected {
368
+ background-color: #D5DDF6;
369
+ }
370
+
371
+ .jsoneditor-contextmenu ul li {
372
+ overflow: hidden;
373
+ }
374
+
375
+ .jsoneditor-contextmenu ul li ul {
376
+ display: none;
377
+ position: relative;
378
+ left: -10px;
379
+ top: 0;
380
+ border: none;
381
+ box-shadow: inset 0 0 10px rgba(128, 128, 128, 0.5);
382
+ padding: 0 10px;
383
+ /* TODO: transition is not supported on IE8-9 */
384
+ -webkit-transition: all 0.3s ease-out;
385
+ -moz-transition: all 0.3s ease-out;
386
+ -o-transition: all 0.3s ease-out;
387
+ transition: all 0.3s ease-out;
388
+ }
389
+
390
+
391
+
392
+ .jsoneditor-contextmenu ul li ul li button {
393
+ padding-left: 24px;
394
+ }
395
+
396
+ .jsoneditor-contextmenu ul li ul li button:hover,
397
+ .jsoneditor-contextmenu ul li ul li button:focus {
398
+ background-color: #f5f5f5;
399
+ }
400
+
401
+ .jsoneditor-contextmenu button.type-string > .icon {
402
+ background-position: -144px -24px;
403
+ }
404
+
405
+ .jsoneditor-contextmenu button.type-string:hover > .icon,
406
+ .jsoneditor-contextmenu button.type-string:focus > .icon,
407
+ .jsoneditor-contextmenu button.type-string.selected > .icon {
408
+ background-position: -144px 0;
409
+ }
410
+
411
+ .jsoneditor-contextmenu button.type-auto > .icon {
412
+ background-position: -120px -24px;
413
+ }
414
+
415
+ .jsoneditor-contextmenu button.type-auto:hover > .icon,
416
+ .jsoneditor-contextmenu button.type-auto:focus > .icon,
417
+ .jsoneditor-contextmenu button.type-auto.selected > .icon {
418
+ background-position: -120px 0;
419
+ }
420
+
421
+ .jsoneditor-contextmenu button.type-object > .icon {
422
+ background-position: -72px -24px;
423
+ }
424
+
425
+ .jsoneditor-contextmenu button.type-object:hover > .icon,
426
+ .jsoneditor-contextmenu button.type-object:focus > .icon,
427
+ .jsoneditor-contextmenu button.type-object.selected > .icon {
428
+ background-position: -72px 0;
429
+ }
430
+
431
+ .jsoneditor-contextmenu button.type-array > .icon {
432
+ background-position: -96px -24px;
433
+ }
434
+
435
+ .jsoneditor-contextmenu button.type-array:hover > .icon,
436
+ .jsoneditor-contextmenu button.type-array:focus > .icon,
437
+ .jsoneditor-contextmenu button.type-array.selected > .icon {
438
+ background-position: -96px 0;
439
+ }
440
+
441
+ .jsoneditor-contextmenu button.type-modes > .icon {
442
+ background-image: none;
443
+ width: 6px;
444
+ }
445
+ .jsoneditor .menu {
446
+ width: 100%;
447
+ height: 35px;
448
+ padding: 2px;
449
+ margin: 0;
450
+ overflow: hidden;
451
+ -moz-box-sizing: border-box;
452
+ -webkit-box-sizing: border-box;
453
+ box-sizing: border-box;
454
+ color: #1A1A1A;
455
+ background-color: #D5DDF6;
456
+ border-bottom: 1px solid #97B0F8;
457
+ }
458
+
459
+ .jsoneditor .menu button {
460
+ width: 26px;
461
+ height: 26px;
462
+ margin: 2px;
463
+ padding: 0;
464
+ border-radius: 2px;
465
+ border: 1px solid #aec0f8;
466
+ background: #e3eaf6 image-url("img/jsoneditor-icons.png");
467
+ color: #4D4D4D;
468
+ opacity: 0.8;
469
+ font-family: arial, sans-serif;
470
+ font-size: 10pt;
471
+ float: left;
472
+ }
473
+
474
+ .jsoneditor .menu button:hover {
475
+ background-color: #f0f2f5;
476
+ }
477
+
478
+ .jsoneditor .menu button:active {
479
+ background-color: #ffffff;
480
+ }
481
+
482
+ .jsoneditor .menu button:disabled {
483
+ background-color: #e3eaf6;
484
+ }
485
+
486
+ .jsoneditor .menu button.collapse-all {
487
+ background-position: 0 -96px;
488
+ }
489
+
490
+ .jsoneditor .menu button.expand-all {
491
+ background-position: 0 -120px;
492
+ }
493
+
494
+ .jsoneditor .menu button.undo {
495
+ background-position: -24px -96px;
496
+ }
497
+
498
+ .jsoneditor .menu button.undo:disabled {
499
+ background-position: -24px -120px;
500
+ }
501
+
502
+ .jsoneditor .menu button.redo {
503
+ background-position: -48px -96px;
504
+ }
505
+
506
+ .jsoneditor .menu button.redo:disabled {
507
+ background-position: -48px -120px;
508
+ }
509
+
510
+ .jsoneditor .menu button.compact {
511
+ background-position: -72px -96px;
512
+ }
513
+
514
+ .jsoneditor .menu button.format {
515
+ background-position: -72px -120px;
516
+ }
517
+
518
+ .jsoneditor .menu button.modes {
519
+ background-image: none;
520
+ width: auto;
521
+ padding-left: 6px;
522
+ padding-right: 6px;
523
+ }
524
+
525
+ .jsoneditor .menu button.separator {
526
+ margin-left: 10px;
527
+ }
528
+
529
+ .jsoneditor .menu a {
530
+ font-family: arial, sans-serif;
531
+ font-size: 10pt;
532
+ color: #97B0F8;
533
+ vertical-align: middle;
534
+ }
535
+
536
+ .jsoneditor .menu a:hover {
537
+ color: red;
538
+ }
539
+
540
+ .jsoneditor .menu a.poweredBy {
541
+ font-size: 8pt;
542
+ position: absolute;
543
+ right: 0;
544
+ top: 0;
545
+ padding: 10px;
546
+ }
547
+
548
+ /* TODO: css for button:disabled is not supported by IE8 */
549
+ .jsoneditor .search input,
550
+ .jsoneditor .search .results {
551
+ font-family: arial, sans-serif;
552
+ font-size: 10pt;
553
+ color: #1A1A1A;
554
+ }
555
+
556
+ .jsoneditor .search {
557
+ position: absolute;
558
+ right: 2px;
559
+ top: 2px;
560
+ }
561
+
562
+ .jsoneditor .search .frame {
563
+ border: 1px solid #97B0F8;
564
+ background-color: white;
565
+ padding: 0 2px;
566
+ margin: 0;
567
+ }
568
+
569
+ .jsoneditor .search .frame table {
570
+ border-collapse: collapse;
571
+ }
572
+
573
+ .jsoneditor .search input {
574
+ width: 120px;
575
+ border: none;
576
+ outline: none;
577
+ margin: 1px;
578
+ }
579
+
580
+ .jsoneditor .search .results {
581
+ color: #4d4d4d;
582
+ padding-right: 5px;
583
+ line-height: 24px;
584
+ }
585
+
586
+ .jsoneditor .search button {
587
+ width: 16px;
588
+ height: 24px;
589
+ padding: 0;
590
+ margin: 0;
591
+ border: none;
592
+ background: image-url("img/jsoneditor-icons.png");
593
+ vertical-align: top;
594
+ }
595
+
596
+ .jsoneditor .search button:hover {
597
+ background-color: transparent;
598
+ }
599
+
600
+ .jsoneditor .search button.refresh {
601
+ width: 18px;
602
+ background-position: -99px -73px;
603
+ }
604
+
605
+ .jsoneditor .search button.next {
606
+ cursor: pointer;
607
+ background-position: -124px -73px;
608
+ }
609
+
610
+ .jsoneditor .search button.next:hover {
611
+ background-position: -124px -49px;
612
+ }
613
+
614
+ .jsoneditor .search button.previous {
615
+ cursor: pointer;
616
+ background-position: -148px -73px;
617
+ margin-right: 2px;
618
+ }
619
+
620
+ .jsoneditor .search button.previous:hover {
621
+ background-position: -148px -49px;
622
+ }