<!DOCTYPE html>
<!--
 * This file is part of Cockpit.
 *
 * Copyright (C) 2015 Red Hat, Inc.
 *
 * Cockpit is free software; you can redistribute it and/or modify it
 * under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation; either version 2.1 of the License, or
 * (at your option) any later version.
 *
 * Cockpit is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with Cockpit; If not, see <http://www.gnu.org/licenses/>.
-->

<html>
<head>
    <title translate="yes">Networking</title>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="../base1/patternfly.css" type="text/css" rel="stylesheet">
    <link href="network.css" type="text/css" rel="stylesheet">
    <script src="../base1/jquery.js"></script>
    <script src="../base1/cockpit.js"></script>
    <script src="../manifests.js"></script>
    <script src="../*/po.js"></script>
    <script src="network.js"></script>
</head>
<body class="pf-m-redhat-font" hidden>

  <div id="testing-connection-curtain" class="curtains-ct blank-slate-pf" hidden>
    <h1><div class="spinner spinner-lg"></div></h1>
    <h1 id="testing-connection-curtain-testing" translate="yes">Testing connection</h1>
    <h1 id="testing-connection-curtain-restoring" translate="yes">Restoring connection</h1>
  </div>

  <div id="networking" hidden>
    <div id="networking-nm-crashed" class="pf-c-alert pf-m-danger pf-m-inline" aria-label="inline danger alert" hidden>
      <div class="pf-c-alert__icon">
        <span class="pficon pficon-error-circle-o"></span>
      </div>
      <h4 class="pf-c-alert__title"> <span translate="yes" >NetworkManager is not running.</span> <a href="#" class="alert-link">Troubleshoot…</a> <h4>
      <button class="pf-c-button pf-m-secondary pull-right" type="submit" translate="yes">Start Service</button>
    </div>

    <div id="networking-nm-disabled" class="pf-c-alert pf-m-info pf-m-inline" aria-label="inline danger alert" hidden>
      <button class="pf-c-button pf-m-secondary pull-right" type="submit" translate="yes">Enable Service</button>
      <div class="pf-c-alert__icon">
        <span class="pficon pficon-info"></span>
      </div>
      <h4 class="pf-c-alert__title" translate="yes">Network devices and graphs require NetworkManager.</h4>
    </div>

    <div id="networking-graphs" class="row">
      <div id="networking-graph-toolbar" class="zoom-controls standard-zoom-controls">
        <div class="dropdown">
          <button class="btn btn-default dropdown-toggle" data-toggle="dropdown">
            <span></span>
            <i class="fa fa-caret-down pf-c-context-selector__toggle-icon" aria-hidden="true"></i>
          </button>
          <ul class="dropdown-menu" role="menu">
            <li role="presentation"><a tabindex="0" role="menuitem" data-action="goto-now" translate="yes">Go to now</a></li>
            <li role="presentation" class="divider"></li>
            <li role="presentation"><a tabindex="0" role="menuitem" data-range="300" translate="yes">5 minutes</a></li>
            <li role="presentation"><a tabindex="0" role="menuitem" data-range="3600" translate="yes">1 hour</a></li>
            <li role="presentation"><a tabindex="0" role="menuitem" data-range="21600" translate="yes">6 hours</a></li>
            <li role="presentation"><a tabindex="0" role="menuitem" data-range="86400" translate="yes">1 day</a></li>
            <li role="presentation"><a tabindex="0" role="menuitem" data-range="604800" translate="yes">1 week</a></li>
          </ul>
        </div>
        <button class="pf-c-button pf-m-secondary" data-action="zoom-out">
          <span class="glyphicon glyphicon-zoom-out"></span>
        </button>
        <div class="btn-group">
          <button class="pf-c-button pf-m-secondary" data-action="scroll-left">
              <span class="fa fa-angle-left" />
          </button>
          <button class="pf-c-button pf-m-secondary" data-action="scroll-right">
              <span class="fa fa-angle-right" />
          </button>
        </div>
      </div>
      <div class="col-sm-6">
        <div>
          <span class="plot-unit" id="networking-tx-unit"></span><span class="plot-title" translate="yes">Sending</span>
        </div>
        <div id="networking-tx-graph"></div>
      </div>
      <div class="col-sm-6">
        <div>
          <span class="plot-unit" id="networking-rx-unit"></span><span class="plot-title" translate="yes">Receiving</span>
        </div>
        <div id="networking-rx-graph"></div>
      </div>
    </div>
    <br/>

    <div class="networking-page container-fluid">
      <div class="panel panel-default" id="networking-firewall" hidden>
        <div class="panel-heading">
          <h2 class="panel-title">
            <a role="link" tabindex="0" id="networking-firewall-link" translate="yes">Firewall</a>
          </h2>
          <div class="panel-actions">
          </div>
        </div>
        <div id="networking-firewall-summary" class="panel-body">
        </div>
      </div>
      <div class="panel panel-default"
           id="networking-interfaces">
        <div class="panel-heading">
          <h2 class="panel-title" translate="yes">Interfaces</h2>
          <div class="panel-actions">
            <button translate="yes" id="networking-add-bond" class="pf-c-button pf-m-secondary network-privileged">Add Bond</button>
            <button translate="yes" id="networking-add-team" class="pf-c-button pf-m-secondary network-privileged">Add Team</button>
            <button translate="yes" id="networking-add-bridge" class="pf-c-button pf-m-secondary network-privileged">Add Bridge</button>
            <button translate="yes" id="networking-add-vlan" class="pf-c-button pf-m-secondary network-privileged">Add VLAN</button>
          </div>
        </div>
        <table class="table table-hover">
          <thead>
            <tr>
              <th translate="yes">Name</th>
              <th translate="yes">IP Address</th>
              <th translate="yes" class="networking-speed">Sending</th>
              <th translate="yes" class="networking-speed">Receiving</th>
            </tr>
          </thead>
          <tbody>
          </tbody>
        </table>
      </div>
      <div class="panel panel-default"
           id="networking-unmanaged-interfaces">
        <div class="panel-heading">
          <h2 class="panel-title" translate="yes">Unmanaged Interfaces</h2>
        </div>
        <table class="table">
          <thead>
            <tr>
              <th translate="yes">Name</th>
              <th translate="yes">IP Address</th>
              <th translate="yes" class="networking-speed">Sending</th>
              <th translate="yes" class="networking-speed">Receiving</th>
            </tr>
          </thead>
          <tbody>
          </tbody>
        </table>
      </div>
      <div class="panel panel-default cockpit-log-panel" role="table"
       aria-labelledby="networking-log-header">
        <div class="panel-heading"><h2 class="panel-title" translate="yes" id="networking-log-header">Networking Logs</h2></div>
        <div class="panel-body" id="networking-log" role="rowgroup"></div>
      </div>
    </div>
  </div>

  <script id="network-vlan-settings-template" type="x-template/mustache">
    <form class="ct-form">
      <label class="control-label" for="network-vlan-settings-parent-select" translate="yes">Parent</label>
      <div id="network-vlan-settings-parent-select">
        {{! the rather complex dropdown-select will be created dynamically via jquery }}
      </div>

      <label class="control-label" for="network-vlan-settings-vlan-id-input" translate="yes">VLAN Id</label>
      <input id="network-vlan-settings-vlan-id-input" class="form-control" type="text"
             value="{{vlan_id}}"/>

      <label class="control-label" for="network-vlan-settings-interface-name-input" translate="yes">Name</label>
      <input id="network-vlan-settings-interface-name-input" class="form-control" type="text"
             value="{{interface_name}}"/>
    </form>
  </script>

  <script id="network-mtu-settings-template" type="x-template/mustache">
    <div>
      <label>
        <input id="network-mtu-settings-auto" {{^mtu}}checked="checked"{{/mtu}}
               type="radio" name="mtu-mode"/>
        <span translate="yes">Automatic</span>
      </label>
    </div>
    <div>
      <label>
        <input id="network-mtu-settings-custom"  {{#mtu}}checked="checked"{{/mtu}}
               type="radio" name="mtu-mode"/>
        <span translate="yes">Set to</span>
        <input id="network-mtu-settings-input"
               class="form-control" type="text" value="{{mtu}}"/>
      </label>
    </div>
  </script>

  <script id="network-mac-settings-template" type="x-template/mustache">
    <form class="ct-form">
      <label class="control-label" for="network-mac-settings-input" translate="yes">MAC</label>
      <div class="input-group">
        <input id="network-mac-settings-input" class="form-control" type="text"
               value="{{assigned_mac_address}}"/>
        <div class="input-group-btn dropdown">
          <button class="btn btn-default dropdown-toggle" data-toggle="dropdown">
            <span class="fa fa-caret-down"></span>
          </button>
          <ul id="network-mac-settings-menu" class="dropdown-menu add-button" role="menu">
          </ul>
        </div>
      </div>
    </form>
  </script>

  <script id="network-bridge-settings-template" type="x-template/mustache">
    <form class="ct-form">
      <label class="control-label" for="network-bridge-settings-name-input" translate="yes">Name</label>
      <input id="network-bridge-settings-name-input" class="form-control" type="text"
             value="{{bridge_name}}"/>

      <label class="control-label" translate="yes">Ports</label>
      <div id="network-bridge-settings-slave-interfaces">
        {{! slave interfaces will be rendered into here as a list of checkboxes }}
      </div>

      <label class="control-label" for="network-bridge-settings-stp-enabled-input" translate="yes">Spanning Tree Protocol (STP)</label>
      <label class="checkbox-inline">
        <input id="network-bridge-settings-stp-enabled-input" type="checkbox"
          {{#stp_checked}}checked{{/stp_checked}}/>
      </label>

      <label class="control-label" for="network-bridge-settings-stp-priority-input" translate="yes">STP Priority</label>
      <input id="network-bridge-settings-stp-priority-input" class="form-control" type="text"
             value="{{stp_priority}}"/>

      <label class="control-label" for="network-bridge-settings-stp-forward-delay-input" translate="yes">STP Forward delay</label>
      <input id="network-bridge-settings-stp-forward-delay-input" class="form-control" type="text"
             value="{{stp_forward_delay}}"/>

      <label class="control-label" for="network-bridge-settings-stp-hello-time-input" translate="yes">STP Hello time</label>
      <input id="network-bridge-settings-stp-hello-time-input" class="form-control" type="text"
             value="{{stp_hello_time}}"/>

      <label class="control-label" for="network-bridge-settings-stp-max-age-input" translate="yes">STP Maximum message age</label>
      <input id="network-bridge-settings-stp-max-age-input" class="form-control" type="text"
             value="{{stp_max_age}}"/>
    </form>
  </script>

  <script id="network-bridge-port-settings-template" type="x-template/mustache">
    <form class="ct-form">
      <label class="control-label" for="network-bridge-port-settings-priority-input" translate="yes">Priority</label>
      <input id="network-bridge-port-settings-priority-input" class="form-control network-number-field ct-form-relax"
             type="text" value="{{priority}}"/>

      <label class="control-label" for="network-bridge-port-settings-path-cost-input" translate="yes">Path cost</label>
      <input id="network-bridge-port-settings-path-cost-input" class="form-control network-number-field ct-form-relax"
             type="text" value="{{path_cost}}"/>

      <label class="control-label" for="network-bridge-settings-hairpin-mode-input" translate="yes">Hair Pin mode</label>
      <label class="checkbox-inline">
        <input id="network-bridge-settings-hairpin-mode-input" type="checkbox"
               {{#hairpin_mode_checked}}checked{{/hairpin_mode_checked}}/>
      </label>
    </form>
  </script>

  <script id="network-bond-settings-template" type="x-template/mustache">
    <form class="ct-form">
      <label class="control-label" for="network-bond-settings-interface-name-input" translate="yes">Name</label>
      <input id="network-bond-settings-interface-name-input" class="form-control"
             value="{{interface_name}}"/>

      <label class="control-label" translate="yes">Interfaces</label>
      <div id="network-bond-settings-members">
      {{! member interfaces will be rendered into here as a list of checkboxes }}
      </div>

      <label class="control-label" for="network-bond-settings-mac-input" translate="yes">MAC</label>
      <div class="input-group">
        <input id="network-bond-settings-mac-input" class="form-control" type="text"
               value="{{assigned_mac_address}}"/>
        <div class="input-group-btn dropdown">
          <button class="btn btn-default dropdown-toggle" data-toggle="dropdown">
            <span class="fa fa-caret-down"></span>
          </button>
          <ul id="network-bond-settings-mac-menu" class="dropdown-menu add-button" role="menu">
          </ul>
        </div>
      </div>

      <label class="control-label" for="network-bond-settings-mode-select" translate="yes">Mode</label>
      <div id="network-bond-settings-mode-select">
        {{! the rather complex dropdown-select will be created dynamically via jquery }}
      </div>

      <label class="control-label" for="network-bond-settings-primary-select" translate="yes">Primary</label>
      <div id="network-bond-settings-primary-select">
        {{! the rather complex dropdown-select will be created dynamically via jquery }}
      </div>

      <label class="control-label" for="network-bond-settings-link-monitoring-select" translate="yes">Link Monitoring</label>
      <div id="network-bond-settings-link-monitoring-select">
        {{! the rather complex dropdown-select will be created dynamically via jquery }}
      </div>

      <label class="control-label" for="network-bond-settings-monitoring-interval-input" translate="yes">Monitoring Interval</label>
      <input id="network-bond-settings-monitoring-interval-input" class="form-control network-number-field ct-form-relax"
             type="text" maxlength="4" value="{{monitoring_interval}}"/>

      <label class="control-label" for="network-bond-settings-monitoring-targets-input" translate="yes">Monitoring Targets</label>
      <input id="network-bond-settings-monitoring-targets-input" class="form-control"
             type="text" value="{{monitoring_targets}}"/>

      <label class="control-label" for="network-bond-settings-link-up-delay-input" translate="yes">Link up delay</label>
      <input id="network-bond-settings-link-up-delay-input" class="form-control network-number-field ct-form-relax"
             type="text" maxlength="4" value="{{link_up_delay}}"/>

      <label class="control-label" for="network-bond-settings-link-down-delay-input" translate="yes">Link down delay</label>
      <input id="network-bond-settings-link-down-delay-input" class="form-control network-number-field ct-form-relax"
             type="text" maxlength="4" value="{{link_down_delay}}"/>
    </form>
  </script>

  <script id="network-team-settings-template" type="x-template/mustache">
    <form class="ct-form">
      <label class="control-label" for="network-team-settings-interface-name-input" translate="yes">Name</label>
      <input id="network-team-settings-interface-name-input" class="form-control"
             value="{{interface_name}}"/>

      <label class="control-label" translate="yes">Ports</label>
      <div id="network-team-settings-members">
          {{! ports will be rendered into here as a list of checkboxes }}
      </div>

      <label class="control-label" for="network-team-settings-runner-select" translate="yes">Runner</label>
      <div id="network-team-settings-runner-select">
          {{! the rather complex dropdown-select will be created dynamically via jquery }}
      </div>

      <label class="control-label" for="network-team-settings-balancer-select" translate="yes">Balancer</label>
      <div id="network-team-settings-balancer-select">
          {{! the rather complex dropdown-select will be created dynamically via jquery }}
      </div>

      <label class="control-label" for="network-team-settings-link-watch-select" translate="yes">Link Watch</label>
      <div id="network-team-settings-link-watch-select">
          {{! the rather complex dropdown-select will be created dynamically via jquery }}
      </div>

      <label class="control-label" for="network-team-settings-ping-interval-input" translate="yes">Ping Interval</label>
      <input id="network-team-settings-ping-interval-input" class="form-control network-number-field ct-form-relax"
             type="text" maxlength="4" value="{{config.link_watch.interval}}"/>

      <label class="control-label" for="network-team-settings-ping-target-input" translate="yes">Ping Target</label>
      <input id="network-team-settings-ping-target-input" class="form-control"
             type="text" value="{{config.link_watch.target_host}}"/>

      <label class="control-label" for="network-team-settings-link-up-delay-input" translate="yes">Link up delay</label>
      <input id="network-team-settings-link-up-delay-input" class="form-control network-number-field ct-form-relax"
             type="text" maxlength="4" value="{{config.link_watch.delay_up}}"/>

      <label class="control-label" for="network-team-settings-link-down-delay-input" translate="yes">Link down delay</label>
      <input id="network-team-settings-link-down-delay-input" class="form-control network-number-field ct-form-relax"
             type="text" maxlength="4" value="{{config.link_watch.delay_down}}"/>
    </form>
  </script>

  <script id="network-team-port-settings-template" type="x-template/mustache">
    <form class="ct-form">
      <label class="control-label" for="network-team-port-settings-ab-prio-input" translate="yes">Priority</label>
      <input id="network-team-port-settings-ab-prio-input" class="form-control network-number-field ct-form-relax"
             type="text" value="{{prio}}"/>

      <label class="control-label" for="network-team-port-settings-ab-sticky-input" translate="yes">Sticky</label>
      <label class="checkbox-inline">
        <input id="network-team-port-settings-ab-sticky-input" type="checkbox"
               {{#sticky}}checked{{/sticky}}/>
      </label>

      <label class="control-label" for="network-team-port-settings-lacp-prio-input" translate="yes">Priority</label>
      <input id="network-team-port-settings-lacp-prio-input" class="form-control network-number-field ct-form-relax"
             type="text" value="{{lacp_prio}}"/>

      <label class="control-label" for="network-team-port-settings-lacp-key-input" translate="yes">LACP Key</label>
      <input id="network-team-port-settings-lacp-key-input" class="form-control network-number-field ct-form-relax"
             type="text" value="{{lacp_key}}"/>
    </form>
  </script>

  <div id="network-interface" class="container-fluid" hidden>
    <ol class="breadcrumb">
      <li><a role="link" tabindex="0" translate="yes">Networking</a></li>
      <li class="active"></li>
    </ol>
    <div class="row">
      <div id="network-interface-graph-toolbar" class="zoom-controls standard-zoom-controls">
        <div class="dropdown">
          <button class="btn btn-default dropdown-toggle" data-toggle="dropdown">
            <span></span>
            <div class="caret"></div>
          </button>
          <ul class="dropdown-menu" role="menu">
            <li role="presentation"><a tabindex="0" role="menuitem" data-action="goto-now" translate="yes">Go to now</a></li>
            <li role="presentation" class="divider"></li>
            <li role="presentation"><a tabindex="0" role="menuitem" data-range="300" translate="yes">5 minutes</a></li>
            <li role="presentation"><a tabindex="0" role="menuitem" data-range="3600" translate="yes">1 hour</a></li>
            <li role="presentation"><a tabindex="0" role="menuitem" data-range="21600" translate="yes">6 hours</a></li>
            <li role="presentation"><a tabindex="0" role="menuitem" data-range="86400" translate="yes">1 day</a></li>
            <li role="presentation"><a tabindex="0" role="menuitem" data-range="604800" translate="yes">1 week</a></li>
          </ul>
        </div>
        <button class="pf-c-button pf-m-secondary" data-action="zoom-out">
          <span class="glyphicon glyphicon-zoom-out"></span>
        </button>
        <div class="btn-group">
          <button class="pf-c-button pf-m-secondary" data-action="scroll-left">
              <span class="fa fa-angle-left" />
          </button>
          <button class="pf-c-button pf-m-secondary" data-action="scroll-right">
              <span class="fa fa-angle-right" />
          </button>
        </div>
      </div>
      <div class="col-sm-6">
        <div>
          <span class="plot-unit" id="network-interface-tx-unit"></span><span class="plot-title" translate="yes">Sending</span>
        </div>
        <div id="network-interface-tx-graph"></div>
      </div>
      <div class="col-sm-6">
        <div>
          <span class="plot-unit" id="network-interface-rx-unit"></span><span class="plot-title" translate="yes">Receiving</span>
        </div>
        <div id="network-interface-rx-graph"></div>
      </div>
    </div>
    <br/>
    <div class="panel panel-default">
      <div class="panel-heading">
        <h2 class="panel-title" id="network-interface-name"></h2>
        <span id="network-interface-hw"></span>
        <span id="network-interface-mac"></span>
        <div class="panel-actions">
          <button class="pf-c-button pf-m-danger network-privileged" id="network-interface-delete" translate="yes">Delete</button>
          <span id="network-interface-delete-switch">
          </span>
        </div>
      </div>
      <div class="panel-body">
        <table class="form-table-ct" id="network-interface-settings">
        </table>
      </div>
    </div>
    <div class="panel panel-default" id="network-interface-slaves">
      <table class="table table-hover">
        <thead>
          <tr>
            <th></th>
            <th translate="yes" class="networking-speed">Sending</th>
            <th translate="yes" class="networking-speed">Receiving</th>
            <th class="networking-spacer"></th>
            <th class="networking-action"></th>
          </tr>
        </thead>
        <tbody>
        </tbody>
      </table>
    </div>
  </div>

  <div class="modal" id="network-ip-settings-dialog"
       tabindex="-1" role="dialog"
       data-backdrop="static">
    <div class="modal-dialog">
      <div class="modal-content">
        <div class="modal-header">
          <h4 class="modal-title" translate="yes">IP Settings</h4>
          <button class="close pficon pficon-close" data-dismiss="modal"></button>
        </div>
        <div class="modal-body">
          <div id="network-ip-settings-body">
          </div>
        </div>
        <div class="modal-footer">
          <div class="pf-c-alert pf-m-danger pf-m-inline dialog-error" aria-label="inline danger alert" id="network-ip-settings-error">
            <div class="pf-c-alert__icon">
                <i class="fa fa-exclamation-circle" aria-hidden="true"></i>
            </div>
            <h4 class="pf-c-alert__title"></h4>
          </div>
          <button class="pf-c-button pf-m-secondary" translate="yes" id="network-ip-settings-cancel">Cancel</button>
          <button class="pf-c-button pf-m-primary" translate="yes" id="network-ip-settings-apply">Apply</button>
        </div>
      </div>
    </div>
  </div>

  <div class="modal" id="network-bond-settings-dialog"
       tabindex="-1" role="dialog"
       data-backdrop="static">
    <div class="modal-dialog">
      <div class="modal-content">
        <div class="modal-header">
          <h4 class="modal-title" translate="yes">Bond Settings</h4>
          <button class="close pficon pficon-close" data-dismiss="modal"></button>
          <button id="bond-help-popup-button" class="close pficon pficon-help" data-toggle="popover">
        </div>
        <div class="modal-body">
          <div id="network-bond-settings-body">
          </div>
        </div>
        <div class="modal-footer">
          <div class="pf-c-alert pf-m-danger pf-m-inline dialog-error" aria-label="inline danger alert" id="network-bond-settings-error">
            <div class="pf-c-alert__icon">
                <i class="fa fa-exclamation-circle" aria-hidden="true"></i>
            </div>
            <h4 class="pf-c-alert__title"></h4>
          </div>
          <button class="pf-c-button pf-m-secondary" translate="yes" id="network-bond-settings-cancel">Cancel</button>
          <button class="pf-c-button pf-m-primary" translate="yes" id="network-bond-settings-apply">Apply</button>
        </div>
      </div>
    </div>
  </div>

  <div class="modal" id="network-team-settings-dialog"
       tabindex="-1" role="dialog"
       data-backdrop="static">
    <div class="modal-dialog">
      <div class="modal-content">
        <div class="modal-header">
          <h4 class="modal-title" translate="yes">Team Settings</h4>
          <button class="close pficon pficon-close" data-dismiss="modal"></button>
        </div>
        <div class="modal-body">
          <div id="network-team-settings-body">
          </div>
        </div>
        <div class="modal-footer">
          <div class="pf-c-alert pf-m-danger pf-m-inline dialog-error" aria-label="inline danger alert" id="network-team-settings-error">
            <div class="pf-c-alert__icon">
                <i class="fa fa-exclamation-circle" aria-hidden="true"></i>
            </div>
            <h4 class="pf-c-alert__title"></h4>
          </div>
          <button class="pf-c-button pf-m-secondary" translate="yes" id="network-team-settings-cancel">Cancel</button>
          <button class="pf-c-button pf-m-primary" translate="yes" id="network-team-settings-apply">Apply</button>
        </div>
      </div>
    </div>
  </div>

  <div class="modal" id="network-teamport-settings-dialog"
       tabindex="-1" role="dialog"
       data-backdrop="static">
    <div class="modal-dialog">
      <div class="modal-content">
        <div class="modal-header">
          <h4 class="modal-title" translate="yes">Team Port Settings</h4>
          <button class="close pficon pficon-close" data-dismiss="modal"></button>
        </div>
        <div class="modal-body">
          <div id="network-teamport-settings-body">
          </div>
        </div>
        <div class="modal-footer">
          <div class="pf-c-alert pf-m-danger pf-m-inline dialog-error" aria-label="inline danger alert" id="network-teamport-settings-error">
            <div class="pf-c-alert__icon">
                <i class="fa fa-exclamation-circle" aria-hidden="true"></i>
            </div>
            <h4 class="pf-c-alert__title"></h4>
          </div>
          <button class="pf-c-button pf-m-secondary" translate="yes" id="network-teamport-settings-cancel">Cancel</button>
          <button class="pf-c-button pf-m-primary" translate="yes" id="network-teamport-settings-apply">Apply</button>
        </div>
      </div>
    </div>
  </div>

  <div class="modal" id="network-bridge-settings-dialog"
       tabindex="-1" role="dialog"
       data-backdrop="static">
    <div class="modal-dialog">
      <div class="modal-content">
        <div class="modal-header">
          <h4 class="modal-title" translate="yes">Bridge Settings</h4>
          <button class="close pficon pficon-close" data-dismiss="modal"></button>
        </div>
        <div class="modal-body">
          <div id="network-bridge-settings-body">
          </div>
        </div>
        <div class="modal-footer">
          <div class="pf-c-alert pf-m-danger pf-m-inline dialog-error" aria-label="inline danger alert" id="network-bridge-settings-error">
              <div class="pf-c-alert__icon">
                  <i class="fa fa-exclamation-circle" aria-hidden="true"></i>
              </div>
              <h4 class="pf-c-alert__title"></h4>
          </div>
          <button class="pf-c-button pf-m-secondary" translate="yes" id="network-bridge-settings-cancel">Cancel</button>
          <button class="pf-c-button pf-m-primary" translate="yes" id="network-bridge-settings-apply">Apply</button>
        </div>
      </div>
    </div>
  </div>

  <div class="modal" id="network-bridgeport-settings-dialog"
       tabindex="-1" role="dialog"
       data-backdrop="static">
    <div class="modal-dialog">
      <div class="modal-content">
        <div class="modal-header">
          <h4 class="modal-title" translate="yes">Bridge Port Settings</h4>
          <button class="close pficon pficon-close" data-dismiss="modal"></button>
        </div>
        <div class="modal-body">
          <div id="network-bridgeport-settings-body">
          </div>
        </div>
        <div class="modal-footer">
          <div class="pf-c-alert pf-m-danger pf-m-inline dialog-error" aria-label="inline danger alert" id="network-bridgeport-settings-error">
              <div class="pf-c-alert__icon">
                  <i class="fa fa-exclamation-circle" aria-hidden="true"></i>
              </div>
              <h4 class="pf-c-alert__title"></h4>
          </div>
          <button class="pf-c-button pf-m-secondary" translate="yes" id="network-bridgeport-settings-cancel">Cancel</button>
          <button class="pf-c-button pf-m-primary" translate="yes" id="network-bridgeport-settings-apply">Apply</button>
        </div>
      </div>
    </div>
  </div>

  <div class="modal" id="network-vlan-settings-dialog"
       tabindex="-1" role="dialog"
       data-backdrop="static">
    <div class="modal-dialog">
      <div class="modal-content">
        <div class="modal-header">
          <h4 class="modal-title" translate="yes">VLAN Settings</h4>
          <button class="close pficon pficon-close" data-dismiss="modal"></button>
        </div>
        <div class="modal-body">
          <div id="network-vlan-settings-body">
          </div>
        </div>
        <div class="modal-footer">
          <div class="pf-c-alert pf-m-danger pf-m-inline dialog-error" aria-label="inline danger alert" id="network-vlan-settings-error">
              <div class="pf-c-alert__icon">
                  <i class="fa fa-exclamation-circle" aria-hidden="true"></i>
              </div>
              <h4 class="pf-c-alert__title"></h4>
          </div>
          <button class="pf-c-button pf-m-secondary" translate="yes" id="network-vlan-settings-cancel">Cancel</button>
          <button class="pf-c-button pf-m-primary" translate="yes" id="network-vlan-settings-apply">Apply</button>
        </div>
      </div>
    </div>
  </div>

  <div class="modal" id="network-mtu-settings-dialog"
       tabindex="-1" role="dialog"
       data-backdrop="static">
    <div class="modal-dialog">
      <div class="modal-content">
        <div class="modal-header">
          <h4 class="modal-title" translate="yes">Ethernet MTU</h4>
          <button class="close pficon pficon-close" data-dismiss="modal"></button>
        </div>
        <div class="modal-body">
          <div id="network-mtu-settings-body">
          </div>
        </div>
        <div class="modal-footer">
          <div class="pf-c-alert pf-m-danger pf-m-inline dialog-error" aria-label="inline danger alert" id="network-mtu-settings-error">
            <div class="pf-c-alert__icon">
                <i class="fa fa-exclamation-circle" aria-hidden="true"></i>
            </div>
            <h4 class="pf-c-alert__title"></h4>
          </div>
          <button class="pf-c-button pf-m-secondary" translate="yes" id="network-mtu-settings-cancel">Cancel</button>
          <button class="pf-c-button pf-m-primary" translate="yes" id="network-mtu-settings-apply">Apply</button>
        </div>
      </div>
    </div>
  </div>

  <div class="modal" id="network-mac-settings-dialog"
       tabindex="-1" role="dialog"
       data-backdrop="static">
    <div class="modal-dialog">
      <div class="modal-content">
        <div class="modal-header">
          <h4 class="modal-title" translate="yes">Ethernet MAC</h4>
          <button class="close pficon pficon-close" data-dismiss="modal"></button>
        </div>
        <div class="modal-body">
          <div id="network-mac-settings-body">
          </div>
        </div>
        <div class="modal-footer">
          <div class="pf-c-alert pf-m-danger pf-m-inline dialog-error" aria-label="inline danger alert" id="network-mac-settings-error">
            <div class="pf-c-alert__icon">
                <i class="fa fa-exclamation-circle" aria-hidden="true"></i>
            </div>
            <h4 class="pf-c-alert__title"></h4>
          </div>
          <button class="pf-c-button pf-m-secondary" translate="yes" id="network-mac-settings-cancel">Cancel</button>
          <button class="pf-c-button pf-m-primary" translate="yes" id="network-mac-settings-apply">Apply</button>
        </div>
      </div>
    </div>
  </div>

  <div class="modal" id="error-popup"
       tabindex="-1" role="dialog"
       data-backdrop="static">
    <div class="modal-dialog">
      <div class="modal-content">
        <div class="modal-header">
          <h4 class="modal-title" translate="yes">Unexpected error</h4>
          <button class="close pficon pficon-close" data-dismiss="modal"></button>
        </div>
        <div class="modal-body">
          <p id="error-popup-message"></p>
        </div>
        <div class="modal-footer">
          <button class="pf-c-button pf-m-primary" data-dismiss="modal" translate>Close</button>
        </div>
      </div>
    </div>
  </div>

  <div class="modal" id="confirm-breaking-change-popup"
       tabindex="-1" role="dialog"
       data-backdrop="static">
    <div class="modal-dialog">
      <div class="modal-content">
        <div class="modal-header">
          <h4 class="modal-title" translate="yes">Connection will be lost</h4>
          <button class="close pficon pficon-close" data-dismiss="modal"></button>
        </div>
        <div class="modal-body">
          <div class="pficon pficon-warning-triangle-o"></div>
          <div id="confirm-breaking-change-text"></div>
        </div>
        <div class="modal-footer">
          <button class="pf-c-button pf-m-danger"></button>
          <button class="pf-c-button pf-m-primary" data-dismiss="modal" translate>Keep connection</button>
        </div>
      </div>
    </div>
  </div>

</body>
