UNPKG

iso-json-tree

Version:
1 lines 9.15 kB
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.IsoJsonTree=e()}}(function(){return function e(t,n,r){function o(u,l){if(!n[u]){if(!t[u]){var i="function"==typeof require&&require;if(!l&&i)return i(u,!0);if(a)return a(u,!0);var s=new Error("Cannot find module '"+u+"'");throw s.code="MODULE_NOT_FOUND",s}var p=n[u]={exports:{}};t[u][0].call(p.exports,function(e){var n=t[u][1][e];return o(n?n:e)},p,p.exports,e,t,n,r)}return n[u].exports}for(var a="function"==typeof require&&require,u=0;u<r.length;u++)o(r[u]);return o}({1:[function(e,t,n){(function(e){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(n,"__esModule",{value:!0});var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=function(e,t,n){for(var r=!0;r;){var o=e,a=t,u=n;r=!1,null===o&&(o=Function.prototype);var l=Object.getOwnPropertyDescriptor(o,a);if(void 0!==l){if("value"in l)return l.value;var i=l.get;if(void 0===i)return;return i.call(u)}var s=Object.getPrototypeOf(o);if(null===s)return;e=s,t=a,n=u,r=!0,l=s=void 0}},i="undefined"!=typeof window?window.React:"undefined"!=typeof e?e.React:null,s=r(i),p=[function(e,t){return null===t?s["default"].createElement(y,{name:e,value:"null"}):null},function(e,t){return"function"==typeof t?s["default"].createElement(N,{name:e,value:t}):null},function(e,t){return"string"!=typeof t||isNaN(Date.parse(t))?null:s["default"].createElement(b,{name:e,value:t})},function(e,t){return"string"!=typeof t||0!==t.indexOf("http://")&&0!==t.indexOf("https://")&&0!==t.indexOf("www.")?null:s["default"].createElement(m,{name:e,value:t})},function(e,t){return"string"==typeof t?s["default"].createElement(y,{name:e,value:t}):null},function(e,t){return"number"==typeof t?s["default"].createElement(h,{name:e,value:t}):null},function(e,t){return"boolean"==typeof t?s["default"].createElement(v,{name:e,value:t}):null},function(e,t){return"object"!=typeof t||Array.isArray(t)||"function"!=typeof t[Symbol.iterator]?null:s["default"].createElement(g,{value:Array.from(t),name:e+"[iterable]"})},function(e,t){return"object"==typeof t&&Array.isArray(t)?s["default"].createElement(g,{value:t,name:e+" ["+t.length+"]"}):null},function(e,t){return"object"==typeof t?s["default"].createElement(O,{value:t,name:e+" {"+Object.keys(t).length+"}"}):null}],f=function(e){function t(e){if(o(this,t),l(Object.getPrototypeOf(t.prototype),"constructor",this).call(this,e),this.state={},p=Array.prototype.concat(this.props.rules||[],p),"string"==typeof this.props.data)try{var n=JSON.parse(this.props.data);this._dataObject=n}catch(r){throw"iso-json-tree data parse error. json string cannot be converted to object. "+r}else{if("object"!=typeof this.props.data)throw"iso-json-tree data is not in the expected format. provided data = "+JSON.stringify(this.props.data);this._dataObject=this.props.data}}return a(t,e),u(t,[{key:"render",value:function(){return s["default"].createElement("div",{className:"JsonTree-Tree"},s["default"].createElement(c,{name:this.props.title||"",value:this._dataObject}))}}]),t}(i.Component);f.propTypes={title:s["default"].PropTypes.string,rules:s["default"].PropTypes.arrayOf(s["default"].PropTypes.func),data:s["default"].PropTypes.oneOfType([s["default"].PropTypes.object,s["default"].PropTypes.string]).isRequired},f.displayName="JsonTree";var c=function(e){function t(){o(this,t),l(Object.getPrototypeOf(t.prototype),"constructor",this).apply(this,arguments)}return a(t,e),u(t,[{key:"render",value:function(){for(var e,t=0;t<p.length;t++){var n=p[t](this.props.name,this.props.value);if(n){e=n;break}}return e}}]),t}(i.Component);c.displayName="KeyValue";var d=function(e){function t(e){o(this,t),l(Object.getPrototypeOf(t.prototype),"constructor",this).call(this,e),this.state={open:!0}}return a(t,e),u(t,[{key:"toggle",value:function(e){e.preventDefault(),this.setState({open:!this.state.open})}},{key:"componentDidUpdate",value:function(e,t){}},{key:"render",value:function(){return s["default"].createElement("div",{className:"JsonTree-Node-Item"},s["default"].createElement("div",{className:"JsonTree-Node-Key"},s["default"].createElement("a",{href:"#",onClick:this.toggle.bind(this),className:"Collapsable-Arrow"+(this.state.open?" Open":"")},"▼"),s["default"].createElement("a",{href:"#",onClick:this.toggle.bind(this)},this.props.title)),s["default"].createElement("div",{className:"Collapsable-Content JsonTree-Node-Value child-element"+(this.state.open?"":" Hidden")},this.props.children))}}]),t}(i.Component),y=function(e){function t(){o(this,t),l(Object.getPrototypeOf(t.prototype),"constructor",this).apply(this,arguments)}return a(t,e),u(t,[{key:"getLabel",value:function(){return s["default"].createElement("span",{className:"JsonTree-Node-Value-String"},'"'+this.props.value+'"')}},{key:"render",value:function(){return s["default"].createElement("div",{className:"JsonTree-Node-Item"},s["default"].createElement("div",{className:"JsonTree-Node-Key"},this.props.name," : "),s["default"].createElement("div",{className:"JsonTree-Node-Value"},this.getLabel()))}}]),t}(i.Component);y.displayName="EditorString";var m=function(e){function t(){o(this,t),l(Object.getPrototypeOf(t.prototype),"constructor",this).apply(this,arguments)}return a(t,e),u(t,[{key:"getLabel",value:function(){return s["default"].createElement("span",{className:"JsonTree-Node-Value-String"},'"',s["default"].createElement("a",{href:this.props.value,target:"_blank"},this.props.value),'"')}}]),t}(y);m.displayName="EditorLink";var h=function(e){function t(){o(this,t),l(Object.getPrototypeOf(t.prototype),"constructor",this).apply(this,arguments)}return a(t,e),u(t,[{key:"getLabel",value:function(){return s["default"].createElement("span",{className:"JsonTree-Node-Value-Number"},this.props.value)}}]),t}(y);h.displayName="EditorNumeric";var v=function(e){function t(){o(this,t),l(Object.getPrototypeOf(t.prototype),"constructor",this).apply(this,arguments)}return a(t,e),u(t,[{key:"getLabel",value:function(){return s["default"].createElement("span",{className:"JsonTree-Node-Value-Number"},JSON.stringify(this.props.value))}}]),t}(y);y.displayName="EditorBoolean";var b=function(e){function t(){o(this,t),l(Object.getPrototypeOf(t.prototype),"constructor",this).apply(this,arguments)}return a(t,e),u(t,[{key:"formatDate",value:function(e){var t=new Date(e),n=t.getDate(),r=t.getMonth()+1,o=t.getFullYear();return n<10&&(n="0"+n),r<10&&(r="0"+r),n+"."+r+"."+o}},{key:"getLabel",value:function(){return s["default"].createElement("span",{className:"JsonTree-Node-Value-Number"},this.formatDate(this.props.value))}}]),t}(y);b.displayName="EditorDate";var g=function(e){function t(){o(this,t),l(Object.getPrototypeOf(t.prototype),"constructor",this).apply(this,arguments)}return a(t,e),u(t,[{key:"render",value:function(){return s["default"].createElement(d,{title:this.props.name},this.props.value.map(function(e,t){return s["default"].createElement(c,{name:t,value:e,key:e+"_"+t})}))}}]),t}(y);g.displayName="EditorArray";var O=function(e){function t(){o(this,t),l(Object.getPrototypeOf(t.prototype),"constructor",this).apply(this,arguments)}return a(t,e),u(t,[{key:"render",value:function(){var e=this;return s["default"].createElement(d,{title:this.props.name},Object.keys(this.props.value).map(function(t,n){return s["default"].createElement(c,{name:t,value:e.props.value[t],key:t+"_"+n})}))}}]),t}(y);O.displayName="EditorObject";var N=function(e){function t(){o(this,t),l(Object.getPrototypeOf(t.prototype),"constructor",this).apply(this,arguments)}return a(t,e),u(t,[{key:"getParamNames",value:function(){var e=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm,t=/([^\s,]+)/g,n=this.props.value.toString().replace(e,""),r=n.slice(n.indexOf("(")+1,n.indexOf(")")).match(t);return null===r&&(r=[]),r}},{key:"render",value:function(){var e=this.props.value.toString().split("\n");return s["default"].createElement(d,{title:this.props.value.name+"("+this.getParamNames()+")"},s["default"].createElement("div",{className:"JsonTree-Node-Item JsonTree-Node-Value-Func"},e.map(function(e,t){return s["default"].createElement("div",{className:"JsonTree-Node-Value-Func-Line",key:"line_"+t},e)})))}}]),t}(y);N.displayName="EditorFunc",n["default"]=f,t.exports=n["default"]}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[1])(1)});