Loading js-apps/meep-frontend/src/js/containers/cfg/cfg-network-element-container.js +24 −51 Original line number Diff line number Diff line Loading @@ -978,9 +978,8 @@ const ElementCfgButtons = ({ ); }; const getSuggestedName = ( parent, type, elements ) => { const getSuggestedName = ( type, elements ) => { var suggestedPrefix = ''; if(parent) { switch(type) { case ELEMENT_TYPE_UE_APP: suggestedPrefix = 'ue-app'; Loading @@ -997,27 +996,11 @@ const getSuggestedName = ( parent, type, elements ) => { default: suggestedPrefix = type.toLowerCase(); } } //return unique name var increment = 1; var found = true; var suggestedName = suggestedPrefix + String(increment); while(found) { found = false; for (var i = 0; i < elements.length; i++) { if (getElemFieldVal(elements[i], FIELD_NAME) === suggestedName) { found=true; increment++; suggestedName = suggestedPrefix + String(increment); break; } } } return suggestedName; return createUniqueName(elements, suggestedPrefix); }; const HeaderGroup = ({ element, onTypeChange, onParentChange, onUpdate, typeDisabled, parentDisabled, nameDisabled }) => { const HeaderGroup = ({ element, onTypeChange, onUpdate, typeDisabled, parentDisabled, nameDisabled }) => { var type = getElemFieldVal(element, FIELD_TYPE) || ''; var parent = getElemFieldVal(element, FIELD_PARENT) || ''; var parentElements = element.parentElements || [parent]; Loading @@ -1025,7 +1008,7 @@ const HeaderGroup = ({ element, onTypeChange, onParentChange, onUpdate, typeDisa return ( <> <Grid style={{ marginTop: 10 }}> {type && type !== 'SCENARIO' && ( {type !== 'SCENARIO' && ( <IDSelect label="Element Type" span={6} Loading @@ -1036,12 +1019,12 @@ const HeaderGroup = ({ element, onTypeChange, onParentChange, onUpdate, typeDisa cydata={CFG_ELEM_TYPE} /> )} {type && ( {type && type !== 'SCENARIO' && ( <IDSelect label="Parent Node" span={6} options={parentElements} onChange={elem => onParentChange(elem.target.value, type)} onChange={elem => onUpdate(FIELD_PARENT, elem.target.value, null)} value={parent} disabled={parentDisabled} cydata={CFG_ELEM_PARENT} Loading Loading @@ -1111,16 +1094,9 @@ export class CfgNetworkElementContainer extends Component { elem.parentElements = this.elementsOfType(getParentTypes(elementType)); this.props.cfgElemUpdate(elem); if (this.props.configMode !== CFG_ELEM_MODE_CLONE) { setElemFieldVal(elem, FIELD_NAME, getSuggestedName(elementType, this.props.tableData)); } // Element configuration parent change handler onElementParentChange(elementParent, elementType) { var elem = updateObject({}, this.props.configuredElement); setElemFieldVal(elem, FIELD_PARENT, elementParent); setElemFieldVal(elem, FIELD_NAME, getSuggestedName(elementParent, elementType, this.props.tableData)); this.props.cfgElemUpdate(elem); } Loading Loading @@ -1160,9 +1136,6 @@ export class CfgNetworkElementContainer extends Component { onTypeChange={type => { this.onElementTypeChange(type); }} onParentChange={(val, type) => { this.onElementParentChange(val, type); }} onUpdate={(name, val, err) => { this.onUpdateElement(name, val, err); }} Loading js-apps/meep-frontend/src/js/containers/cfg/cfg-page-container.js +2 −2 Original line number Diff line number Diff line Loading @@ -269,8 +269,8 @@ class CfgPageContainer extends Component { } } //force update on element to update the the visual aspect of the scenario this.props.updateScenarioElem(element); //force update on the visual aspect of the scenario this.props.updateScenario(); this.props.cfgElemClear(); } Loading js-apps/meep-frontend/src/js/containers/meep-container.js +13 −0 Original line number Diff line number Diff line Loading @@ -397,6 +397,16 @@ class MeepContainer extends Component { } } // Update scenario updateScenario(pageType) { var scenario = pageType === TYPE_CFG ? this.props.cfg.scenario : this.props.exec.scenario; var updatedScenario = updateObject({}, scenario); this.changeScenario(pageType, updatedScenario); } // Update element in scenario updateScenarioElem(pageType, element) { var scenario = Loading Loading @@ -438,6 +448,9 @@ class MeepContainer extends Component { newScenarioElem={(elem, update) => { this.newScenarioElem(TYPE_CFG, elem, update); }} updateScenario={() => { this.updateScenario(TYPE_CFG); }} updateScenarioElem={elem => { this.updateScenarioElem(TYPE_CFG, elem); }} Loading js-apps/meep-frontend/src/js/util/scenario-utils.js +31 −3 Original line number Diff line number Diff line Loading @@ -243,7 +243,7 @@ export function addElementToScenario(scenario, element) { var type = getElemFieldVal(element, FIELD_TYPE); var name = getElemFieldVal(element, FIELD_NAME); var uniqueId = uuid(); //uniqueId = name; var parent = getElemFieldVal(element, FIELD_PARENT); // Prepare network element to be added to scenario Loading Loading @@ -421,6 +421,24 @@ export function updateElementInScenario(scenario, element) { element, FIELD_INT_ZONE_PKT_LOSS ); //if domain name changed, other elements created based on that name must also be updated (default ones) for (var i2 in domain.zones) { var zoneCommon = domain.zones[i2]; if (zoneCommon.id === domain.name + '-' + COMMON_ZONE_TYPE_STR) { for (var i3 in zoneCommon.networkLocations) { var nlDomainCommon = zoneCommon.networkLocations[i3]; if (nlDomainCommon.id === zoneCommon.name + '-' + DEFAULT_NL_TYPE_STR) { nlDomainCommon.id = name + '-' + COMMON_ZONE_TYPE_STR + '-' + DEFAULT_NL_TYPE_STR; nlDomainCommon.name = name + '-' + COMMON_ZONE_TYPE_STR + '-' + DEFAULT_NL_TYPE_STR; break; } } zoneCommon.id = name + '-' + COMMON_ZONE_TYPE_STR; zoneCommon.name = name + '-' + COMMON_ZONE_TYPE_STR; break; } } domain.label = name; domain.name = name; return; Loading @@ -444,6 +462,16 @@ export function updateElementInScenario(scenario, element) { FIELD_INTRA_ZONE_PKT_LOSS ); } //if zone name changed, other elements created based on that name must also be updated (default ones) for (var j2 in zone.networkLocations) { var nlZoneCommon = zone.networkLocations[j2]; if (nlZoneCommon.id === zone.name + '-' + DEFAULT_NL_TYPE_STR) { nlZoneCommon.id = name + '-' + DEFAULT_NL_TYPE_STR; nlZoneCommon.name = name + '-' + DEFAULT_NL_TYPE_STR; } } zone.label = name; zone.name = name; return; Loading Loading @@ -493,7 +521,7 @@ export function updateElementInScenario(scenario, element) { if (process.id === id) { pl.processes[m] = createProcess( process.id, process.name, name, process.type, element ); Loading Loading @@ -574,7 +602,7 @@ export function createProcess(uniqueId, name, type, element) { var port = getElemFieldVal(element, FIELD_PORT); var gpuCount = getElemFieldVal(element, FIELD_GPU_COUNT); var process = { id: name, id: uniqueId, name: name, type: type, isExternal: isExternal, Loading Loading
js-apps/meep-frontend/src/js/containers/cfg/cfg-network-element-container.js +24 −51 Original line number Diff line number Diff line Loading @@ -978,9 +978,8 @@ const ElementCfgButtons = ({ ); }; const getSuggestedName = ( parent, type, elements ) => { const getSuggestedName = ( type, elements ) => { var suggestedPrefix = ''; if(parent) { switch(type) { case ELEMENT_TYPE_UE_APP: suggestedPrefix = 'ue-app'; Loading @@ -997,27 +996,11 @@ const getSuggestedName = ( parent, type, elements ) => { default: suggestedPrefix = type.toLowerCase(); } } //return unique name var increment = 1; var found = true; var suggestedName = suggestedPrefix + String(increment); while(found) { found = false; for (var i = 0; i < elements.length; i++) { if (getElemFieldVal(elements[i], FIELD_NAME) === suggestedName) { found=true; increment++; suggestedName = suggestedPrefix + String(increment); break; } } } return suggestedName; return createUniqueName(elements, suggestedPrefix); }; const HeaderGroup = ({ element, onTypeChange, onParentChange, onUpdate, typeDisabled, parentDisabled, nameDisabled }) => { const HeaderGroup = ({ element, onTypeChange, onUpdate, typeDisabled, parentDisabled, nameDisabled }) => { var type = getElemFieldVal(element, FIELD_TYPE) || ''; var parent = getElemFieldVal(element, FIELD_PARENT) || ''; var parentElements = element.parentElements || [parent]; Loading @@ -1025,7 +1008,7 @@ const HeaderGroup = ({ element, onTypeChange, onParentChange, onUpdate, typeDisa return ( <> <Grid style={{ marginTop: 10 }}> {type && type !== 'SCENARIO' && ( {type !== 'SCENARIO' && ( <IDSelect label="Element Type" span={6} Loading @@ -1036,12 +1019,12 @@ const HeaderGroup = ({ element, onTypeChange, onParentChange, onUpdate, typeDisa cydata={CFG_ELEM_TYPE} /> )} {type && ( {type && type !== 'SCENARIO' && ( <IDSelect label="Parent Node" span={6} options={parentElements} onChange={elem => onParentChange(elem.target.value, type)} onChange={elem => onUpdate(FIELD_PARENT, elem.target.value, null)} value={parent} disabled={parentDisabled} cydata={CFG_ELEM_PARENT} Loading Loading @@ -1111,16 +1094,9 @@ export class CfgNetworkElementContainer extends Component { elem.parentElements = this.elementsOfType(getParentTypes(elementType)); this.props.cfgElemUpdate(elem); if (this.props.configMode !== CFG_ELEM_MODE_CLONE) { setElemFieldVal(elem, FIELD_NAME, getSuggestedName(elementType, this.props.tableData)); } // Element configuration parent change handler onElementParentChange(elementParent, elementType) { var elem = updateObject({}, this.props.configuredElement); setElemFieldVal(elem, FIELD_PARENT, elementParent); setElemFieldVal(elem, FIELD_NAME, getSuggestedName(elementParent, elementType, this.props.tableData)); this.props.cfgElemUpdate(elem); } Loading Loading @@ -1160,9 +1136,6 @@ export class CfgNetworkElementContainer extends Component { onTypeChange={type => { this.onElementTypeChange(type); }} onParentChange={(val, type) => { this.onElementParentChange(val, type); }} onUpdate={(name, val, err) => { this.onUpdateElement(name, val, err); }} Loading
js-apps/meep-frontend/src/js/containers/cfg/cfg-page-container.js +2 −2 Original line number Diff line number Diff line Loading @@ -269,8 +269,8 @@ class CfgPageContainer extends Component { } } //force update on element to update the the visual aspect of the scenario this.props.updateScenarioElem(element); //force update on the visual aspect of the scenario this.props.updateScenario(); this.props.cfgElemClear(); } Loading
js-apps/meep-frontend/src/js/containers/meep-container.js +13 −0 Original line number Diff line number Diff line Loading @@ -397,6 +397,16 @@ class MeepContainer extends Component { } } // Update scenario updateScenario(pageType) { var scenario = pageType === TYPE_CFG ? this.props.cfg.scenario : this.props.exec.scenario; var updatedScenario = updateObject({}, scenario); this.changeScenario(pageType, updatedScenario); } // Update element in scenario updateScenarioElem(pageType, element) { var scenario = Loading Loading @@ -438,6 +448,9 @@ class MeepContainer extends Component { newScenarioElem={(elem, update) => { this.newScenarioElem(TYPE_CFG, elem, update); }} updateScenario={() => { this.updateScenario(TYPE_CFG); }} updateScenarioElem={elem => { this.updateScenarioElem(TYPE_CFG, elem); }} Loading
js-apps/meep-frontend/src/js/util/scenario-utils.js +31 −3 Original line number Diff line number Diff line Loading @@ -243,7 +243,7 @@ export function addElementToScenario(scenario, element) { var type = getElemFieldVal(element, FIELD_TYPE); var name = getElemFieldVal(element, FIELD_NAME); var uniqueId = uuid(); //uniqueId = name; var parent = getElemFieldVal(element, FIELD_PARENT); // Prepare network element to be added to scenario Loading Loading @@ -421,6 +421,24 @@ export function updateElementInScenario(scenario, element) { element, FIELD_INT_ZONE_PKT_LOSS ); //if domain name changed, other elements created based on that name must also be updated (default ones) for (var i2 in domain.zones) { var zoneCommon = domain.zones[i2]; if (zoneCommon.id === domain.name + '-' + COMMON_ZONE_TYPE_STR) { for (var i3 in zoneCommon.networkLocations) { var nlDomainCommon = zoneCommon.networkLocations[i3]; if (nlDomainCommon.id === zoneCommon.name + '-' + DEFAULT_NL_TYPE_STR) { nlDomainCommon.id = name + '-' + COMMON_ZONE_TYPE_STR + '-' + DEFAULT_NL_TYPE_STR; nlDomainCommon.name = name + '-' + COMMON_ZONE_TYPE_STR + '-' + DEFAULT_NL_TYPE_STR; break; } } zoneCommon.id = name + '-' + COMMON_ZONE_TYPE_STR; zoneCommon.name = name + '-' + COMMON_ZONE_TYPE_STR; break; } } domain.label = name; domain.name = name; return; Loading @@ -444,6 +462,16 @@ export function updateElementInScenario(scenario, element) { FIELD_INTRA_ZONE_PKT_LOSS ); } //if zone name changed, other elements created based on that name must also be updated (default ones) for (var j2 in zone.networkLocations) { var nlZoneCommon = zone.networkLocations[j2]; if (nlZoneCommon.id === zone.name + '-' + DEFAULT_NL_TYPE_STR) { nlZoneCommon.id = name + '-' + DEFAULT_NL_TYPE_STR; nlZoneCommon.name = name + '-' + DEFAULT_NL_TYPE_STR; } } zone.label = name; zone.name = name; return; Loading Loading @@ -493,7 +521,7 @@ export function updateElementInScenario(scenario, element) { if (process.id === id) { pl.processes[m] = createProcess( process.id, process.name, name, process.type, element ); Loading Loading @@ -574,7 +602,7 @@ export function createProcess(uniqueId, name, type, element) { var port = getElemFieldVal(element, FIELD_PORT); var gpuCount = getElemFieldVal(element, FIELD_GPU_COUNT); var process = { id: name, id: uniqueId, name: name, type: type, isExternal: isExternal, Loading