Commit ee6a92ea authored by Simon Pastor's avatar Simon Pastor
Browse files

poa_cell_4g and domain 4g related config

parent d6942582
Loading
Loading
Loading
Loading
+92 −8
Original line number Diff line number Diff line
@@ -48,6 +48,10 @@ import {
  FIELD_CMD_ARGS,
  FIELD_EXT_PORT,
  FIELD_IS_EXTERNAL,
  FIELD_MCC,
  FIELD_MNC,
  FIELD_DEFAULT_CELL_ID,
  FIELD_CELL_ID,
  FIELD_CHART_ENABLED,
  FIELD_CHART_LOC,
  FIELD_CHART_VAL,
@@ -74,6 +78,7 @@ import {
  ELEMENT_TYPE_OPERATOR,
  ELEMENT_TYPE_ZONE,
  ELEMENT_TYPE_POA,
  ELEMENT_TYPE_POA_CELL_4G,
  ELEMENT_TYPE_DC,
  ELEMENT_TYPE_CN,
  ELEMENT_TYPE_EDGE,
@@ -111,6 +116,10 @@ import {
  CFG_ELEM_CMD,
  CFG_ELEM_ARGS,
  CFG_ELEM_EXTERNAL_CHECK,
  CFG_ELEM_MNC,
  CFG_ELEM_MCC,
  CFG_ELEM_DEFAULT_CELL_ID,
  CFG_ELEM_CELL_ID,
  CFG_ELEM_CHART_CHECK,
  CFG_ELEM_CHART_LOC,
  CFG_ELEM_CHART_GROUP,
@@ -246,6 +255,28 @@ const validateGpuCount = count => {
  return null;
};

const validateCellularMccMnc = val => {
  if (val) {
    if (val.length > 3) {
      return 'Maximum 3 numeric characters';
    } else if (!val.match(/^(([0-9][0-9]*)?[0-9])+$/)) {
      return 'Numeric characters only';
    }
  }
  return null;
};

const validateCellularCellId = val => {
  if (val) {
    if (val.length > 7) {
      return 'Maximum 7 characters';
    } else if (!val.match(/^(([_a-f0-9A-F][_-a-f0-9]*)?[_a-f0-9A-F])+$/)) {
      return 'Alphanumeric hex characters only';
    }
  }
  return null;
};

const validateExternalPort = port => {
  if (port === '') {
    return null;
@@ -592,11 +623,42 @@ const TypeRelatedFormFields = ({ onUpdate, element }) => {
    );
  case ELEMENT_TYPE_OPERATOR:
    return (
      <>
        <NCGroups
          onUpdate={onUpdate}
          element={element}
          prefixes={[PREFIX_INT_ZONE]}
        />
        <Grid>
          <CfgTextFieldCell
            span={3}
            onUpdate={onUpdate}
            element={element}
            validate={validateCellularMccMnc}
            label="MCC"
            fieldName={FIELD_MCC}
            cydata={CFG_ELEM_MCC}
          />
          <CfgTextFieldCell
            span={3}
            onUpdate={onUpdate}
            element={element}
            validate={validateCellularMccMnc}
            label="MNC"
            fieldName={FIELD_MNC}
            cydata={CFG_ELEM_MNC}
          />
          <CfgTextFieldCell
            span={6}
            onUpdate={onUpdate}
            element={element}
            validate={validateCellularCellId}
            label="Default cell Id"
            fieldName={FIELD_DEFAULT_CELL_ID}
            cydata={CFG_ELEM_DEFAULT_CELL_ID}
          />
        </Grid>
      </>
    );
  case ELEMENT_TYPE_ZONE:
    return (
@@ -614,6 +676,24 @@ const TypeRelatedFormFields = ({ onUpdate, element }) => {
        prefixes={[PREFIX_TERM_LINK]}
      />
    );
  case ELEMENT_TYPE_POA_CELL_4G:
    return (
      <>
        <NCGroups
          onUpdate={onUpdate}
          element={element}
          prefixes={[PREFIX_TERM_LINK]}
        />
        <CfgTextFieldCell
          onUpdate={onUpdate}
          element={element}
          validate={validateCellularCellId}
          label="Cell Id"
          fieldName={FIELD_CELL_ID}
          cydata={CFG_ELEM_CELL_ID}
        />
      </>
    );
  case ELEMENT_TYPE_UE:
  case ELEMENT_TYPE_DC:
  case ELEMENT_TYPE_EDGE:
@@ -878,7 +958,7 @@ const elementTypes = [
  },
  {
    label: 'Network Location',
    options: [ELEMENT_TYPE_DC, ELEMENT_TYPE_POA]
    options: [ELEMENT_TYPE_POA, ELEMENT_TYPE_POA_CELL_4G]
  },
  {
    label: 'Physical Location',
@@ -906,9 +986,10 @@ parentTypes[ELEMENT_TYPE_OPERATOR] = [ELEMENT_TYPE_SCENARIO];
parentTypes[ELEMENT_TYPE_EDGE] = [ELEMENT_TYPE_ZONE];
parentTypes[ELEMENT_TYPE_ZONE] = [ELEMENT_TYPE_OPERATOR];
parentTypes[ELEMENT_TYPE_POA] = [ELEMENT_TYPE_ZONE];
parentTypes[ELEMENT_TYPE_POA_CELL_4G] = [ELEMENT_TYPE_ZONE];
parentTypes[ELEMENT_TYPE_CN] = [ELEMENT_TYPE_ZONE];
parentTypes[ELEMENT_TYPE_FOG] = [ELEMENT_TYPE_POA];
parentTypes[ELEMENT_TYPE_UE] = [ELEMENT_TYPE_POA];
parentTypes[ELEMENT_TYPE_FOG] = [ELEMENT_TYPE_POA, ELEMENT_TYPE_POA_CELL_4G];
parentTypes[ELEMENT_TYPE_UE] = [ELEMENT_TYPE_POA, ELEMENT_TYPE_POA_CELL_4G];
parentTypes[ELEMENT_TYPE_DC] = [ELEMENT_TYPE_SCENARIO];
parentTypes[ELEMENT_TYPE_UE_APP] = [ELEMENT_TYPE_UE];
parentTypes[ELEMENT_TYPE_MECSVC] = [
@@ -993,6 +1074,9 @@ const getSuggestedName = ( type, elements ) => {
  case ELEMENT_TYPE_DC:
    suggestedPrefix = 'cloud';
    break;
  case ELEMENT_TYPE_POA_CELL_4G:
    suggestedPrefix = 'poa-cell-4g';
    break;
  default:
    suggestedPrefix = type.toLowerCase();
  }
+3 −0
Original line number Diff line number Diff line
@@ -37,6 +37,7 @@ import {
  ELEMENT_TYPE_OPERATOR,
  ELEMENT_TYPE_ZONE,
  ELEMENT_TYPE_POA,
  ELEMENT_TYPE_POA_CELL_4G,
  ELEMENT_TYPE_DC,
  //ELEMENT_TYPE_CN,
  ELEMENT_TYPE_EDGE,
@@ -98,6 +99,7 @@ const ncApplicableTypes = [
  ELEMENT_TYPE_OPERATOR,
  ELEMENT_TYPE_ZONE,
  ELEMENT_TYPE_POA,
  ELEMENT_TYPE_POA_CELL_4G,
  ELEMENT_TYPE_DC,
  ELEMENT_TYPE_EDGE,
  ELEMENT_TYPE_FOG,
@@ -182,6 +184,7 @@ class NetworkCharacteristicsEventPane extends Component {
    case ELEMENT_TYPE_ZONE:
      return PREFIX_INTRA_ZONE;
    case ELEMENT_TYPE_POA:
    case ELEMENT_TYPE_POA_CELL_4G:
      return PREFIX_TERM_LINK;
    case ELEMENT_TYPE_EDGE:
      return PREFIX_LINK;
+7 −1
Original line number Diff line number Diff line
@@ -104,6 +104,9 @@ export const CFG_ELEM_PLACEMENT_ID = 'cfg-elem-placement-id';
export const CFG_ELEM_CMD = 'cfg-elem-cmd';
export const CFG_ELEM_ARGS = 'cfg-elem-args';
export const CFG_ELEM_EXTERNAL_CHECK = 'cfg-elem-external-check';
export const CFG_ELEM_MNC = 'cfg-elem-mnc';
export const CFG_ELEM_MCC = 'cfg-elem-mcc';
export const CFG_ELEM_DEFAULT_CELL_ID = 'cfg-elem-default-cell-id';
export const CFG_ELEM_CHART_CHECK = 'cfg-elem-chart-check';
export const CFG_ELEM_CHART_LOC = 'cfg-elem-chart-loc';
export const CFG_ELEM_CHART_GROUP = 'cfg-elem-chart-group';
@@ -147,6 +150,8 @@ export const PUBLIC_DOMAIN_TYPE_STR = 'PUBLIC';
export const ZONE_TYPE_STR = 'ZONE';
export const COMMON_ZONE_TYPE_STR = 'COMMON';
export const NL_TYPE_STR = 'POA';
export const POA_TYPE_STR = 'POA';
export const POA_CELL_4G_TYPE_STR = 'POA-CELL-4G';
export const DEFAULT_NL_TYPE_STR = 'DEFAULT';
export const UE_TYPE_STR = 'UE';
export const FOG_TYPE_STR = 'FOG';
@@ -162,6 +167,7 @@ export const ELEMENT_TYPE_SCENARIO = 'SCENARIO';
export const ELEMENT_TYPE_OPERATOR = 'OPERATOR';
export const ELEMENT_TYPE_ZONE = 'ZONE';
export const ELEMENT_TYPE_POA = 'POA';
export const ELEMENT_TYPE_POA_CELL_4G = 'POA CELLULAR 4G';
export const ELEMENT_TYPE_DC = 'DISTANT CLOUD';
export const ELEMENT_TYPE_CN = 'CORE NETWORK';
export const ELEMENT_TYPE_EDGE = 'EDGE';
+6 −1
Original line number Diff line number Diff line
@@ -116,7 +116,12 @@ const execZones = createSelector(
const execPOAs = createSelector(
  [execTableElements],
  elems => {
    return _.filter(elems, elem => getElemFieldVal(elem, FIELD_TYPE) === 'POA');
    return _.filter(
      elems,
      elem =>
        getElemFieldVal(elem, FIELD_TYPE) === 'POA' ||
        getElemFieldVal(elem, FIELD_TYPE) === 'POA-CELL-4G'
    );
  }
);

+8 −0
Original line number Diff line number Diff line
@@ -60,6 +60,10 @@ export const FIELD_CMD = 'cmd';
export const FIELD_CMD_ARGS = 'cmdArgs';
export const FIELD_EXT_PORT = 'externalPort';
export const FIELD_IS_EXTERNAL = 'isExternal';
export const FIELD_MCC = 'mcc';
export const FIELD_MNC = 'mnc';
export const FIELD_DEFAULT_CELL_ID = 'defaultCellId';
export const FIELD_CELL_ID = 'cellId';
export const FIELD_CHART_ENABLED = 'userChartEnabled';
export const FIELD_CHART_LOC = 'userChartLocation';
export const FIELD_CHART_VAL = 'userChartAlternateValues';
@@ -124,6 +128,10 @@ export const createElem = name => {
  setElemFieldVal(elem, FIELD_CMD_ARGS, '');
  setElemFieldVal(elem, FIELD_EXT_PORT, '');
  setElemFieldVal(elem, FIELD_IS_EXTERNAL, false);
  setElemFieldVal(elem, FIELD_MNC, '');
  setElemFieldVal(elem, FIELD_MCC, '');
  setElemFieldVal(elem, FIELD_DEFAULT_CELL_ID, '');
  setElemFieldVal(elem, FIELD_CELL_ID, '');
  setElemFieldVal(elem, FIELD_CHART_ENABLED, false);
  setElemFieldVal(elem, FIELD_CHART_LOC, '');
  setElemFieldVal(elem, FIELD_CHART_VAL, '');
Loading