Loading js-apps/meep-frontend/package-lock.json +15 −5 Original line number Diff line number Diff line Loading @@ -9307,6 +9307,11 @@ "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", "dev": true }, "ionicons": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-2.0.1.tgz", "integrity": "sha1-yjmBEyk+qHAkT1OPCqu9S1sgmj4=" }, "ip": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", Loading Loading @@ -10440,7 +10445,7 @@ "requires": { "is-in-browser": "^1.1.3", "symbol-observable": "^1.1.0", "warning": "^3.0.0" "warning": "^4.0.1" } }, "jss-camel-case": { Loading @@ -10456,7 +10461,7 @@ "resolved": "https://registry.npmjs.org/jss-compose/-/jss-compose-5.0.0.tgz", "integrity": "sha512-YofRYuiA0+VbeOw0VjgkyO380sA4+TWDrW52nSluD9n+1FWOlDzNbgpZ/Sb3Y46+DcAbOS21W5jo6SAqUEiuwA==", "requires": { "warning": "^3.0.0" "warning": "^4.0.1" } }, "jss-default-unit": { Loading @@ -10474,7 +10479,7 @@ "resolved": "https://registry.npmjs.org/jss-extend/-/jss-extend-6.2.0.tgz", "integrity": "sha512-YszrmcB6o9HOsKPszK7NeDBNNjVyiW864jfoiHoMlgMIg2qlxKw70axZHqgczXHDcoyi/0/ikP1XaHDPRvYtEA==", "requires": { "warning": "^3.0.0" "warning": "^4.0.1" } }, "jss-global": { Loading @@ -10487,7 +10492,7 @@ "resolved": "https://registry.npmjs.org/jss-nested/-/jss-nested-6.0.1.tgz", "integrity": "sha512-rn964TralHOZxoyEgeq3hXY8hyuCElnvQoVrQwKHVmu55VRDd6IqExAx9be5HgK0yN/+hQdgAXQl/GUrBbbSTA==", "requires": { "warning": "^3.0.0" "warning": "^4.0.1" } }, "jss-preset-default": { Loading Loading @@ -10517,7 +10522,7 @@ "resolved": "https://registry.npmjs.org/jss-template/-/jss-template-1.0.1.tgz", "integrity": "sha512-m5BqEWha17fmIVXm1z8xbJhY6GFJxNB9H68GVnCWPyGYfxiAgY9WTQyvDAVj+pYRgrXSOfN5V1T4+SzN1sJTeg==", "requires": { "warning": "^3.0.0" "warning": "^4.0.1" } }, "jss-vendor-prefixer": { Loading Loading @@ -16098,6 +16103,11 @@ "setimmediate": "^1.0.4" } }, "tinycolor2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.1.tgz", "integrity": "sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g=" }, "tinyqueue": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/tinyqueue/-/tinyqueue-2.0.3.tgz", js-apps/meep-frontend/package.json +3 −1 Original line number Diff line number Diff line Loading @@ -8,7 +8,7 @@ "test:verbose": "jest --verbose true", "test:coverage": "jest --verbose true --coverage --colors", "build": "webpack", "build:dev": "webpack-dev-server --https true --port 8091 --host 10.3.16.105 --env.MEEP_HOST=10.3.16.105" "build:dev": "webpack-dev-server --https true --port 8092 --host 10.3.16.105 --env.MEEP_HOST=10.3.16.105:8081" }, "author": "", "license": "ISC", Loading Loading @@ -47,6 +47,7 @@ "d3-force": "^2.0.1", "d3-hierarchy": "^1.1.8", "deep-equal": "2.0.3", "ionicons": "^2.0.1", "jquery": "3.3.1", "leaflet": "1.6.0", "lodash": "^4.17.11", Loading @@ -68,6 +69,7 @@ "redux-thunk": "^2.3.0", "reselect": "^4.0.0", "rmwc": "^4.0.1", "tinycolor2": "^1.4.1", "vis": "4.21.0", "warning": "^4.0.1", "yamljs": "0.3.0" Loading js-apps/meep-frontend/src/js/containers/cfg/cfg-network-element-container.js +1 −5 Original line number Diff line number Diff line Loading @@ -1179,11 +1179,7 @@ parentTypes[ELEMENT_TYPE_FOG] = [ELEMENT_TYPE_POA, ELEMENT_TYPE_POA_CELL]; parentTypes[ELEMENT_TYPE_UE] = [ELEMENT_TYPE_POA, ELEMENT_TYPE_POA_CELL]; parentTypes[ELEMENT_TYPE_DC] = [ELEMENT_TYPE_SCENARIO]; parentTypes[ELEMENT_TYPE_UE_APP] = [ELEMENT_TYPE_UE]; parentTypes[ELEMENT_TYPE_MECSVC] = [ ELEMENT_TYPE_FOG, ELEMENT_TYPE_EDGE, ELEMENT_TYPE_CN ]; parentTypes[ELEMENT_TYPE_MECSVC] = [ELEMENT_TYPE_FOG, ELEMENT_TYPE_EDGE, ELEMENT_TYPE_CN]; parentTypes[ELEMENT_TYPE_EDGE_APP] = [ELEMENT_TYPE_FOG, ELEMENT_TYPE_EDGE]; parentTypes[ELEMENT_TYPE_CLOUD_APP] = [ELEMENT_TYPE_DC]; Loading js-apps/meep-frontend/src/js/containers/cfg/cfg-page-container.js +4 −19 Original line number Diff line number Diff line Loading @@ -196,15 +196,6 @@ class CfgPageContainer extends Component { } } findIndexByKeyValue(_array, key, value) { for (var i = 0; i < _array.length; i++) { if (getElemFieldVal(_array[i], key) === value) { return i; } } return -1; } findOtherThanSelfIndexByKeyValue(_array, key, value, exceptionId) { for (var i = 0; i < _array.length; i++) { if (getElemFieldVal(_array[i], key) === value) { Loading Loading @@ -248,7 +239,7 @@ class CfgPageContainer extends Component { return false; } if (this.findOtherThanSelfIndexByKeyValue(data, FIELD_NAME, name, element.id) !== -1) { if (data[name] && (data[name].id !== element.id)) { this.props.cfgElemSetErrMsg('Element name already exists'); return false; } Loading @@ -259,13 +250,7 @@ class CfgPageContainer extends Component { } // Make sure parent exists if ( this.findIndexByKeyValue( data, FIELD_NAME, getElemFieldVal(element, FIELD_PARENT) ) === -1 ) { if (!data[getElemFieldVal(element, FIELD_PARENT)]) { this.props.cfgElemSetErrMsg('Parent does not exist'); return false; } Loading @@ -287,10 +272,10 @@ class CfgPageContainer extends Component { const elemsWithSameExtPort = pipe( filter(hasDifferentName(element)), filter(hasExtPortsInCommon(element)) )(data); )(Object.values(data)); if (elemsWithSameExtPort.length) { const elemNames = elemsWithSameExtPort.map(e => e.id); const elemNames = elemsWithSameExtPort.map(e => getElemFieldVal(e, FIELD_NAME)); this.props.cfgElemSetErrMsg( `External port already used in ${elemNames}` ); Loading js-apps/meep-frontend/src/js/containers/cfg/cfg-table.js +6 −6 Original line number Diff line number Diff line Loading @@ -116,15 +116,15 @@ class CfgTable extends Component { render() { const classes = this.classes; const table = this.props.table; const data = table.entries || []; const data = table.entries || {}; const length = Object.keys(data).length; const order = table.order; const orderBy = table.orderBy; const rowsPerPage = table.rowsPerPage; const page = table.page; const emptyRows = rowsPerPage - Math.min(rowsPerPage, data.length - page * rowsPerPage); const emptyRows = rowsPerPage - Math.min(rowsPerPage, length - page * rowsPerPage); if (!data || data.length < 1) { if (!data || length < 1) { return null; } Loading Loading @@ -188,7 +188,7 @@ class CfgTable extends Component { </TableRow> </TableHead> <TableBody> {data {Object.values(data) .sort(getSortingByField(order, orderBy)) .slice( page * rowsPerPage, Loading Loading @@ -227,7 +227,7 @@ class CfgTable extends Component { </div> <TablePagination component="div" count={data.length} count={length} rowsPerPage={rowsPerPage} page={page} backIconButtonProps={{ 'aria-label': 'Previous Page' }} Loading Loading
js-apps/meep-frontend/package-lock.json +15 −5 Original line number Diff line number Diff line Loading @@ -9307,6 +9307,11 @@ "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", "dev": true }, "ionicons": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-2.0.1.tgz", "integrity": "sha1-yjmBEyk+qHAkT1OPCqu9S1sgmj4=" }, "ip": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", Loading Loading @@ -10440,7 +10445,7 @@ "requires": { "is-in-browser": "^1.1.3", "symbol-observable": "^1.1.0", "warning": "^3.0.0" "warning": "^4.0.1" } }, "jss-camel-case": { Loading @@ -10456,7 +10461,7 @@ "resolved": "https://registry.npmjs.org/jss-compose/-/jss-compose-5.0.0.tgz", "integrity": "sha512-YofRYuiA0+VbeOw0VjgkyO380sA4+TWDrW52nSluD9n+1FWOlDzNbgpZ/Sb3Y46+DcAbOS21W5jo6SAqUEiuwA==", "requires": { "warning": "^3.0.0" "warning": "^4.0.1" } }, "jss-default-unit": { Loading @@ -10474,7 +10479,7 @@ "resolved": "https://registry.npmjs.org/jss-extend/-/jss-extend-6.2.0.tgz", "integrity": "sha512-YszrmcB6o9HOsKPszK7NeDBNNjVyiW864jfoiHoMlgMIg2qlxKw70axZHqgczXHDcoyi/0/ikP1XaHDPRvYtEA==", "requires": { "warning": "^3.0.0" "warning": "^4.0.1" } }, "jss-global": { Loading @@ -10487,7 +10492,7 @@ "resolved": "https://registry.npmjs.org/jss-nested/-/jss-nested-6.0.1.tgz", "integrity": "sha512-rn964TralHOZxoyEgeq3hXY8hyuCElnvQoVrQwKHVmu55VRDd6IqExAx9be5HgK0yN/+hQdgAXQl/GUrBbbSTA==", "requires": { "warning": "^3.0.0" "warning": "^4.0.1" } }, "jss-preset-default": { Loading Loading @@ -10517,7 +10522,7 @@ "resolved": "https://registry.npmjs.org/jss-template/-/jss-template-1.0.1.tgz", "integrity": "sha512-m5BqEWha17fmIVXm1z8xbJhY6GFJxNB9H68GVnCWPyGYfxiAgY9WTQyvDAVj+pYRgrXSOfN5V1T4+SzN1sJTeg==", "requires": { "warning": "^3.0.0" "warning": "^4.0.1" } }, "jss-vendor-prefixer": { Loading Loading @@ -16098,6 +16103,11 @@ "setimmediate": "^1.0.4" } }, "tinycolor2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.1.tgz", "integrity": "sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g=" }, "tinyqueue": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/tinyqueue/-/tinyqueue-2.0.3.tgz",
js-apps/meep-frontend/package.json +3 −1 Original line number Diff line number Diff line Loading @@ -8,7 +8,7 @@ "test:verbose": "jest --verbose true", "test:coverage": "jest --verbose true --coverage --colors", "build": "webpack", "build:dev": "webpack-dev-server --https true --port 8091 --host 10.3.16.105 --env.MEEP_HOST=10.3.16.105" "build:dev": "webpack-dev-server --https true --port 8092 --host 10.3.16.105 --env.MEEP_HOST=10.3.16.105:8081" }, "author": "", "license": "ISC", Loading Loading @@ -47,6 +47,7 @@ "d3-force": "^2.0.1", "d3-hierarchy": "^1.1.8", "deep-equal": "2.0.3", "ionicons": "^2.0.1", "jquery": "3.3.1", "leaflet": "1.6.0", "lodash": "^4.17.11", Loading @@ -68,6 +69,7 @@ "redux-thunk": "^2.3.0", "reselect": "^4.0.0", "rmwc": "^4.0.1", "tinycolor2": "^1.4.1", "vis": "4.21.0", "warning": "^4.0.1", "yamljs": "0.3.0" Loading
js-apps/meep-frontend/src/js/containers/cfg/cfg-network-element-container.js +1 −5 Original line number Diff line number Diff line Loading @@ -1179,11 +1179,7 @@ parentTypes[ELEMENT_TYPE_FOG] = [ELEMENT_TYPE_POA, ELEMENT_TYPE_POA_CELL]; parentTypes[ELEMENT_TYPE_UE] = [ELEMENT_TYPE_POA, ELEMENT_TYPE_POA_CELL]; parentTypes[ELEMENT_TYPE_DC] = [ELEMENT_TYPE_SCENARIO]; parentTypes[ELEMENT_TYPE_UE_APP] = [ELEMENT_TYPE_UE]; parentTypes[ELEMENT_TYPE_MECSVC] = [ ELEMENT_TYPE_FOG, ELEMENT_TYPE_EDGE, ELEMENT_TYPE_CN ]; parentTypes[ELEMENT_TYPE_MECSVC] = [ELEMENT_TYPE_FOG, ELEMENT_TYPE_EDGE, ELEMENT_TYPE_CN]; parentTypes[ELEMENT_TYPE_EDGE_APP] = [ELEMENT_TYPE_FOG, ELEMENT_TYPE_EDGE]; parentTypes[ELEMENT_TYPE_CLOUD_APP] = [ELEMENT_TYPE_DC]; Loading
js-apps/meep-frontend/src/js/containers/cfg/cfg-page-container.js +4 −19 Original line number Diff line number Diff line Loading @@ -196,15 +196,6 @@ class CfgPageContainer extends Component { } } findIndexByKeyValue(_array, key, value) { for (var i = 0; i < _array.length; i++) { if (getElemFieldVal(_array[i], key) === value) { return i; } } return -1; } findOtherThanSelfIndexByKeyValue(_array, key, value, exceptionId) { for (var i = 0; i < _array.length; i++) { if (getElemFieldVal(_array[i], key) === value) { Loading Loading @@ -248,7 +239,7 @@ class CfgPageContainer extends Component { return false; } if (this.findOtherThanSelfIndexByKeyValue(data, FIELD_NAME, name, element.id) !== -1) { if (data[name] && (data[name].id !== element.id)) { this.props.cfgElemSetErrMsg('Element name already exists'); return false; } Loading @@ -259,13 +250,7 @@ class CfgPageContainer extends Component { } // Make sure parent exists if ( this.findIndexByKeyValue( data, FIELD_NAME, getElemFieldVal(element, FIELD_PARENT) ) === -1 ) { if (!data[getElemFieldVal(element, FIELD_PARENT)]) { this.props.cfgElemSetErrMsg('Parent does not exist'); return false; } Loading @@ -287,10 +272,10 @@ class CfgPageContainer extends Component { const elemsWithSameExtPort = pipe( filter(hasDifferentName(element)), filter(hasExtPortsInCommon(element)) )(data); )(Object.values(data)); if (elemsWithSameExtPort.length) { const elemNames = elemsWithSameExtPort.map(e => e.id); const elemNames = elemsWithSameExtPort.map(e => getElemFieldVal(e, FIELD_NAME)); this.props.cfgElemSetErrMsg( `External port already used in ${elemNames}` ); Loading
js-apps/meep-frontend/src/js/containers/cfg/cfg-table.js +6 −6 Original line number Diff line number Diff line Loading @@ -116,15 +116,15 @@ class CfgTable extends Component { render() { const classes = this.classes; const table = this.props.table; const data = table.entries || []; const data = table.entries || {}; const length = Object.keys(data).length; const order = table.order; const orderBy = table.orderBy; const rowsPerPage = table.rowsPerPage; const page = table.page; const emptyRows = rowsPerPage - Math.min(rowsPerPage, data.length - page * rowsPerPage); const emptyRows = rowsPerPage - Math.min(rowsPerPage, length - page * rowsPerPage); if (!data || data.length < 1) { if (!data || length < 1) { return null; } Loading Loading @@ -188,7 +188,7 @@ class CfgTable extends Component { </TableRow> </TableHead> <TableBody> {data {Object.values(data) .sort(getSortingByField(order, orderBy)) .slice( page * rowsPerPage, Loading Loading @@ -227,7 +227,7 @@ class CfgTable extends Component { </div> <TablePagination component="div" count={data.length} count={length} rowsPerPage={rowsPerPage} page={page} backIconButtonProps={{ 'aria-label': 'Previous Page' }} Loading