From 7009aa50ed79f060b378fa06e6379dc3663a9dc3 Mon Sep 17 00:00:00 2001 From: b1rdhous3 Date: Tue, 30 Aug 2016 23:49:21 +0200 Subject: [PATCH 1/5] New JSON Editor --- assets/webconfig/generalconf.html | 35 +- assets/webconfig/index.html | 15 +- assets/webconfig/js/lib/jsoneditor.min.js | 859 ++++++++++++++++++ assets/webconfig/js/lib/jsoneditor.min.js.map | 1 + libsrc/hyperion/hyperion.schema.json | 1 + 5 files changed, 902 insertions(+), 9 deletions(-) create mode 100644 assets/webconfig/js/lib/jsoneditor.min.js create mode 100644 assets/webconfig/js/lib/jsoneditor.min.js.map diff --git a/assets/webconfig/generalconf.html b/assets/webconfig/generalconf.html index c1ebc822..ce412e67 100644 --- a/assets/webconfig/generalconf.html +++ b/assets/webconfig/generalconf.html @@ -7,7 +7,9 @@
-
+ +
+
@@ -38,8 +40,35 @@ udpListener = JSON.parse(response.data).result.properties.udpListener; webConfig = JSON.parse(response.data).result.properties.webConfig; + var element = document.getElementById('editor_holder'); + //JSONEditor.defaults.options.theme = 'bootstrap3'; + var editor = new JSONEditor(element,{ + theme: 'bootstrap3', + disable_collapse: 'true', + form_name_root: 'sa', + disable_edit_json: 'true', + disable_properties: 'true', + no_additional_properties: 'true', + schema: { + title:' ', + properties: { + logger, + jsonServer, + protoServer, + boblightServer, + udpListener, + webConfig + } + } + }); - $('form').jsonForm({ + document.getElementById('submit').addEventListener('click',function() { + // Get the value from the editor + console.log(editor.getValue()); + }); + + + /*$('form').jsonForm({ schema: { logger, jsonServer, @@ -57,7 +86,7 @@ console.log(values); } } - }); + });*/ diff --git a/assets/webconfig/index.html b/assets/webconfig/index.html index 6274caa6..65fbe1a8 100644 --- a/assets/webconfig/index.html +++ b/assets/webconfig/index.html @@ -28,6 +28,9 @@ + + + @@ -451,7 +454,7 @@ $("#load_effects").on("click", function() { $("#page-wrapper").load("effects.html"); }); - + $("#load_components").on("click", function() { $("#page-wrapper").load("remote_components.html"); }); @@ -484,7 +487,7 @@ var cleanCurrentVersion; var latestVersion; var cleanLatestVersion; - + webSocket = new WebSocket('ws://'+document.location.hostname+':19444'); var serverInfo; @@ -501,12 +504,12 @@ responseJSON = JSON.parse(response.data ); currentVersion = responseJSON.info.hyperion[0].version; cleanCurrentVersion = currentVersion.replace(/\./g, ''); - + $.get( "https://raw.githubusercontent.com/hyperion-project/hyperion.ng/master/version.json", function( data ) { var responseJSON = JSON.parse(data); latestVersion = responseJSON[0].versionnr; cleanLatestVersion = latestVersion.replace(/\./g, ''); - + $('#currentversion').append(' V'+currentVersion); $('#latestversion').append(' V'+latestVersion); @@ -517,9 +520,9 @@ $('#versioninforesult').append('
You run the latest version of Hyperion.
'); } }); - + }; - + }); $(function(){ var sidebar = $('#side-menu'); // cache sidebar to a variable for performance diff --git a/assets/webconfig/js/lib/jsoneditor.min.js b/assets/webconfig/js/lib/jsoneditor.min.js new file mode 100644 index 00000000..e396783b --- /dev/null +++ b/assets/webconfig/js/lib/jsoneditor.min.js @@ -0,0 +1,859 @@ +/*! JSON Editor v0.7.28 - JSON Schema -> HTML Editor + * By Jeremy Dorn - https://github.com/jdorn/json-editor/ + * Released under the MIT license + * + * Date: 2016-08-07 + */ +/** + * See README.md for requirements and usage info + */ +!function(){/*jshint loopfunc: true */ +/* Simple JavaScript Inheritance + * By John Resig http://ejohn.org/ + * MIT Licensed. + */ +// Inspired by base2 and Prototype +var a;!function(){var b=!1,c=/xyz/.test(function(){window.postMessage("xyz")})?/\b_super\b/:/.*/; +// The base Class implementation (does nothing) +// Create a new Class that inherits from this class +return a=function(){},a.extend=function d(a){ +// The dummy class constructor +function e(){ +// All construction is actually done in the init method +!b&&this.init&&this.init.apply(this,arguments)}var f=this.prototype; +// Instantiate a base class (but only create the instance, +// don't run the init constructor) +b=!0;var g=new this;b=!1; +// Copy the properties over onto the new prototype +for(var h in a) +// Check if we're overwriting an existing function +g[h]="function"==typeof a[h]&&"function"==typeof f[h]&&c.test(a[h])?function(a,b){return function(){var c=this._super; +// Add a new ._super() method that is the same method +// but on the super-class +this._super=f[a]; +// The method only need to be bound temporarily, so we +// remove it when we're done executing +var d=b.apply(this,arguments);return this._super=c,d}}(h,a[h]):a[h]; +// Populate our constructed prototype object +// Enforce the constructor to be what we expect +// And make this class extendable +return e.prototype=g,e.prototype.constructor=e,e.extend=d,e},a}(), +// CustomEvent constructor polyfill +// From MDN +function(){function a(a,b){b=b||{bubbles:!1,cancelable:!1,detail:void 0};var c=document.createEvent("CustomEvent");return c.initCustomEvent(a,b.bubbles,b.cancelable,b.detail),c}a.prototype=window.Event.prototype,window.CustomEvent=a}(), +// requestAnimationFrame polyfill by Erik Möller. fixes from Paul Irish and Tino Zijdel +// MIT license +function(){for(var a=0,b=["ms","moz","webkit","o"],c=0;c0&&a.length-1 in a){for(c=0;c=g&&!h&&(h=!0,b())})}},d.send()}}),g||b()},expandRefs:function(a){for(a=c({},a);a.$ref;){var b=a.$ref;delete a.$ref,this.refs[b]||(b=decodeURIComponent(b)),a=this.extendSchemas(a,this.refs[b])}return a},expandSchema:function(a){var b,e=this,f=c({},a); +// allOf schemas should be merged into the parent +if( +// Version 3 `type` +"object"==typeof a.type&&( +// Array of types +Array.isArray(a.type)?d(a.type,function(b,c){ +// Schema +"object"==typeof c&&(a.type[b]=e.expandSchema(c))}):a.type=e.expandSchema(a.type)), +// Version 3 `disallow` +"object"==typeof a.disallow&&( +// Array of types +Array.isArray(a.disallow)?d(a.disallow,function(b,c){ +// Schema +"object"==typeof c&&(a.disallow[b]=e.expandSchema(c))}):a.disallow=e.expandSchema(a.disallow)), +// Version 4 `anyOf` +a.anyOf&&d(a.anyOf,function(b,c){a.anyOf[b]=e.expandSchema(c)}), +// Version 4 `dependencies` (schema dependencies) +a.dependencies&&d(a.dependencies,function(b,c){"object"!=typeof c||Array.isArray(c)||(a.dependencies[b]=e.expandSchema(c))}), +// Version 4 `not` +a.not&&(a.not=this.expandSchema(a.not)),a.allOf){for(b=0;ba.minimum:b>=a.minimum, +// Use math.js is available +window.math?g=window.math[a.exclusiveMinimum?"larger":"largerEq"](window.math.bignumber(b),window.math.bignumber(a.minimum)):window.Decimal&&(g=new window.Decimal(b)[a.exclusiveMinimum?"gt":"gte"](new window.Decimal(a.minimum))),g||k.push({path:e,property:"minimum",message:this.translate(a.exclusiveMinimum?"error_minimum_excl":"error_minimum_incl",[a.minimum])}))}else if("string"==typeof b) +// `maxLength` +a.maxLength&&(b+"").length>a.maxLength&&k.push({path:e,property:"maxLength",message:this.translate("error_maxLength",[a.maxLength])}), +// `minLength` +a.minLength&&(b+"").lengtha.maxItems&&k.push({path:e,property:"maxItems",message:this.translate("error_maxItems",[a.maxItems])}), +// `minItems` +a.minItems&&b.lengtha.maxProperties&&k.push({path:e,property:"maxProperties",message:this.translate("error_maxProperties",[a.maxProperties])})} +// `minProperties` +if(a.minProperties){g=0;for(h in b)b.hasOwnProperty(h)&&g++;g=0){b=this.theme.getBlockLinkHolder(),c=this.theme.getBlockLink(),c.setAttribute("target","_blank");var i=document.createElement(e);i.setAttribute("controls","controls"),this.theme.createMediaLink(b,c,i), +// When a watched field changes, update the url +this.link_watchers.push(function(b){var d=f(b);c.setAttribute("href",d),c.textContent=a.rel||d,i.setAttribute("src",d)})}else c=b=this.theme.getBlockLink(),b.setAttribute("target","_blank"),b.textContent=a.rel, +// When a watched field changes, update the url +this.link_watchers.push(function(c){var d=f(c);b.setAttribute("href",d),b.textContent=a.rel||d});return g&&c&&(g===!0?c.setAttribute("download",""):this.link_watchers.push(function(a){c.setAttribute("download",g(a))})),a["class"]&&(c.className=c.className+" "+a["class"]),b},refreshWatchedFieldValues:function(){if(this.watched_values){var a={},b=!1,c=this;if(this.watched){var d,e;for(var f in this.watched)this.watched.hasOwnProperty(f)&&(e=c.jsoneditor.getEditor(this.watched[f]),d=e?e.getValue():null,c.watched_values[f]!==d&&(b=!0),a[f]=d)}return a.self=this.getValue(),this.watched_values.self!==a.self&&(b=!0),this.watched_values=a,b}},getWatchedFieldValues:function(){return this.watched_values},updateHeaderText:function(){if(this.header) +// If the header has children, only update the text node's value +if(this.header.children.length){for(var a=0;a-1:!!this.jsoneditor.options.required_by_default},getDisplayText:function(a){var b=[],c={}; +// Determine how many times each attribute name is used. +// This helps us pick the most distinct display text for the schemas. +d(a,function(a,b){b.title&&(c[b.title]=c[b.title]||0,c[b.title]++),b.description&&(c[b.description]=c[b.description]||0,c[b.description]++),b.format&&(c[b.format]=c[b.format]||0,c[b.format]++),b.type&&(c[b.type]=c[b.type]||0,c[b.type]++)}), +// Determine display text for each element of the array +d(a,function(a,d){var e; +// If it's a simple string +e="string"==typeof d?d:d.title&&c[d.title]<=1?d.title:d.format&&c[d.format]<=1?d.format:d.type&&c[d.type]<=1?d.type:d.description&&c[d.description]<=1?d.descripton:d.title?d.title:d.format?d.format:d.type?d.type:d.description?d.description:JSON.stringify(d).length<50?JSON.stringify(d):"type",b.push(e)}); +// Replace identical display text with "text 1", "text 2", etc. +var e={};return d(b,function(a,d){e[d]=e[d]||0,e[d]++,c[d]>1&&(b[a]=d+" "+e[d])}),b},getOption:function(a){try{throw"getOption is deprecated"}catch(b){window.console.error(b)}return this.options[a]},showValidationErrors:function(a){}}),f.defaults.editors["null"]=f.AbstractEditor.extend({getValue:function(){return null},setValue:function(){this.onChange()},getNumColumns:function(){return 2}}),f.defaults.editors.string=f.AbstractEditor.extend({register:function(){this._super(),this.input&&this.input.setAttribute("name",this.formname)},unregister:function(){this._super(),this.input&&this.input.removeAttribute("name")},setValue:function(a,b,c){if((!this.template||c)&&(null===a||"undefined"==typeof a?a="":"object"==typeof a?a=JSON.stringify(a):"string"!=typeof a&&(a=""+a),a!==this.serialized)){ +// Sanitize value before setting it +var d=this.sanitize(a);if(this.input.value!==d){this.input.value=d, +// If using SCEditor, update the WYSIWYG +this.sceditor_instance?this.sceditor_instance.val(d):this.epiceditor?this.epiceditor.importFile(null,d):this.ace_editor&&this.ace_editor.setValue(d);var e=c||this.getValue()!==a;this.refreshValue(),b?this.is_dirty=!1:"change"===this.jsoneditor.options.show_errors&&(this.is_dirty=!0),this.adjust_height&&this.adjust_height(this.input), +// Bubble this setValue to parents if the value changed +this.onChange(e)}}},getNumColumns:function(){var a,b=Math.ceil(Math.max(this.getTitle().length,this.schema.maxLength||0,this.schema.minLength||0)/5);return a="textarea"===this.input_type?6:["text","email"].indexOf(this.input_type)>=0?4:2,Math.min(12,Math.max(b,a))},build:function(){var a=this; +// Specific format +if(this.options.compact||(this.header=this.label=this.theme.getFormInputLabel(this.getTitle())),this.schema.description&&(this.description=this.theme.getFormInputDescription(this.schema.description)),this.format=this.schema.format,!this.format&&this.schema.media&&this.schema.media.type&&(this.format=this.schema.media.type.replace(/(^(application|text)\/(x-)?(script\.)?)|(-source$)/g,"")),!this.format&&this.options.default_format&&(this.format=this.options.default_format),this.options.format&&(this.format=this.options.format),this.format) +// Text Area +if("textarea"===this.format)this.input_type="textarea",this.input=this.theme.getTextareaInput();else if("range"===this.format){this.input_type="range";var b=this.schema.minimum||0,c=this.schema.maximum||Math.max(100,b+1),d=1;this.schema.multipleOf&&(b%this.schema.multipleOf&&(b=Math.ceil(b/this.schema.multipleOf)*this.schema.multipleOf),c%this.schema.multipleOf&&(c=Math.floor(c/this.schema.multipleOf)*this.schema.multipleOf),d=this.schema.multipleOf),this.input=this.theme.getRangeInput(b,c,d)}else["actionscript","batchfile","bbcode","c","c++","cpp","coffee","csharp","css","dart","django","ejs","erlang","golang","groovy","handlebars","haskell","haxe","html","ini","jade","java","javascript","json","less","lisp","lua","makefile","markdown","matlab","mysql","objectivec","pascal","perl","pgsql","php","python","r","ruby","sass","scala","scss","smarty","sql","stylus","svg","twig","vbscript","xml","yaml"].indexOf(this.format)>=0?(this.input_type=this.format,this.source_code=!0,this.input=this.theme.getTextareaInput()):(this.input_type=this.format,this.input=this.theme.getFormInputField(this.input_type));else this.input_type="text",this.input=this.theme.getFormInputField(this.input_type); +// minLength, maxLength, and pattern +"undefined"!=typeof this.schema.maxLength&&this.input.setAttribute("maxlength",this.schema.maxLength),"undefined"!=typeof this.schema.pattern?this.input.setAttribute("pattern",this.schema.pattern):"undefined"!=typeof this.schema.minLength&&this.input.setAttribute("pattern",".{"+this.schema.minLength+",}"),this.options.compact?this.container.className+=" compact":this.options.input_width&&(this.input.style.width=this.options.input_width),(this.schema.readOnly||this.schema.readonly||this.schema.template)&&(this.always_disabled=!0,this.input.disabled=!0),this.input.addEventListener("change",function(b){ +// Don't allow changing if this field is a template +if(b.preventDefault(),b.stopPropagation(),a.schema.template)return void(this.value=a.value);var c=this.value,d=a.sanitize(c);c!==d&&(this.value=d),a.is_dirty=!0,a.refreshValue(),a.onChange(!0)}),this.options.input_height&&(this.input.style.height=this.options.input_height),this.options.expand_height&&(this.adjust_height=function(a){if(a){var b,c=a.offsetHeight; +// Input too short +if(a.offsetHeight100);)b++,c++,a.style.height=c+"px";else{for(b=0;a.offsetHeight>=a.scrollHeight+3&&!(b>100);)b++,c--,a.style.height=c+"px";a.style.height=c+1+"px"}}},this.input.addEventListener("keyup",function(b){a.adjust_height(this)}),this.input.addEventListener("change",function(b){a.adjust_height(this)}),this.adjust_height()),this.format&&this.input.setAttribute("data-schemaformat",this.format),this.control=this.theme.getFormControl(this.label,this.input,this.description),this.container.appendChild(this.control), +// Any special formatting that needs to happen after the input is added to the dom +window.requestAnimationFrame(function(){ +// Skip in case the input is only a temporary editor, +// otherwise, in the case of an ace_editor creation, +// it will generate an error trying to append it to the missing parentNode +a.input.parentNode&&a.afterInputReady(),a.adjust_height&&a.adjust_height(a.input)}), +// Compile and store the template +this.schema.template?(this.template=this.jsoneditor.compileTemplate(this.schema.template,this.template_engine),this.refreshValue()):this.refreshValue()},enable:function(){this.always_disabled||(this.input.disabled=!1),this._super()},disable:function(){this.input.disabled=!0, +// TODO: WYSIWYG and Markdown editors +this._super()},afterInputReady:function(){var a,b=this; +// Code editor +if(this.source_code) +// WYSIWYG html and bbcode editor +if(this.options.wysiwyg&&["html","bbcode"].indexOf(this.input_type)>=0&&window.jQuery&&window.jQuery.fn&&window.jQuery.fn.sceditor)a=c({},{plugins:"html"===b.input_type?"xhtml":"bbcode",emoticonsEnabled:!1,width:"100%",height:300},f.plugins.sceditor,b.options.sceditor_options||{}),window.jQuery(b.input).sceditor(a),b.sceditor_instance=window.jQuery(b.input).sceditor("instance"),b.sceditor_instance.blur(function(){ +// Get editor's value +var a=window.jQuery("
"+b.sceditor_instance.val()+"
"); +// Remove sceditor spans/divs +window.jQuery("#sceditor-start-marker,#sceditor-end-marker,.sceditor-nlf",a).remove(), +// Set the value and update +b.input.value=a.html(),b.value=b.input.value,b.is_dirty=!0,b.onChange(!0)});else if("markdown"===this.input_type&&window.EpicEditor)this.epiceditor_container=document.createElement("div"),this.input.parentNode.insertBefore(this.epiceditor_container,this.input),this.input.style.display="none",a=c({},f.plugins.epiceditor,{container:this.epiceditor_container,clientSideStorage:!1}),this.epiceditor=new window.EpicEditor(a).load(),this.epiceditor.importFile(null,this.getValue()),this.epiceditor.on("update",function(){var a=b.epiceditor.exportFile();b.input.value=a,b.value=a,b.is_dirty=!0,b.onChange(!0)});else if(window.ace){var d=this.input_type; +// aliases for c/cpp +"cpp"!==d&&"c++"!==d&&"c"!==d||(d="c_cpp"),this.ace_container=document.createElement("div"),this.ace_container.style.width="100%",this.ace_container.style.position="relative",this.ace_container.style.height="400px",this.input.parentNode.insertBefore(this.ace_container,this.input),this.input.style.display="none",this.ace_editor=window.ace.edit(this.ace_container),this.ace_editor.setValue(this.getValue()), +// The theme +f.plugins.ace.theme&&this.ace_editor.setTheme("ace/theme/"+f.plugins.ace.theme), +// The mode +d=window.ace.require("ace/mode/"+d),d&&this.ace_editor.getSession().setMode(new d.Mode), +// Listen for changes +this.ace_editor.on("change",function(){var a=b.ace_editor.getValue();b.input.value=a,b.refreshValue(),b.is_dirty=!0,b.onChange(!0)})}b.theme.afterInputReady(b.input)},refreshValue:function(){this.value=this.input.value,"string"!=typeof this.value&&(this.value=""),this.serialized=this.value},destroy:function(){ +// If using SCEditor, destroy the editor instance +this.sceditor_instance?this.sceditor_instance.destroy():this.epiceditor?this.epiceditor.unload():this.ace_editor&&this.ace_editor.destroy(),this.template=null,this.input&&this.input.parentNode&&this.input.parentNode.removeChild(this.input),this.label&&this.label.parentNode&&this.label.parentNode.removeChild(this.label),this.description&&this.description.parentNode&&this.description.parentNode.removeChild(this.description),this._super()},/** + * This is overridden in derivative editors + */ +sanitize:function(a){return a},/** + * Re-calculates the value if needed + */ +onWatchedFieldChange:function(){var a; +// If this editor needs to be rendered by a macro template +this.template&&(a=this.getWatchedFieldValues(),this.setValue(this.template(a),!1,!0)),this._super()},showValidationErrors:function(a){var b=this;if("always"===this.jsoneditor.options.show_errors);else if(!this.is_dirty&&this.previous_error_setting===this.jsoneditor.options.show_errors)return;this.previous_error_setting=this.jsoneditor.options.show_errors;var c=[];d(a,function(a,d){d.path===b.path&&c.push(d.message)}),c.length?this.theme.addInputError(this.input,c.join(". ")+"."):this.theme.removeInputError(this.input)}}),f.defaults.editors.number=f.defaults.editors.string.extend({sanitize:function(a){return(a+"").replace(/[^0-9\.\-eE]/g,"")},getNumColumns:function(){return 2},getValue:function(){return 1*this.value}}),f.defaults.editors.integer=f.defaults.editors.number.extend({sanitize:function(a){return a+="",a.replace(/[^0-9\-]/g,"")},getNumColumns:function(){return 2}}),f.defaults.editors.object=f.AbstractEditor.extend({getDefault:function(){return c({},this.schema["default"]||{})},getChildEditors:function(){return this.editors},register:function(){if(this._super(),this.editors)for(var a in this.editors)this.editors.hasOwnProperty(a)&&this.editors[a].register()},unregister:function(){if(this._super(),this.editors)for(var a in this.editors)this.editors.hasOwnProperty(a)&&this.editors[a].unregister()},getNumColumns:function(){return Math.max(Math.min(12,this.maxwidth),3)},enable:function(){if(this.editjson_button&&(this.editjson_button.disabled=!1),this.addproperty_button&&(this.addproperty_button.disabled=!1),this._super(),this.editors)for(var a in this.editors)this.editors.hasOwnProperty(a)&&this.editors[a].enable()},disable:function(){if(this.editjson_button&&(this.editjson_button.disabled=!0),this.addproperty_button&&(this.addproperty_button.disabled=!0),this.hideEditJSON(),this._super(),this.editors)for(var a in this.editors)this.editors.hasOwnProperty(a)&&this.editors[a].disable()},layoutEditors:function(){var a,b,c=this;if(this.row_container){ +// Sort editors by propertyOrder +this.property_order=Object.keys(this.editors),this.property_order=this.property_order.sort(function(a,b){var d=c.editors[a].schema.propertyOrder,e=c.editors[b].schema.propertyOrder;return"number"!=typeof d&&(d=1e3),"number"!=typeof e&&(e=1e3),d-e});var e;if("grid"===this.format){var f=[]; +// Make almost full rows width 12 +// Do this by increasing all editors' sizes proprotionately +// Any left over space goes to the biggest editor +// Don't touch rows with a width of 6 or less +for(d(this.property_order,function(a,b){var d=c.editors[b];if(!d.property_removed){ +// See if the editor will fit in any of the existing rows first +for(var e=!1,g=d.options.hidden?0:d.options.grid_columns||d.getNumColumns(),h=d.options.hidden?0:d.container.offsetHeight,i=0;ih)&&(e=i); +// If there isn't a spot in any of the existing rows, start a new row +e===!1&&(f.push({width:0,minh:999999,maxh:0,editors:[]}),e=f.length-1),f[e].editors.push({key:b, +//editor: editor, +width:g,height:h}),f[e].width+=g,f[e].minh=Math.min(f[e].minh,h),f[e].maxh=Math.max(f[e].maxh,h)}}),a=0;af[a].editors[g].width&&(g=b),f[a].editors[b].width*=12/f[a].width,f[a].editors[b].width=Math.floor(f[a].editors[b].width),h+=f[a].editors[b].width;h<12&&(f[a].editors[g].width+=12-h),f[a].width=12} +// layout hasn't changed +if(this.layout===JSON.stringify(f))return!1;for(this.layout=JSON.stringify(f), +// Layout the form +e=document.createElement("div"),a=0;a=this.schema.maxProperties),this.addproperty_checkboxes&&(this.addproperty_list.innerHTML=""),this.addproperty_checkboxes={}; +// Check for which editors can't be removed or added back +for(a in this.cached_editors)this.cached_editors.hasOwnProperty(a)&&(this.addPropertyCheckbox(a),this.isRequired(this.cached_editors[a])&&a in this.editors&&(this.addproperty_checkboxes[a].disabled=!0),"undefined"!=typeof this.schema.minProperties&&d<=this.schema.minProperties?(this.addproperty_checkboxes[a].disabled=this.addproperty_checkboxes[a].checked,this.addproperty_checkboxes[a].checked||(e=!0)):a in this.editors?(e=!0,c=!0):b||this.schema.properties.hasOwnProperty(a)?(this.addproperty_checkboxes[a].disabled=!1,e=!0):this.addproperty_checkboxes[a].disabled=!0);this.canHaveAdditionalProperties()&&(e=!0); +// Additional addproperty checkboxes not tied to a current editor +for(a in this.schema.properties)this.schema.properties.hasOwnProperty(a)&&(this.cached_editors[a]||(e=!0,this.addPropertyCheckbox(a))); +// If no editors can be added or removed, hide the modal button +e?this.canHaveAdditionalProperties()?b?this.addproperty_add.disabled=!1:this.addproperty_add.disabled=!0:(this.addproperty_add.style.display="none",this.addproperty_input.style.display="none"):(this.hideAddProperty(),this.addproperty_controls.style.display="none")},isRequired:function(a){return"boolean"==typeof a.schema.required?a.schema.required:Array.isArray(this.schema.required)?this.schema.required.indexOf(a.key)>-1:!!this.jsoneditor.options.required_by_default},setValue:function(a,b){var c=this;a=a||{},("object"!=typeof a||Array.isArray(a))&&(a={}), +// First, set the values for all of the defined properties +d(this.cached_editors,function(d,e){ +// Value explicitly set +"undefined"!=typeof a[d]?(c.addObjectProperty(d),e.setValue(a[d],b)):b||c.isRequired(e)?e.setValue(e.getDefault(),b):c.removeObjectProperty(d)}),d(a,function(a,d){c.cached_editors[a]||(c.addObjectProperty(a),c.editors[a]&&c.editors[a].setValue(d,b))}),this.refreshValue(),this.layoutEditors(),this.onChange()},showValidationErrors:function(a){var b=this,c=[],e=[]; +// Show errors for this editor +if(d(a,function(a,d){d.path===b.path?c.push(d):e.push(d)}),this.error_holder)if(c.length){this.error_holder.innerHTML="",this.error_holder.style.display="",d(c,function(a,c){b.error_holder.appendChild(b.theme.getErrorMessage(c.message))})}else this.error_holder.style.display="none"; +// Show error for the table row if this is inside a table +this.options.table_row&&(c.length?this.theme.addTableRowError(this.container):this.theme.removeTableRowError(this.container)), +// Show errors for child editors +d(this.editors,function(a,b){b.showValidationErrors(e)})}}),f.defaults.editors.array=f.AbstractEditor.extend({getDefault:function(){return this.schema["default"]||[]},register:function(){if(this._super(),this.rows)for(var a=0;a=this.schema.items.length?this.schema.additionalItems===!0?{}:this.schema.additionalItems?c({},this.schema.additionalItems):void 0:c({},this.schema.items[a]):this.schema.items?c({},this.schema.items):{}},getItemInfo:function(a){var b=this.getItemSchema(a); +// Check if it's cached +this.item_info=this.item_info||{};var c=JSON.stringify(b); +// Get the schema for this item +return"undefined"!=typeof this.item_info[c]?this.item_info[c]:(b=this.jsoneditor.expandRefs(b),this.item_info[c]={title:b.title||"item","default":b["default"],width:12,child_editors:b.properties||b.items},this.item_info[c])},getElementEditor:function(a){var b=this.getItemInfo(a),c=this.getItemSchema(a);c=this.jsoneditor.expandRefs(c),c.title=b.title+" "+(a+1);var d,e=this.jsoneditor.getEditorClass(c);d=this.tabs_holder?this.theme.getTabContent():b.child_editors?this.theme.getChildEditorHolder():this.theme.getIndentedPanel(),this.row_holder.appendChild(d);var f=this.jsoneditor.createEditor(e,{jsoneditor:this.jsoneditor,schema:c,container:d,path:this.path+"."+a,parent:this,required:!0});return f.preBuild(),f.build(),f.postBuild(),f.title_controls||(f.array_controls=this.theme.getButtonHolder(),d.appendChild(f.array_controls)),f},destroy:function(){this.empty(!0),this.title&&this.title.parentNode&&this.title.parentNode.removeChild(this.title),this.description&&this.description.parentNode&&this.description.parentNode.removeChild(this.description),this.row_holder&&this.row_holder.parentNode&&this.row_holder.parentNode.removeChild(this.row_holder),this.controls&&this.controls.parentNode&&this.controls.parentNode.removeChild(this.controls),this.panel&&this.panel.parentNode&&this.panel.parentNode.removeChild(this.panel),this.rows=this.row_cache=this.title=this.description=this.row_holder=this.panel=this.controls=null,this._super()},empty:function(a){if(this.rows){var b=this;d(this.rows,function(c,d){a&&(d.tab&&d.tab.parentNode&&d.tab.parentNode.removeChild(d.tab),b.destroyRow(d,!0),b.row_cache[c]=null),b.rows[c]=null}),b.rows=[],a&&(b.row_cache=[])}},destroyRow:function(a,b){var c=a.container;b?(a.destroy(),c.parentNode&&c.parentNode.removeChild(c),a.tab&&a.tab.parentNode&&a.tab.parentNode.removeChild(a.tab)):(a.tab&&(a.tab.style.display="none"),c.style.display="none",a.unregister())},getMax:function(){return Array.isArray(this.schema.items)&&this.schema.additionalItems===!1?Math.min(this.schema.items.length,this.schema.maxItems||1/0):this.schema.maxItems||1/0},refreshTabs:function(a){var b=this;d(this.rows,function(c,d){d.tab&&(a?d.tab_text.textContent=d.getHeaderText():d.tab===b.active_tab?(b.theme.markTabActive(d.tab),d.container.style.display=""):(b.theme.markTabInactive(d.tab),d.container.style.display="none"))})},setValue:function(a,b){ +// Update the array's value, adding/removing rows when necessary +a=a||[],Array.isArray(a)||(a=[a]);var c=JSON.stringify(a);if(c!==this.serialized){ +// Make sure value has between minItems and maxItems items in it +if(this.schema.minItems)for(;a.lengththis.getMax()&&(a=a.slice(0,this.getMax()));var e=this;d(a,function(a,c){e.rows[a]? +// TODO: don't set the row's value if it hasn't changed +e.rows[a].setValue(c,b):e.row_cache[a]?(e.rows[a]=e.row_cache[a],e.rows[a].setValue(c,b),e.rows[a].container.style.display="",e.rows[a].tab&&(e.rows[a].tab.style.display=""),e.rows[a].register()):e.addRow(c,b)});for(var f=a.length;f=this.rows.length;d(this.rows,function(a,c){ +// Hide the move down button for the last row +c.movedown_button&&(a===b.rows.length-1?c.movedown_button.style.display="none":c.movedown_button.style.display=""), +// Hide the delete button if we have minItems items +c.delete_button&&(e?c.delete_button.style.display="none":c.delete_button.style.display=""), +// Get the value for this editor +b.value[a]=c.getValue()});var f=!1;this.value.length?1===this.value.length?(this.remove_all_rows_button.style.display="none", +// If there are minItems items in the array, or configured to hide the delete_last_row button, hide the delete button beneath the rows +e||this.hide_delete_last_row_buttons?this.delete_last_row_button.style.display="none":(this.delete_last_row_button.style.display="",f=!0)):(e||this.hide_delete_last_row_buttons?this.delete_last_row_button.style.display="none":(this.delete_last_row_button.style.display="",f=!0),e||this.hide_delete_all_rows_buttons?this.remove_all_rows_button.style.display="none":(this.remove_all_rows_button.style.display="",f=!0)):(this.delete_last_row_button.style.display="none",this.remove_all_rows_button.style.display="none"), +// If there are maxItems in the array, hide the add button beneath the rows +this.getMax()&&this.getMax()<=this.rows.length||this.hide_add_button?this.add_row_button.style.display="none":(this.add_row_button.style.display="",f=!0),!this.collapsed&&f?this.controls.style.display="inline-block":this.controls.style.display="none"}},addRow:function(a,b){var c=this,e=this.rows.length;c.rows[e]=this.getElementEditor(e),c.row_cache[e]=c.rows[e],c.tabs_holder&&(c.rows[e].tab_text=document.createElement("span"),c.rows[e].tab_text.textContent=c.rows[e].getHeaderText(),c.rows[e].tab=c.theme.getTab(c.rows[e].tab_text),c.rows[e].tab.addEventListener("click",function(a){c.active_tab=c.rows[e].tab,c.refreshTabs(),a.preventDefault(),a.stopPropagation()}),c.theme.addTab(c.tabs_holder,c.rows[e].tab));var f=c.rows[e].title_controls||c.rows[e].array_controls; +// Buttons to delete row, move row up, and move row down +c.hide_delete_buttons||(c.rows[e].delete_button=this.getButton(c.getItemTitle(),"delete",this.translate("button_delete_row_title",[c.getItemTitle()])),c.rows[e].delete_button.className+=" delete",c.rows[e].delete_button.setAttribute("data-i",e),c.rows[e].delete_button.addEventListener("click",function(a){a.preventDefault(),a.stopPropagation();var b=1*this.getAttribute("data-i"),e=c.getValue(),f=[],g=null;d(e,function(a,d){ +// If the one we're deleting is the active tab +// Make the next tab active if there is one +// Note: the next tab is going to be the current tab after deletion +return a===b?void(c.rows[a].tab===c.active_tab&&(c.rows[a+1]?g=c.rows[a].tab:a&&(g=c.rows[a-1].tab))):void f.push(d)}),c.setValue(f),g&&(c.active_tab=g,c.refreshTabs()),c.onChange(!0)}),f&&f.appendChild(c.rows[e].delete_button)),e&&!c.hide_move_buttons&&(c.rows[e].moveup_button=this.getButton("","moveup",this.translate("button_move_up_title")),c.rows[e].moveup_button.className+=" moveup",c.rows[e].moveup_button.setAttribute("data-i",e),c.rows[e].moveup_button.addEventListener("click",function(a){a.preventDefault(),a.stopPropagation();var b=1*this.getAttribute("data-i");if(!(b<=0)){var d=c.getValue(),e=d[b-1];d[b-1]=d[b],d[b]=e,c.setValue(d),c.active_tab=c.rows[b-1].tab,c.refreshTabs(),c.onChange(!0)}}),f&&f.appendChild(c.rows[e].moveup_button)),c.hide_move_buttons||(c.rows[e].movedown_button=this.getButton("","movedown",this.translate("button_move_down_title")),c.rows[e].movedown_button.className+=" movedown",c.rows[e].movedown_button.setAttribute("data-i",e),c.rows[e].movedown_button.addEventListener("click",function(a){a.preventDefault(),a.stopPropagation();var b=1*this.getAttribute("data-i"),d=c.getValue();if(!(b>=d.length-1)){var e=d[b+1];d[b+1]=d[b],d[b]=e,c.setValue(d),c.active_tab=c.rows[b+1].tab,c.refreshTabs(),c.onChange(!0)}}),f&&f.appendChild(c.rows[e].movedown_button)),a&&c.rows[e].setValue(a,b),c.refreshTabs()},addControls:function(){var a=this;this.collapsed=!1,this.toggle_button=this.getButton("","collapse",this.translate("button_collapse")),this.title_controls.appendChild(this.toggle_button);var b=a.row_holder.style.display,c=a.controls.style.display;this.toggle_button.addEventListener("click",function(d){d.preventDefault(),d.stopPropagation(),a.collapsed?(a.collapsed=!1,a.panel&&(a.panel.style.display=""),a.row_holder.style.display=b,a.tabs_holder&&(a.tabs_holder.style.display=""),a.controls.style.display=c,a.setButtonText(this,"","collapse",a.translate("button_collapse"))):(a.collapsed=!0,a.row_holder.style.display="none",a.tabs_holder&&(a.tabs_holder.style.display="none"),a.controls.style.display="none",a.panel&&(a.panel.style.display="none"),a.setButtonText(this,"","expand",a.translate("button_expand")))}), +// If it should start collapsed +this.options.collapsed&&e(this.toggle_button,"click"), +// Collapse button disabled +this.schema.options&&"undefined"!=typeof this.schema.options.disable_collapse?this.schema.options.disable_collapse&&(this.toggle_button.style.display="none"):this.jsoneditor.options.disable_collapse&&(this.toggle_button.style.display="none"), +// Add "new row" and "delete last" buttons below editor +this.add_row_button=this.getButton(this.getItemTitle(),"add",this.translate("button_add_row_title",[this.getItemTitle()])),this.add_row_button.addEventListener("click",function(b){b.preventDefault(),b.stopPropagation();var c=a.rows.length;a.row_cache[c]?(a.rows[c]=a.row_cache[c],a.rows[c].setValue(a.rows[c].getDefault(),!0),a.rows[c].container.style.display="",a.rows[c].tab&&(a.rows[c].tab.style.display=""),a.rows[c].register()):a.addRow(),a.active_tab=a.rows[c].tab,a.refreshTabs(),a.refreshValue(),a.onChange(!0)}),a.controls.appendChild(this.add_row_button),this.delete_last_row_button=this.getButton(this.translate("button_delete_last",[this.getItemTitle()]),"delete",this.translate("button_delete_last_title",[this.getItemTitle()])),this.delete_last_row_button.addEventListener("click",function(b){b.preventDefault(),b.stopPropagation();var c=a.getValue(),d=null;a.rows.length>1&&a.rows[a.rows.length-1].tab===a.active_tab&&(d=a.rows[a.rows.length-2].tab),c.pop(),a.setValue(c),d&&(a.active_tab=d,a.refreshTabs()),a.onChange(!0)}),a.controls.appendChild(this.delete_last_row_button),this.remove_all_rows_button=this.getButton(this.translate("button_delete_all"),"delete",this.translate("button_delete_all_title")),this.remove_all_rows_button.addEventListener("click",function(b){b.preventDefault(),b.stopPropagation(),a.setValue([]),a.onChange(!0)}),a.controls.appendChild(this.remove_all_rows_button),a.tabs&&(this.add_row_button.style.width="100%",this.add_row_button.style.textAlign="left",this.add_row_button.style.marginBottom="3px",this.delete_last_row_button.style.width="100%",this.delete_last_row_button.style.textAlign="left",this.delete_last_row_button.style.marginBottom="3px",this.remove_all_rows_button.style.width="100%",this.remove_all_rows_button.style.textAlign="left",this.remove_all_rows_button.style.marginBottom="3px")},showValidationErrors:function(a){var b=this,c=[],e=[]; +// Show errors for this editor +if(d(a,function(a,d){d.path===b.path?c.push(d):e.push(d)}),this.error_holder)if(c.length){this.error_holder.innerHTML="",this.error_holder.style.display="",d(c,function(a,c){b.error_holder.appendChild(b.theme.getErrorMessage(c.message))})}else this.error_holder.style.display="none"; +// Show errors for child editors +d(this.rows,function(a,b){b.showValidationErrors(e)})}}),f.defaults.editors.table=f.defaults.editors.array.extend({register:function(){if(this._super(),this.rows)for(var a=0;athis.schema.maxItems&&(a=a.slice(0,this.schema.maxItems));var c=JSON.stringify(a);if(c!==this.serialized){var e=!1,f=this;d(a,function(a,b){f.rows[a]? +// TODO: don't set the row's value if it hasn't changed +f.rows[a].setValue(b):(f.addRow(b),e=!0)});for(var g=a.length;g=this.rows.length,c=!1;d(this.rows,function(d,e){ +// Hide the move down button for the last row +e.movedown_button&&(d===a.rows.length-1?e.movedown_button.style.display="none":(c=!0,e.movedown_button.style.display="")), +// Hide the delete button if we have minItems items +e.delete_button&&(b?e.delete_button.style.display="none":(c=!0,e.delete_button.style.display="")),e.moveup_button&&(c=!0)}), +// Show/hide controls column in table +d(this.rows,function(a,b){c?b.controls_cell.style.display="":b.controls_cell.style.display="none"}),c?this.controls_header_cell.style.display="":this.controls_header_cell.style.display="none";var e=!1;this.value.length?1===this.value.length?(this.table.style.display="",this.remove_all_rows_button.style.display="none", +// If there are minItems items in the array, or configured to hide the delete_last_row button, hide the delete button beneath the rows +b||this.hide_delete_last_row_buttons?this.delete_last_row_button.style.display="none":(this.delete_last_row_button.style.display="",e=!0)):(this.table.style.display="",b||this.hide_delete_last_row_buttons?this.delete_last_row_button.style.display="none":(this.delete_last_row_button.style.display="",e=!0),b||this.hide_delete_all_rows_buttons?this.remove_all_rows_button.style.display="none":(this.remove_all_rows_button.style.display="",e=!0)):(this.delete_last_row_button.style.display="none",this.remove_all_rows_button.style.display="none",this.table.style.display="none"), +// If there are maxItems in the array, hide the add button beneath the rows +this.schema.maxItems&&this.schema.maxItems<=this.rows.length||this.hide_add_button?this.add_row_button.style.display="none":(this.add_row_button.style.display="",e=!0),e?this.controls.style.display="":this.controls.style.display="none"},refreshValue:function(){var a=this;this.value=[],d(this.rows,function(b,c){ +// Get the value for this editor +a.value[b]=c.getValue()}),this.serialized=JSON.stringify(this.value)},addRow:function(a){var b=this,c=this.rows.length;b.rows[c]=this.getElementEditor(c);var e=b.rows[c].table_controls; +// Buttons to delete row, move row up, and move row down +this.hide_delete_buttons||(b.rows[c].delete_button=this.getButton("","delete",this.translate("button_delete_row_title_short")),b.rows[c].delete_button.className+=" delete",b.rows[c].delete_button.setAttribute("data-i",c),b.rows[c].delete_button.addEventListener("click",function(a){a.preventDefault(),a.stopPropagation();var c=1*this.getAttribute("data-i"),e=b.getValue(),f=[];d(e,function(a,b){a!==c&&// If this is the one we're deleting +f.push(b)}),b.setValue(f),b.onChange(!0)}),e.appendChild(b.rows[c].delete_button)),c&&!this.hide_move_buttons&&(b.rows[c].moveup_button=this.getButton("","moveup",this.translate("button_move_up_title")),b.rows[c].moveup_button.className+=" moveup",b.rows[c].moveup_button.setAttribute("data-i",c),b.rows[c].moveup_button.addEventListener("click",function(a){a.preventDefault(),a.stopPropagation();var c=1*this.getAttribute("data-i");if(!(c<=0)){var d=b.getValue(),e=d[c-1];d[c-1]=d[c],d[c]=e,b.setValue(d),b.onChange(!0)}}),e.appendChild(b.rows[c].moveup_button)),this.hide_move_buttons||(b.rows[c].movedown_button=this.getButton("","movedown",this.translate("button_move_down_title")),b.rows[c].movedown_button.className+=" movedown",b.rows[c].movedown_button.setAttribute("data-i",c),b.rows[c].movedown_button.addEventListener("click",function(a){a.preventDefault(),a.stopPropagation();var c=1*this.getAttribute("data-i"),d=b.getValue();if(!(c>=d.length-1)){var e=d[c+1];d[c+1]=d[c],d[c]=e,b.setValue(d),b.onChange(!0)}}),e.appendChild(b.rows[c].movedown_button)),a&&b.rows[c].setValue(a)},addControls:function(){var a=this;this.collapsed=!1,this.toggle_button=this.getButton("","collapse",this.translate("button_collapse")),this.title_controls&&(this.title_controls.appendChild(this.toggle_button),this.toggle_button.addEventListener("click",function(b){b.preventDefault(),b.stopPropagation(),a.collapsed?(a.collapsed=!1,a.panel.style.display="",a.setButtonText(this,"","collapse",a.translate("button_collapse"))):(a.collapsed=!0,a.panel.style.display="none",a.setButtonText(this,"","expand",a.translate("button_expand")))}), +// If it should start collapsed +this.options.collapsed&&e(this.toggle_button,"click"), +// Collapse button disabled +this.schema.options&&"undefined"!=typeof this.schema.options.disable_collapse?this.schema.options.disable_collapse&&(this.toggle_button.style.display="none"):this.jsoneditor.options.disable_collapse&&(this.toggle_button.style.display="none")), +// Add "new row" and "delete last" buttons below editor +this.add_row_button=this.getButton(this.getItemTitle(),"add",this.translate("button_add_row_title",[this.getItemTitle()])),this.add_row_button.addEventListener("click",function(b){b.preventDefault(),b.stopPropagation(),a.addRow(),a.refreshValue(),a.refreshRowButtons(),a.onChange(!0)}),a.controls.appendChild(this.add_row_button),this.delete_last_row_button=this.getButton(this.translate("button_delete_last",[this.getItemTitle()]),"delete",this.translate("button_delete_last_title",[this.getItemTitle()])),this.delete_last_row_button.addEventListener("click",function(b){b.preventDefault(),b.stopPropagation();var c=a.getValue();c.pop(),a.setValue(c),a.onChange(!0)}),a.controls.appendChild(this.delete_last_row_button),this.remove_all_rows_button=this.getButton(this.translate("button_delete_all"),"delete",this.translate("button_delete_all_title")),this.remove_all_rows_button.addEventListener("click",function(b){b.preventDefault(),b.stopPropagation(),a.setValue([]),a.onChange(!0)}),a.controls.appendChild(this.remove_all_rows_button)}}), +// Multiple Editor (for when `type` is an array) +f.defaults.editors.multiple=f.AbstractEditor.extend({register:function(){if(this.editors){for(var a=0;anull";if("object"==typeof a){ +// TODO: use theme +var c="";return d(a,function(d,e){var f=b.getHTML(e); +// Add the keys to object children +Array.isArray(a)||( +// TODO: use theme +f="
"+d+": "+f+"
"), +// TODO: use theme +c+="
  • "+f+"
  • "}),c=Array.isArray(a)?"
      "+c+"
    ":"
      "+c+"
    "}return"boolean"==typeof a?a?"true":"false":"string"==typeof a?a.replace(/&/g,"&").replace(//g,">"):a},setValue:function(a){this.value!==a&&(this.value=a,this.refreshValue(),this.onChange())},destroy:function(){this.display_area&&this.display_area.parentNode&&this.display_area.parentNode.removeChild(this.display_area),this.title&&this.title.parentNode&&this.title.parentNode.removeChild(this.title),this.switcher&&this.switcher.parentNode&&this.switcher.parentNode.removeChild(this.switcher),this._super()}}),f.defaults.editors.select=f.AbstractEditor.extend({setValue:function(a,b){a=this.typecast(a||""); +// Sanitize value before setting it +var c=a;this.enum_values.indexOf(c)<0&&(c=this.enum_values[0]),this.value!==c&&(this.input.value=this.enum_options[this.enum_values.indexOf(c)],this.select2&&this.select2.select2("val",this.input.value),this.value=c,this.onChange())},register:function(){this._super(),this.input&&this.input.setAttribute("name",this.formname)},unregister:function(){this._super(),this.input&&this.input.removeAttribute("name")},getNumColumns:function(){if(!this.enum_options)return 3;for(var a=this.getTitle().length,b=0;b2||this.enum_options.length&&this.enumSource)){var a=c({},f.plugins.select2);this.schema.options&&this.schema.options.select2_options&&(a=c(a,this.schema.options.select2_options)),this.select2=window.jQuery(this.input).select2(a);var b=this;this.select2.on("select2-blur",function(){b.input.value=b.select2.select2("val"),b.onInputChange()}),this.select2.on("change",function(){b.input.value=b.select2.select2("val"),b.onInputChange()})}else this.select2=null},postBuild:function(){this._super(),this.theme.afterInputReady(this.input),this.setupSelect2()},onWatchedFieldChange:function(){var a,b; +// If this editor uses a dynamic select box +if(this.enumSource){a=this.getWatchedFieldValues();for(var c=[],d=[],e=0;e=2||this.enum_options.length&&this.enumSource)){var b=c({},f.plugins.selectize);this.schema.options&&this.schema.options.selectize_options&&(b=c(b,this.schema.options.selectize_options)),this.selectize=window.jQuery(this.input).selectize(c(b,{create:!0,onChange:function(){a.onInputChange()}}))}else this.selectize=null},postBuild:function(){this._super(),this.theme.afterInputReady(this.input),this.setupSelectize()},onWatchedFieldChange:function(){var a,b; +// If this editor uses a dynamic select box +if(this.enumSource){a=this.getWatchedFieldValues();for(var c=[],d=[],e=0;eType: "+a+", Size: "+Math.floor((this.value.length-this.value.split(",")[0].length-1)/1.33333)+" bytes","image"===a.substr(0,5)){this.preview.innerHTML+="
    ";var b=document.createElement("img");b.style.maxWidth="100%",b.style.maxHeight="100px",b.src=this.value,this.preview.appendChild(b)}}else this.preview.innerHTML="Invalid data URI"}},enable:function(){this.uploader&&(this.uploader.disabled=!1),this._super()},disable:function(){this.uploader&&(this.uploader.disabled=!0),this._super()},setValue:function(a){this.value!==a&&(this.value=a,this.input.value=this.value,this.refreshPreview(),this.onChange())},destroy:function(){this.preview&&this.preview.parentNode&&this.preview.parentNode.removeChild(this.preview),this.title&&this.title.parentNode&&this.title.parentNode.removeChild(this.title),this.input&&this.input.parentNode&&this.input.parentNode.removeChild(this.input),this.uploader&&this.uploader.parentNode&&this.uploader.parentNode.removeChild(this.uploader),this._super()}}),f.defaults.editors.upload=f.AbstractEditor.extend({getNumColumns:function(){return 4},build:function(){var a=this; +// Don't show uploader if this is readonly +if(this.title=this.header=this.label=this.theme.getFormInputLabel(this.getTitle()), +// Input that holds the base64 string +this.input=this.theme.getFormInputField("hidden"),this.container.appendChild(this.input),!this.schema.readOnly&&!this.schema.readonly){if(!this.jsoneditor.options.upload)throw"Upload handler required for upload editor"; +// File uploader +this.uploader=this.theme.getFormInputField("file"),this.uploader.addEventListener("change",function(b){if(b.preventDefault(),b.stopPropagation(),this.files&&this.files.length){var c=new FileReader;c.onload=function(b){a.preview_value=b.target.result,a.refreshPreview(),a.onChange(!0),c=null},c.readAsDataURL(this.files[0])}})}var b=this.schema.description;b||(b=""),this.preview=this.theme.getFormInputDescription(b),this.container.appendChild(this.preview),this.control=this.theme.getFormControl(this.label,this.uploader||this.input,this.preview),this.container.appendChild(this.control)},refreshPreview:function(){if(this.last_preview!==this.preview_value&&(this.last_preview=this.preview_value,this.preview.innerHTML="",this.preview_value)){var a=this,b=this.preview_value.match(/^data:([^;,]+)[;,]/);b&&(b=b[1]),b||(b="unknown");var c=this.uploader.files[0];if(this.preview.innerHTML="Type: "+b+", Size: "+c.size+" bytes","image"===b.substr(0,5)){this.preview.innerHTML+="
    ";var d=document.createElement("img");d.style.maxWidth="100%",d.style.maxHeight="100px",d.src=this.preview_value,this.preview.appendChild(d)}this.preview.innerHTML+="
    ";var e=this.getButton("Upload","upload","Upload");this.preview.appendChild(e),e.addEventListener("click",function(b){b.preventDefault(),e.setAttribute("disabled","disabled"),a.theme.removeInputError(a.uploader),a.theme.getProgressBar&&(a.progressBar=a.theme.getProgressBar(),a.preview.appendChild(a.progressBar)),a.jsoneditor.options.upload(a.path,c,{success:function(b){a.setValue(b),a.parent?a.parent.onChildEditorChange(a):a.jsoneditor.onChange(),a.progressBar&&a.preview.removeChild(a.progressBar),e.removeAttribute("disabled")},failure:function(b){a.theme.addInputError(a.uploader,b),a.progressBar&&a.preview.removeChild(a.progressBar),e.removeAttribute("disabled")},updateProgress:function(b){a.progressBar&&(b?a.theme.updateProgressBar(a.progressBar,b):a.theme.updateProgressBarUnknown(a.progressBar))}})})}},enable:function(){this.uploader&&(this.uploader.disabled=!1),this._super()},disable:function(){this.uploader&&(this.uploader.disabled=!0),this._super()},setValue:function(a){this.value!==a&&(this.value=a,this.input.value=this.value,this.onChange())},destroy:function(){this.preview&&this.preview.parentNode&&this.preview.parentNode.removeChild(this.preview),this.title&&this.title.parentNode&&this.title.parentNode.removeChild(this.title),this.input&&this.input.parentNode&&this.input.parentNode.removeChild(this.input),this.uploader&&this.uploader.parentNode&&this.uploader.parentNode.removeChild(this.uploader),this._super()}}),f.defaults.editors.checkbox=f.AbstractEditor.extend({setValue:function(a,b){this.value=!!a,this.input.checked=this.value,this.onChange()},register:function(){this._super(),this.input&&this.input.setAttribute("name",this.formname)},unregister:function(){this._super(),this.input&&this.input.removeAttribute("name")},getNumColumns:function(){return Math.min(12,Math.max(this.getTitle().length/7,2))},build:function(){var a=this;this.options.compact||(this.label=this.header=this.theme.getCheckboxLabel(this.getTitle())),this.schema.description&&(this.description=this.theme.getFormInputDescription(this.schema.description)),this.options.compact&&(this.container.className+=" compact"),this.input=this.theme.getCheckbox(),this.control=this.theme.getFormControl(this.label,this.input,this.description),(this.schema.readOnly||this.schema.readonly)&&(this.always_disabled=!0,this.input.disabled=!0),this.input.addEventListener("change",function(b){b.preventDefault(),b.stopPropagation(),a.value=this.checked,a.onChange(!0)}),this.container.appendChild(this.control)},enable:function(){this.always_disabled||(this.input.disabled=!1),this._super()},disable:function(){this.input.disabled=!0,this._super()},destroy:function(){this.label&&this.label.parentNode&&this.label.parentNode.removeChild(this.label),this.description&&this.description.parentNode&&this.description.parentNode.removeChild(this.description),this.input&&this.input.parentNode&&this.input.parentNode.removeChild(this.input),this._super()}}),f.defaults.editors.arraySelectize=f.AbstractEditor.extend({build:function(){this.title=this.theme.getFormInputLabel(this.getTitle()),this.title_controls=this.theme.getHeaderButtonHolder(),this.title.appendChild(this.title_controls),this.error_holder=document.createElement("div"),this.schema.description&&(this.description=this.theme.getDescription(this.schema.description)),this.input=document.createElement("select"),this.input.setAttribute("multiple","multiple");var a=this.theme.getFormControl(this.title,this.input,this.description);this.container.appendChild(a),this.container.appendChild(this.error_holder),window.jQuery(this.input).selectize({delimiter:!1,createOnBlur:!0,create:!0})},postBuild:function(){var a=this;this.input.selectize.on("change",function(b){a.refreshValue(),a.onChange(!0)})},destroy:function(){this.empty(!0),this.title&&this.title.parentNode&&this.title.parentNode.removeChild(this.title),this.description&&this.description.parentNode&&this.description.parentNode.removeChild(this.description),this.input&&this.input.parentNode&&this.input.parentNode.removeChild(this.input),this._super()},empty:function(a){},setValue:function(a,b){var c=this; +// Update the array's value, adding/removing rows when necessary +a=a||[],Array.isArray(a)||(a=[a]),this.input.selectize.clearOptions(),this.input.selectize.clear(!0),a.forEach(function(a){c.input.selectize.addOption({text:a,value:a})}),this.input.selectize.setValue(a),this.refreshValue(b)},refreshValue:function(a){this.value=this.input.selectize.getValue()},showValidationErrors:function(a){var b=this,c=[],e=[]; +// Show errors for this editor +if(d(a,function(a,d){d.path===b.path?c.push(d):e.push(d)}),this.error_holder)if(c.length){this.error_holder.innerHTML="",this.error_holder.style.display="",d(c,function(a,c){b.error_holder.appendChild(b.theme.getErrorMessage(c.message))})}else this.error_holder.style.display="none"}});var g=function(){var a=document.documentElement;return a.matches?"matches":a.webkitMatchesSelector?"webkitMatchesSelector":a.mozMatchesSelector?"mozMatchesSelector":a.msMatchesSelector?"msMatchesSelector":a.oMatchesSelector?"oMatchesSelector":void 0}();f.AbstractTheme=a.extend({getContainer:function(){return document.createElement("div")},getFloatRightLinkHolder:function(){var a=document.createElement("div");return a.style=a.style||{},a.style.cssFloat="right",a.style.marginLeft="10px",a},getModal:function(){var a=document.createElement("div");return a.style.backgroundColor="white",a.style.border="1px solid black",a.style.boxShadow="3px 3px black",a.style.position="absolute",a.style.zIndex="10",a.style.display="none",a},getGridContainer:function(){var a=document.createElement("div");return a},getGridRow:function(){var a=document.createElement("div");return a.className="row",a},getGridColumn:function(){var a=document.createElement("div");return a},setGridColumnSize:function(a,b){},getLink:function(a){var b=document.createElement("a");return b.setAttribute("href","#"),b.appendChild(document.createTextNode(a)),b},disableHeader:function(a){a.style.color="#ccc"},disableLabel:function(a){a.style.color="#ccc"},enableHeader:function(a){a.style.color=""},enableLabel:function(a){a.style.color=""},getFormInputLabel:function(a){var b=document.createElement("label");return b.appendChild(document.createTextNode(a)),b},getCheckboxLabel:function(a){var b=this.getFormInputLabel(a);return b.style.fontWeight="normal",b},getHeader:function(a){var b=document.createElement("h3");return"string"==typeof a?b.textContent=a:b.appendChild(a),b},getCheckbox:function(){var a=this.getFormInputField("checkbox");return a.style.display="inline-block",a.style.width="auto",a},getMultiCheckboxHolder:function(a,b,c){var d=document.createElement("div");b&&(b.style.display="block",d.appendChild(b));for(var e in a)a.hasOwnProperty(e)&&(a[e].style.display="inline-block",a[e].style.marginRight="20px",d.appendChild(a[e]));return c&&d.appendChild(c),d},getSelectInput:function(a){var b=document.createElement("select");return a&&this.setSelectOptions(b,a),b},getSwitcher:function(a){var b=this.getSelectInput(a);return b.style.backgroundColor="transparent",b.style.display="inline-block",b.style.fontStyle="italic",b.style.fontWeight="normal",b.style.height="auto",b.style.marginBottom=0,b.style.marginLeft="5px",b.style.padding="0 0 0 3px",b.style.width="auto",b},getSwitcherOptions:function(a){return a.getElementsByTagName("option")},setSwitcherOptions:function(a,b,c){this.setSelectOptions(a,b,c)},setSelectOptions:function(a,b,c){c=c||[],a.innerHTML="";for(var d=0;d'),a.errmsg=a.parentNode.getElementsByClassName("error")[0]),a.errmsg.textContent=b)},removeInputError:function(a){a.errmsg&&(a.group.className=a.group.className.replace(/ error/g,""),a.errmsg.style.display="none")},getProgressBar:function(){var a=document.createElement("div");a.className="progress";var b=document.createElement("span");return b.className="meter",b.style.width="0%",a.appendChild(b),a},updateProgressBar:function(a,b){a&&(a.firstChild.style.width=b+"%")},updateProgressBarUnknown:function(a){a&&(a.firstChild.style.width="100%")}}), +// Foundation 3 Specific Theme +f.defaults.themes.foundation3=f.defaults.themes.foundation.extend({getHeaderButtonHolder:function(){var a=this._super();return a.style.fontSize=".6em",a},getFormInputLabel:function(a){var b=this._super(a);return b.style.fontWeight="bold",b},getTabHolder:function(){var a=document.createElement("div");return a.className="row",a.innerHTML="
    ",a},setGridColumnSize:function(a,b){var c=["zero","one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve"];a.className="columns "+c[b]},getTab:function(a){var b=document.createElement("dd"),c=document.createElement("a");return c.setAttribute("href","#"),c.appendChild(a),b.appendChild(c),b},getTabContentHolder:function(a){return a.children[1]},getTabContent:function(){var a=document.createElement("div");return a.className="content active",a.style.paddingLeft="5px",a},markTabActive:function(a){a.className+=" active"},markTabInactive:function(a){a.className=a.className.replace(/\s*active/g,"")},addTab:function(a,b){a.children[0].appendChild(b)}}), +// Foundation 4 Specific Theme +f.defaults.themes.foundation4=f.defaults.themes.foundation.extend({getHeaderButtonHolder:function(){var a=this._super();return a.style.fontSize=".6em",a},setGridColumnSize:function(a,b){a.className="columns large-"+b},getFormInputDescription:function(a){var b=this._super(a);return b.style.fontSize=".8rem",b},getFormInputLabel:function(a){var b=this._super(a);return b.style.fontWeight="bold",b}}), +// Foundation 5 Specific Theme +f.defaults.themes.foundation5=f.defaults.themes.foundation.extend({getFormInputDescription:function(a){var b=this._super(a);return b.style.fontSize=".8rem",b},setGridColumnSize:function(a,b){a.className="columns medium-"+b},getButton:function(a,b,c){var d=this._super(a,b,c);return d.className=d.className.replace(/\s*small/g,"")+" tiny",d},getTabHolder:function(){var a=document.createElement("div");return a.innerHTML="
    ",a},getTab:function(a){var b=document.createElement("dd"),c=document.createElement("a");return c.setAttribute("href","#"),c.appendChild(a),b.appendChild(c),b},getTabContentHolder:function(a){return a.children[1]},getTabContent:function(){var a=document.createElement("div");return a.className="content active",a.style.paddingLeft="5px",a},markTabActive:function(a){a.className+=" active"},markTabInactive:function(a){a.className=a.className.replace(/\s*active/g,"")},addTab:function(a,b){a.children[0].appendChild(b)}}),f.defaults.themes.foundation6=f.defaults.themes.foundation5.extend({getIndentedPanel:function(){var a=document.createElement("div");return a.className="callout secondary",a},getButtonHolder:function(){var a=document.createElement("div");return a.className="button-group tiny",a.style.marginBottom=0,a},getFormInputLabel:function(a){var b=this._super(a);return b.style.display="block",b},getFormControl:function(a,b,c){var d=document.createElement("div");return d.className="form-control",a&&d.appendChild(a),"checkbox"===b.type?a.insertBefore(b,a.firstChild):a?a.appendChild(b):d.appendChild(b),c&&a.appendChild(c),d},addInputError:function(a,b){if(a.group){if(a.group.className+=" error",a.errmsg)a.errmsg.style.display="",a.className="";else{var c=document.createElement("span");c.className="form-error is-visible",a.group.getElementsByTagName("label")[0].appendChild(c),a.className=a.className+" is-invalid-input",a.errmsg=c}a.errmsg.textContent=b}},removeInputError:function(a){a.errmsg&&(a.className=a.className.replace(/ is-invalid-input/g,""),a.errmsg.parentNode&&a.errmsg.parentNode.removeChild(a.errmsg))}}),f.defaults.themes.html=f.AbstractTheme.extend({getFormInputLabel:function(a){var b=this._super(a);return b.style.display="block",b.style.marginBottom="3px",b.style.fontWeight="bold",b},getFormInputDescription:function(a){var b=this._super(a);return b.style.fontSize=".8em",b.style.margin=0,b.style.display="inline-block",b.style.fontStyle="italic",b},getIndentedPanel:function(){var a=this._super();return a.style.border="1px solid #ddd",a.style.padding="5px",a.style.margin="5px",a.style.borderRadius="3px",a},getChildEditorHolder:function(){var a=this._super();return a.style.marginBottom="8px",a},getHeaderButtonHolder:function(){var a=this.getButtonHolder();return a.style.display="inline-block",a.style.marginLeft="10px",a.style.fontSize=".8em",a.style.verticalAlign="middle",a},getTable:function(){var a=this._super();return a.style.borderBottom="1px solid #ccc",a.style.marginBottom="5px",a},addInputError:function(a,b){if(a.style.borderColor="red",a.errmsg)a.errmsg.style.display="block";else{var c=this.closest(a,".form-control");a.errmsg=document.createElement("div"),a.errmsg.setAttribute("class","errmsg"),a.errmsg.style=a.errmsg.style||{},a.errmsg.style.color="red",c.appendChild(a.errmsg)}a.errmsg.innerHTML="",a.errmsg.appendChild(document.createTextNode(b))},removeInputError:function(a){a.style.borderColor="",a.errmsg&&(a.errmsg.style.display="none")},getProgressBar:function(){var a=100,b=0,c=document.createElement("progress");return c.setAttribute("max",a),c.setAttribute("value",b),c},updateProgressBar:function(a,b){a&&a.setAttribute("value",b)},updateProgressBarUnknown:function(a){a&&a.removeAttribute("value")}}),f.defaults.themes.jqueryui=f.AbstractTheme.extend({getTable:function(){var a=this._super();return a.setAttribute("cellpadding",5),a.setAttribute("cellspacing",0),a},getTableHeaderCell:function(a){var b=this._super(a);return b.className="ui-state-active",b.style.fontWeight="bold",b},getTableCell:function(){var a=this._super();return a.className="ui-widget-content",a},getHeaderButtonHolder:function(){var a=this.getButtonHolder();return a.style.marginLeft="10px",a.style.fontSize=".6em",a.style.display="inline-block",a},getFormInputDescription:function(a){var b=this.getDescription(a);return b.style.marginLeft="10px",b.style.display="inline-block",b},getFormControl:function(a,b,c){var d=this._super(a,b,c);return"checkbox"===b.type?(d.style.lineHeight="25px",d.style.padding="3px 0"):d.style.padding="4px 0 8px 0",d},getDescription:function(a){var b=document.createElement("span");return b.style.fontSize=".8em",b.style.fontStyle="italic",b.textContent=a,b},getButtonHolder:function(){var a=document.createElement("div");return a.className="ui-buttonset",a.style.fontSize=".7em",a},getFormInputLabel:function(a){var b=document.createElement("label");return b.style.fontWeight="bold",b.style.display="block",b.textContent=a,b},getButton:function(a,b,c){var d=document.createElement("button");d.className="ui-button ui-widget ui-state-default ui-corner-all", +// Icon only +b&&!a?(d.className+=" ui-button-icon-only",b.className+=" ui-button-icon-primary ui-icon-primary",d.appendChild(b)):b?(d.className+=" ui-button-text-icon-primary",b.className+=" ui-button-icon-primary ui-icon-primary",d.appendChild(b)):d.className+=" ui-button-text-only";var e=document.createElement("span");return e.className="ui-button-text",e.textContent=a||c||".",d.appendChild(e),d.setAttribute("title",c),d},setButtonText:function(a,b,c,d){a.innerHTML="",a.className="ui-button ui-widget ui-state-default ui-corner-all", +// Icon only +c&&!b?(a.className+=" ui-button-icon-only",c.className+=" ui-button-icon-primary ui-icon-primary",a.appendChild(c)):c?(a.className+=" ui-button-text-icon-primary",c.className+=" ui-button-icon-primary ui-icon-primary",a.appendChild(c)):a.className+=" ui-button-text-only";var e=document.createElement("span");e.className="ui-button-text",e.textContent=b||d||".",a.appendChild(e),a.setAttribute("title",d)},getIndentedPanel:function(){var a=document.createElement("div");return a.className="ui-widget-content ui-corner-all",a.style.padding="1em 1.4em",a.style.marginBottom="20px",a},afterInputReady:function(a){a.controls||(a.controls=this.closest(a,".form-control"))},addInputError:function(a,b){a.controls&&(a.errmsg?a.errmsg.style.display="":(a.errmsg=document.createElement("div"),a.errmsg.className="ui-state-error",a.controls.appendChild(a.errmsg)),a.errmsg.textContent=b)},removeInputError:function(a){a.errmsg&&(a.errmsg.style.display="none")},markTabActive:function(a){a.className=a.className.replace(/\s*ui-widget-header/g,"")+" ui-state-active"},markTabInactive:function(a){a.className=a.className.replace(/\s*ui-state-active/g,"")+" ui-widget-header"}}),f.defaults.themes.barebones=f.AbstractTheme.extend({getFormInputLabel:function(a){var b=this._super(a);return b},getFormInputDescription:function(a){var b=this._super(a);return b},getIndentedPanel:function(){var a=this._super();return a},getChildEditorHolder:function(){var a=this._super();return a},getHeaderButtonHolder:function(){var a=this.getButtonHolder();return a},getTable:function(){var a=this._super();return a},addInputError:function(a,b){if(a.errmsg)a.errmsg.style.display="block";else{var c=this.closest(a,".form-control");a.errmsg=document.createElement("div"),a.errmsg.setAttribute("class","errmsg"),c.appendChild(a.errmsg)}a.errmsg.innerHTML="",a.errmsg.appendChild(document.createTextNode(b))},removeInputError:function(a){a.style.borderColor="",a.errmsg&&(a.errmsg.style.display="none")},getProgressBar:function(){var a=100,b=0,c=document.createElement("progress");return c.setAttribute("max",a),c.setAttribute("value",b),c},updateProgressBar:function(a,b){a&&a.setAttribute("value",b)},updateProgressBarUnknown:function(a){a&&a.removeAttribute("value")}}),f.AbstractIconLib=a.extend({mapping:{collapse:"",expand:"","delete":"",edit:"",add:"",cancel:"",save:"",moveup:"",movedown:""},icon_prefix:"",getIconClass:function(a){return this.mapping[a]?this.icon_prefix+this.mapping[a]:null},getIcon:function(a){var b=this.getIconClass(a);if(!b)return null;var c=document.createElement("i");return c.className=b,c}}),f.defaults.iconlibs.bootstrap2=f.AbstractIconLib.extend({mapping:{collapse:"chevron-down",expand:"chevron-up","delete":"trash",edit:"pencil",add:"plus",cancel:"ban-circle",save:"ok",moveup:"arrow-up",movedown:"arrow-down"},icon_prefix:"icon-"}),f.defaults.iconlibs.bootstrap3=f.AbstractIconLib.extend({mapping:{collapse:"chevron-down",expand:"chevron-right","delete":"remove",edit:"pencil",add:"plus",cancel:"floppy-remove",save:"floppy-saved",moveup:"arrow-up",movedown:"arrow-down"},icon_prefix:"glyphicon glyphicon-"}),f.defaults.iconlibs.fontawesome3=f.AbstractIconLib.extend({mapping:{collapse:"chevron-down",expand:"chevron-right","delete":"remove",edit:"pencil",add:"plus",cancel:"ban-circle",save:"save",moveup:"arrow-up",movedown:"arrow-down"},icon_prefix:"icon-"}),f.defaults.iconlibs.fontawesome4=f.AbstractIconLib.extend({mapping:{collapse:"caret-square-o-down",expand:"caret-square-o-right","delete":"times",edit:"pencil",add:"plus",cancel:"ban",save:"save",moveup:"arrow-up",movedown:"arrow-down"},icon_prefix:"fa fa-"}),f.defaults.iconlibs.foundation2=f.AbstractIconLib.extend({mapping:{collapse:"minus",expand:"plus","delete":"remove",edit:"edit",add:"add-doc",cancel:"error",save:"checkmark",moveup:"up-arrow",movedown:"down-arrow"},icon_prefix:"foundicon-"}),f.defaults.iconlibs.foundation3=f.AbstractIconLib.extend({mapping:{collapse:"minus",expand:"plus","delete":"x",edit:"pencil",add:"page-add",cancel:"x-circle",save:"save",moveup:"arrow-up",movedown:"arrow-down"},icon_prefix:"fi-"}),f.defaults.iconlibs.jqueryui=f.AbstractIconLib.extend({mapping:{collapse:"triangle-1-s",expand:"triangle-1-e","delete":"trash",edit:"pencil",add:"plusthick",cancel:"closethick",save:"disk",moveup:"arrowthick-1-n",movedown:"arrowthick-1-s"},icon_prefix:"ui-icon ui-icon-"}),f.defaults.templates["default"]=function(){return{compile:function(a){var b=a.match(/{{\s*([a-zA-Z0-9\-_ \.]+)\s*}}/g),c=b&&b.length; +// Shortcut if the template contains no variables +if(!c)return function(){return a};for(var d=[],e=function(a){var c,e=b[a].replace(/[{}]+/g,"").trim().split("."),f=e.length;if(f>1){var g;c=function(b){for(g=b,a=0;a=0){ +// For enumerated strings, number, or integers +if(a.items["enum"])return"multiselect";if(f.plugins.selectize.enable&&"string"===a.items.type)return"arraySelectize"}}), +// Use the multiple editor for schemas with `oneOf` set +f.defaults.resolvers.unshift(function(a){ +// If this schema uses `oneOf` or `anyOf` +if(a.oneOf||a.anyOf)return"multiple"}),/** + * This is a small wrapper for using JSON Editor like a typical jQuery plugin. + */ +function(){if(window.jQuery||window.Zepto){var a=window.jQuery||window.Zepto;a.jsoneditor=f.defaults,a.fn.jsoneditor=function(a){var b=this,c=this.data("jsoneditor");if("value"===a){if(!c)throw"Must initialize jsoneditor before getting/setting the value"; +// Set value +if(!(arguments.length>1))return c.getValue();c.setValue(arguments[1])}else{if("validate"===a){if(!c)throw"Must initialize jsoneditor before validating"; +// Validate a specific value +// Validate a specific value +return arguments.length>1?c.validate(arguments[1]):c.validate()}"destroy"===a?c&&(c.destroy(),this.data("jsoneditor",null)):( +// Destroy first +c&&c.destroy(), +// Create editor +c=new f(this.get(0),a),this.data("jsoneditor",c), +// Setup event listeners +c.on("change",function(){b.trigger("change")}),c.on("ready",function(){b.trigger("ready")}))}return this}}}(),window.JSONEditor=f}(); +//# sourceMappingURL=jsoneditor.min.js.map \ No newline at end of file diff --git a/assets/webconfig/js/lib/jsoneditor.min.js.map b/assets/webconfig/js/lib/jsoneditor.min.js.map new file mode 100644 index 00000000..2af76a36 --- /dev/null +++ b/assets/webconfig/js/lib/jsoneditor.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["jsoneditor.js"],"names":["Class","initializing","fnTest","test","window","postMessage","extend","prop","this","init","apply","arguments","_super","prototype","name","fn","tmp","ret","constructor","CustomEvent","event","params","bubbles","cancelable","detail","undefined","evt","document","createEvent","initCustomEvent","Event","lastTime","vendors","x","length","requestAnimationFrame","cancelAnimationFrame","callback","element","currTime","Date","getTime","timeToCall","Math","max","id","setTimeout","clearTimeout","Array","isArray","arg","Object","toString","call","$isplainobject","obj","nodeType","hasOwnProperty","$extend","destination","source","i","property","$each","keys","$trigger","el","e","initEvent","dispatchEvent","JSONEditor","options","Element","Error","defaults","self","ready","theme_class","themes","theme","schema","template","refs","uuid","__data","icon_class","iconlibs","iconlib","root_container","getContainer","appendChild","translate","_loadExternalRefs","_getDefinitions","validator_options","custom_validators","validator","Validator","editor_class","getEditorClass","root","createEditor","jsoneditor","required","container","preBuild","build","postBuild","startval","setValue","validation_results","validate","getValue","showValidationErrors","trigger","value","destroy","destroyed","innerHTML","on","callbacks","push","off","newcallbacks","setOption","option","show_errors","onChange","classname","expandSchema","resolvers","resolver","editors","JSON","stringify","firing_change","compileTemplate","engine","templates","compile","_data","key","hasAttribute","getAttribute","setAttribute","registerEditor","editor","path","unregisterEditor","getEditor","watch","watchlist","unwatch","newlist","notifyWatchers","isEnabled","enable","disable","definitions","_getExternalRefs","merge_refs","newrefs","$ref","substr","j","done","waiting","callback_fired","url","ajax","r","XMLHttpRequest","open","onreadystatechange","readyState","status","console","log","response","parse","responseText","send","expandRefs","ref","decodeURIComponent","extendSchemas","extended","type","disallow","anyOf","dependencies","not","allOf","oneOf","obj1","obj2","val","filter","n","indexOf","concat","reduce","p","c","languages","_validateSchema","valid","errors","stringified","message","required_by_default","oneof_errors","_checkType","multipleOf","divisibleBy","divisor","floor","math","mod","bignumber","equals","Decimal","exclusiveMaximum","maximum","exclusiveMinimum","minimum","maxLength","minLength","pattern","RegExp","items","additionalItems","maxItems","minItems","uniqueItems","seen","maxProperties","minProperties","validated_properties","properties","patternProperties","regex","additionalProperties","no_additional_properties","AbstractEditor","onChildEditorChange","notify","change","parent","bubble","watch_listener","register","unregister","getNumColumns","template_engine","original_schema","formname","replace","form_name_root","split","pop","link_watchers","setContainer","setupWatchListeners","addLinks","getDefault","updateHeaderText","onWatchedFieldChange","watched","vars","watched_values","refreshWatchedFieldValues","path_parts","first","adjusted_path","closest","unshift","shift","join","headerTemplate","header_template","no_link_holder","link_holder","getLinksHolder","links","addLink","getLink","getButton","text","icon","title","btnClass","getIcon","btn","className","setButtonText","button","link","data","holder","mime","mediaType","href","download","getBlockLinkHolder","createElement","image","createImageLink","rel","getBlockLink","media","createMediaLink","textContent","changed","getWatchedFieldValues","header","children","childNodes","nodeValue","getHeaderText","title_only","header_text","getTitle","i0","i1","refreshValue","getChildEditors","parentNode","removeChild","disabled","isRequired","getDisplayText","arr","disp","used","description","format","descripton","inc","getOption","error","string","input","removeAttribute","initial","from_template","serialized","sanitized","sanitize","sceditor_instance","epiceditor","importFile","ace_editor","is_dirty","adjust_height","num","min","ceil","input_type","compact","label","getFormInputLabel","getFormInputDescription","default_format","getTextareaInput","step","getRangeInput","source_code","getFormInputField","input_width","style","width","readOnly","readonly","always_disabled","addEventListener","preventDefault","stopPropagation","input_height","height","expand_height","ch","offsetHeight","scrollHeight","control","getFormControl","afterInputReady","wysiwyg","jQuery","sceditor","plugins","emoticonsEnabled","sceditor_options","blur","remove","html","EpicEditor","epiceditor_container","insertBefore","display","clientSideStorage","load","exportFile","ace","mode","ace_container","position","edit","setTheme","require","getSession","setMode","Mode","unload","previous_error_setting","messages","addInputError","removeInputError","number","integer","object","maxwidth","editjson_button","addproperty_button","hideEditJSON","layoutEditors","row_container","property_order","sort","a","b","ordera","propertyOrder","orderb","rows","property_removed","found","hidden","grid_columns","minh","maxh","biggest","new_width","layout","row","getGridRow","setGridColumnSize","getPropertySchema","matched","cached_editors","object_layout","minwidth","table_row","table","defaultProperties","display_required_only","k","s","addObjectProperty","editor_holder","getTableCell","getHeader","editjson_holder","getModal","editjson_textarea","editjson_save","saveJSON","editjson_cancel","addproperty_holder","addproperty_list","maxHeight","padding","overflowY","overflowX","paddingLeft","addproperty_add","addproperty_input","marginBottom","alert","spacer","clear","getDescription","error_holder","getIndentedPanel","getGridContainer","getGridColumn","title_controls","getHeaderButtonHolder","editjson_controls","addproperty_controls","collapsed","toggle_button","disable_collapse","toggleEditJSON","disable_edit_json","toggleAddProperty","refreshAddProperties","showEditJSON","hideAddProperty","left","offsetLeft","top","offsetTop","editing_json","json","insertPropertyControlUsingPropertyOrder","child","addPropertyCheckbox","checkbox","labelText","getCheckbox","getCheckboxLabel","paddingBottom","paddingTop","marginTop","checked","removeObjectProperty","addproperty_checkboxes","showAddProperty","adding_property","prebuild_only","canHaveAdditionalProperties","getChildEditorHolder","result","remove_empty_properties","disable_properties","can_add","can_remove","num_props","show_modal","my_errors","other_errors","getErrorMessage","addTableRowError","removeTableRowError","array","info","getItemInfo","tabs_holder","add_row_button","remove_all_rows_button","delete_last_row_button","moveup_button","movedown_button","delete_button","row_cache","hide_delete_buttons","disable_array_delete","hide_delete_all_rows_buttons","disable_array_delete_all_rows","hide_delete_last_row_buttons","disable_array_delete_last_row","hide_move_buttons","disable_array_reorder","hide_add_button","disable_array_add","panel","controls","getButtonHolder","row_holder","getTabHolder","getTabContentHolder","active_tab","addControls","refreshTabs","getItemTitle","item_title","getItemSchema","item_info","default","child_editors","getElementEditor","getTabContent","array_controls","empty","hard","tab","destroyRow","getMax","Infinity","refresh_headers","tab_text","markTabActive","markTabInactive","slice","addRow","new_active_tab","force","oldi","controls_needed","getTab","addTab","controls_holder","newval","row_holder_display","controls_display","tabs","textAlign","item_schema","item_default","item_has_child_editors","getTable","thead","getTableHead","header_row","getTableRow","getTableBody","ce","order","th","getTableHeaderCell","controls_header_cell","getItemDefault","ignore","schema_copy","controls_cell","table_controls","margin","numrows_changed","refreshRowButtons","need_row_buttons","multiple","switcher","switchEditor","buildChildEditor","current_value","keep_values","refreshHeaderText","types","switcher_options","validators","keep_oneof_values","allowed_types","display_text","getSwitcher","getSwitcherOptions","check_part","check","new_errors","new_error","enum_titles","selected","select_options","html_values","getHTML","display_area","hide_display","select","typecast","enum_values","enum_options","select2","longest_text","enum_display","enumSource","enumValue","getSelectInput","setSelectOptions","onInputChange","new_val","setupSelect2","select2_options","select_titles","new_items","item","item_titles","item_values","prev_value","selectize","addItem","setupSelectize","selectize_options","create","updateSelectizeOptions","selectized","clearOptions","addOption","unlock","lock","multiselect","select_values","items_schema","t","option_keys","option_titles","inputs","getMultiCheckboxHolder","size","new_value","updateValue","base64","FileReader","uploader","files","fr","onload","target","refreshPreview","readAsDataURL","preview","last_preview","match","img","maxWidth","src","upload","preview_value","file","uploadButton","getProgressBar","progressBar","success","failure","updateProgress","progress","updateProgressBar","updateProgressBarUnknown","arraySelectize","group","delimiter","createOnBlur","forEach","matchKey","elem","documentElement","matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","AbstractTheme","getFloatRightLinkHolder","cssFloat","marginLeft","backgroundColor","border","boxShadow","zIndex","createTextNode","disableHeader","color","disableLabel","enableHeader","enableLabel","fontWeight","marginRight","fontStyle","getElementsByTagName","setSwitcherOptions","titles","boxSizing","firstChild","borderLeft","getCheckboxDescription","applyStyles","styles","selector","span","borderWidth","lineHeight","borderRadius","borderBottomRightRadius","borderTopRightRadius","cursor","tab_holder","opacity","background","bootstrap2","controlgroup","errmsg","bar","bootstrap3","fontSize","start","percentage","foundation","minWidth","paddingRight","verticalAlign","insertAdjacentHTML","getElementsByClassName","meter","foundation3","sizes","foundation4","foundation5","foundation6","errorEl","borderBottom","borderColor","jqueryui","barebones","AbstractIconLib","mapping","collapse","expand","delete","add","cancel","save","moveup","movedown","icon_prefix","getIconClass","iconclass","fontawesome3","fontawesome4","foundation2","l","replacements","get_replacement","func","trim","cur","ejs","EJS","compiled","context","render","handlebars","Handlebars","hogan","Hogan","markup","Mark","up","mustache","Mustache","view","swig","underscore","_","variables","lang","language","default_language","en","error_notset","error_notempty","error_enum","error_anyOf","error_oneOf","error_not","error_type_union","error_type","error_disallow_union","error_disallow","error_multipleOf","error_maximum_excl","error_maximum_incl","error_minimum_excl","error_minimum_incl","error_maxLength","error_minLength","error_pattern","error_additionalItems","error_maxItems","error_minItems","error_uniqueItems","error_maxProperties","error_minProperties","error_required","error_additional_properties","error_dependency","button_delete_all","button_delete_all_title","button_delete_last","button_delete_last_title","button_add_row_title","button_move_down_title","button_move_up_title","button_delete_row_title","button_delete_row_title_short","button_collapse","button_expand","binaryEncoding","Zepto","$","get"],"mappings":"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","file":"jsoneditor.min.js"} \ No newline at end of file diff --git a/libsrc/hyperion/hyperion.schema.json b/libsrc/hyperion/hyperion.schema.json index e0d12260..dd6baa8e 100644 --- a/libsrc/hyperion/hyperion.schema.json +++ b/libsrc/hyperion/hyperion.schema.json @@ -11,6 +11,7 @@ { "level" : { + "type" : "string", "enum" : ["silent", "warn", "verbose", "debug"], "title" : "Log-Level" } From 019e3f5d0c0be3c5cc5b3d384d85321e257de80d Mon Sep 17 00:00:00 2001 From: b1rdhous3 Date: Wed, 31 Aug 2016 00:22:17 +0200 Subject: [PATCH 2/5] New JSON Editor --- assets/webconfig/generalconf.html | 2 +- assets/webconfig/js/hyperion.js | 16 ++++++++-------- libsrc/hyperion/hyperion.schema.json | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/assets/webconfig/generalconf.html b/assets/webconfig/generalconf.html index ce412e67..edba898c 100644 --- a/assets/webconfig/generalconf.html +++ b/assets/webconfig/generalconf.html @@ -90,7 +90,7 @@ - enableFormTranslation("generalConfForm", "generalConfForm"); + enableFormTranslation("generalConfForm", "editor_holder"); $("[type='checkbox']").bootstrapSwitch(); diff --git a/assets/webconfig/js/hyperion.js b/assets/webconfig/js/hyperion.js index 9fc67285..833152ff 100644 --- a/assets/webconfig/js/hyperion.js +++ b/assets/webconfig/js/hyperion.js @@ -12,7 +12,7 @@ * @param {String} formID */ function enableFormTranslation(tokenPrefix, formID) { -var $inputs = $("#" + formID + " :input"); +var $inputs = $("#" + formID + " label"); $inputs.each(function() { console.log("InputID: " + $(this).attr('id')); @@ -34,13 +34,13 @@ function button_reloaddata(){ hyperionport = $("#json_port").val(); loaddata(); }; - + function loaddata() { - + webSocket = new WebSocket('ws://'+document.location.hostname+':'+hyperionport); webSocket.onerror = function(event) { - $('#con_error_modal').modal('show'); + $('#con_error_modal').modal('show'); }; webSocket.onopen = function(event) { @@ -57,12 +57,12 @@ function loaddata() { // get host var hostname = parsedServerInfoJSON.info.hostname; $('#dash_systeminfo').html(hostname+':'+hyperionport); - + $.get( "https://raw.githubusercontent.com/hyperion-project/hyperion.ng/master/version.json", function( data ) { parsedUpdateJSON = JSON.parse(data); latestVersion = parsedUpdateJSON[0].versionnr; cleanLatestVersion = latestVersion.replace(/\./g, ''); - + $('#currentversion').html(' V'+currentVersion); $('#latestversion').html(' V'+latestVersion); @@ -73,6 +73,6 @@ function loaddata() { $('#versioninforesult').html('
    You run the latest version of Hyperion.
    '); } }); - + }; -}; \ No newline at end of file +}; diff --git a/libsrc/hyperion/hyperion.schema.json b/libsrc/hyperion/hyperion.schema.json index dd6baa8e..37bafee6 100644 --- a/libsrc/hyperion/hyperion.schema.json +++ b/libsrc/hyperion/hyperion.schema.json @@ -826,7 +826,7 @@ "port" : { "type" : "integer", - "description" : "Port", + "title" : "Port", "required" : true } }, From a6df8aef0db86911fe0698e358c317028ff62526 Mon Sep 17 00:00:00 2001 From: b1rdhous3 Date: Wed, 31 Aug 2016 00:28:07 +0200 Subject: [PATCH 3/5] Disabled Form Translatation since this isn't working with new JSON Editor looking for an other way --- assets/webconfig/generalconf.html | 24 ------------------------ assets/webconfig/js/hyperion.js | 4 ++-- 2 files changed, 2 insertions(+), 26 deletions(-) diff --git a/assets/webconfig/generalconf.html b/assets/webconfig/generalconf.html index edba898c..fb545377 100644 --- a/assets/webconfig/generalconf.html +++ b/assets/webconfig/generalconf.html @@ -68,30 +68,6 @@ }); - /*$('form').jsonForm({ - schema: { - logger, - jsonServer, - protoServer, - boblightServer, - udpListener, - webConfig, - - }, - onSubmit: function (errors, values) { - if (errors) { - console.log(errors); - } - else { - console.log(values); - } - } - });*/ - - - - enableFormTranslation("generalConfForm", "editor_holder"); - $("[type='checkbox']").bootstrapSwitch(); diff --git a/assets/webconfig/js/hyperion.js b/assets/webconfig/js/hyperion.js index 833152ff..938ef4a9 100644 --- a/assets/webconfig/js/hyperion.js +++ b/assets/webconfig/js/hyperion.js @@ -10,7 +10,7 @@ * Default language in "lang" attribute will always be "en" * @param {String} tokenPrefix * @param {String} formID -*/ + function enableFormTranslation(tokenPrefix, formID) { var $inputs = $("#" + formID + " label"); @@ -20,7 +20,7 @@ $inputs.each(function() { $("label[for='" + $(this).attr('id') + "']").html('' + oldtext + ''); }); } - +*/ // global vars var currentVersion; var cleanCurrentVersion; From b6cec245966ccb9820b640399369e13f98e0a680 Mon Sep 17 00:00:00 2001 From: b1rdhous3 Date: Wed, 31 Aug 2016 00:46:39 +0200 Subject: [PATCH 4/5] Update --- assets/webconfig/generalconf.html | 3 ++- libsrc/hyperion/hyperion.schema.json | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/assets/webconfig/generalconf.html b/assets/webconfig/generalconf.html index fb545377..3c387a91 100644 --- a/assets/webconfig/generalconf.html +++ b/assets/webconfig/generalconf.html @@ -7,8 +7,9 @@
    - +
    +
    diff --git a/libsrc/hyperion/hyperion.schema.json b/libsrc/hyperion/hyperion.schema.json index 37bafee6..fcefe960 100644 --- a/libsrc/hyperion/hyperion.schema.json +++ b/libsrc/hyperion/hyperion.schema.json @@ -744,6 +744,7 @@ "enable" : { "type" : "boolean", + "format": "checkbox", "title" : "Activate" }, "port" : @@ -771,6 +772,7 @@ "enable" : { "type" : "boolean", + "format": "checkbox", "title" : "Activate" }, "address" : @@ -799,6 +801,7 @@ "shared" : { "type" : "boolean", + "format": "checkbox", "title" : "Shared" } }, @@ -814,6 +817,7 @@ "enable" : { "type" : "boolean", + "format": "checkbox", "title" : "Activate", "required" : true }, From 752b32c906e9bb451dacf2cefc3fd5401c385d77 Mon Sep 17 00:00:00 2001 From: b1rdhous3 Date: Wed, 31 Aug 2016 17:19:41 +0200 Subject: [PATCH 5/5] Merge index.html and QJsonSchemaChecker changes --- assets/webconfig/index.html | 64 ++----------------- .../utils/jsonschema/QJsonSchemaChecker.cpp | 20 +++--- 2 files changed, 14 insertions(+), 70 deletions(-) diff --git a/assets/webconfig/index.html b/assets/webconfig/index.html index 3173977d..2d82cc24 100644 --- a/assets/webconfig/index.html +++ b/assets/webconfig/index.html @@ -1,4 +1,4 @@ - + @@ -25,10 +25,8 @@ - - - - + @@ -38,19 +36,14 @@ @@ -493,12 +486,10 @@