Browse Source

refactored cli response parse method

all-modes
pbca26 8 years ago
parent
commit
e265a83d55
  1. 167
      react/src/components/dashboard/settings/settings.js

167
react/src/components/dashboard/settings/settings.js

@ -473,107 +473,14 @@ class Settings extends React.Component {
); );
} }
/* // TODO: rerender only if prop is changed
if (_cliResponse) {
let _cliResponseParsed;
let __cliResponseParsed;
let errorObj = {
code: null,
message: null,
};
if (_cliResponse.result.indexOf('"code":')) {
errorObj.code = _cliResponse.result.match(/"code":(.*?),/i)[1];
errorObj.message = _cliResponse.result.substr(_cliResponse.result.indexOf('"message":') + 11, _cliResponse.result.length - _cliResponse.result.indexOf('"message":') - 15);
if (errorObj.message.indexOf('\n') > -1) {
errorObj.message.replace('\n', '----');
}
console.log(errorObj.message.toString().match(/\n/g));
}
// console.log(errorObj);
if (errorObj.code &&
errorObj.message) {
_cliResponseParsed = 'error code: '+ errorObj.code + ' message: ' + errorObj.message;
if (_cliResponseParsed.indexOf('\n') > -1) {
__cliResponseParsed = _cliResponseParsed.split('\n');
console.log(__cliResponseParsed);
}
if (_cliResponseParsed.indexOf('\r\n') > -1) {
__cliResponseParsed = _cliResponseParsed.split('\r\n');
console.log(__cliResponseParsed);
}
} else {
try {
_cliResponseParsed = JSON.parse(_cliResponse);
} catch(e) {
_cliResponseParsed = _cliResponse.result;
}
}
if (!__cliResponseParsed) {
if (typeof _cliResponseParsed !== 'object' &&
typeof _cliResponseParsed !== 'number' &&
_cliResponseParsed !== 'wrong cli string format' &&
_cliResponseParsed.indexOf('\r\n') > -1) {
_cliResponseParsed = _cliResponseParsed.split('\r\n') ;
} else if (
typeof _cliResponseParsed !== 'object' &&
typeof _cliResponseParsed !== 'number' &&
_cliResponseParsed !== 'wrong cli string format' &&
_cliResponseParsed.indexOf('\n') > -1
) {
__cliResponseParsed = _cliResponseParsed.split('\n');
} else {
__cliResponseParsed = _cliResponseParsed;
}
}
let _items = [];
if (__cliResponseParsed &&
__cliResponseParsed.length &&
__cliResponseParsed !== 'wrong cli string format') {
for (let i = 0; i < __cliResponseParsed.length; i++) {
_items.push(
<div key={ `cli-response-${Math.random(0, 9) * 10}` }>{ typeof __cliResponseParsed[i] === 'object' ? JSON.stringify(__cliResponseParsed[i], null, '\t') : __cliResponseParsed[i] }</div>
);
}
} else {
if (typeof __cliResponseParsed === 'object') {
_items.push(
<div key={ `cli-response-${Math.random(0, 9) * 10}` }>{ JSON.stringify(__cliResponseParsed, null, '\t') }</div>
);
} else if (typeof __cliResponseParsed === 'string' || typeof __cliResponseParsed === 'number' || __cliResponseParsed === 'wrong cli string format') {
_items.push(
<div key={ `cli-response-${Math.random(0, 9) * 10}` }>{ __cliResponseParsed }</div>
);
} else {
_items.push(
<div key={ `cli-response-${Math.random(0, 9) * 10}` }>{ translate('INDEX.NO_DATA_AVAILABLE') }</div>
);
}
}
return (
<div>
<div>
<strong>CLI response:</strong>
</div>
{ _items }
</div>
);
} else {
return null;
}
*/
renderCliResponse() { renderCliResponse() {
const _cliResponse = this.props.Settings.cli; const _cliResponse = this.props.Settings.cli;
let _items = []; let _items = [];
if (_cliResponse) { if (_cliResponse) {
let _cliResponseParsed; let _cliResponseParsed;
let responseType;
try { try {
_cliResponseParsed = JSON.parse(_cliResponse.result); _cliResponseParsed = JSON.parse(_cliResponse.result);
@ -582,62 +489,44 @@ class Settings extends React.Component {
} }
if (Object.prototype.toString.call(_cliResponseParsed) === '[object Array]') { if (Object.prototype.toString.call(_cliResponseParsed) === '[object Array]') {
responseType = 'array';
for (let i = 0; i < _cliResponseParsed.length; i++) { for (let i = 0; i < _cliResponseParsed.length; i++) {
_items.push( _items.push(
<div key={ `cli-response-${Math.random(0, 9) * 10}` }>{ _cliResponseParsed[i] }</div> <div key={ `cli-response-${Math.random(0, 9) * 10}` }>{ JSON.stringify(_cliResponseParsed[i], null, '\t') }</div>
); );
} }
} }
if (_cliResponseParsed.indexOf('\n') > -1) { if (Object.prototype.toString.call(_cliResponseParsed) === '[object]' ||
_cliResponseParsed = _cliResponseParsed.split('\n'); typeof _cliResponseParsed === 'object') {
console.log( _cliResponseParsed.split('\n')); responseType = 'object';
for (let i = 0; i < _cliResponseParsed.length; i++) {
_items.push( _items.push(
<div key={ `cli-response-${Math.random(0, 9) * 10}` }>{ _cliResponseParsed[i] }</div> <div key={ `cli-response-${Math.random(0, 9) * 10}` }>{ JSON.stringify(_cliResponseParsed, null, '\t') }</div>
); );
}
} }
/*let __cliResponseParsed; if (Object.prototype.toString.call(_cliResponseParsed) === 'number' ||
if (typeof _cliResponseParsed !== 'object' && typeof _cliResponseParsed === 'boolean' ||
typeof _cliResponseParsed !== 'number' && _cliResponseParsed === 'wrong cli string format') {
_cliResponseParsed !== 'wrong cli string format' && responseType = 'number';
_cliResponseParsed.indexOf('\r\n') > -1) {
_cliResponseParsed = _cliResponseParsed.split('\r\n') ; _items.push(
} else if ( <div key={ `cli-response-${Math.random(0, 9) * 10}` }>{ _cliResponseParsed.toString() }</div>
typeof _cliResponseParsed !== 'object' && );
typeof _cliResponseParsed !== 'number' &&
_cliResponseParsed !== 'wrong cli string format' &&
_cliResponseParsed.indexOf('\n') > -1
) {
__cliResponseParsed = _cliResponseParsed.split('\n') ;
} else {
__cliResponseParsed = _cliResponseParsed;
} }
let _items = []; if (responseType !== 'number' &&
responseType !== 'array' &&
responseType !== 'object' &&
_cliResponseParsed.indexOf('\n') > -1) {
_cliResponseParsed = _cliResponseParsed.split('\n');
if (__cliResponseParsed.length && for (let i = 0; i < _cliResponseParsed.length; i++) {
__cliResponseParsed !== 'wrong cli string format') {
for (let i = 0; i < __cliResponseParsed.length; i++) {
_items.push( _items.push(
<div key={ `cli-response-${Math.random(0, 9) * 10}` }>{ typeof __cliResponseParsed[i] === 'object' ? JSON.stringify(__cliResponseParsed[i], null, '\t') : __cliResponseParsed[i] }</div> <div key={ `cli-response-${Math.random(0, 9) * 10}` }>{ _cliResponseParsed[i] }</div>
); );
} }
} else { }
if (typeof _cliResponseParsed === 'object') {
_items.push(
<div key={ `cli-response-${Math.random(0, 9) * 10}` }>{ JSON.stringify(__cliResponseParsed, null, '\t') }</div>
);
} else if (typeof _cliResponseParsed === 'string' || typeof _cliResponseParsed === 'number' || _cliResponseParsed === 'wrong cli string format') {
_items.push(
<div key={ `cli-response-${Math.random(0, 9) * 10}` }>{ __cliResponseParsed }</div>
);
} else {
_items.push(
<div key={ `cli-response-${Math.random(0, 9) * 10}` }>{ translate('INDEX.NO_DATA_AVAILABLE') }</div>
);
}*/
//}
return ( return (
<div> <div>

Loading…
Cancel
Save