1 <md-dialog class="cpe-dialog" aria-label="Create EVC" ng-cloak>
3 <div class="md-toolbar-tools">
6 <md-button class="md-icon-button" aria-label="Close dialog" ng-click="cancel()">
7 <i class="icon-remove-sign"></i>
11 <form name="projectForm" novalidate>
14 <div layout="column" ng-cloak>
15 <md-content layout-padding>
16 <md-input-container class="md-block">
17 <label>EVC ID (Number)</label>
18 <input type="number" required name="evcid" ng-model="obj.id">
19 <div ng-messages="projectForm.evcid.$error">
20 <div ng-message="required">Number is required!</div>
23 <md-input-container class="md-block">
24 <label>Service Type</label>
25 <md-select required ng-model="obj.svc_type" name="svc_type" >
26 <md-option ng-repeat="typ in params.svcTypes" value="{{ typ }}">{{ typ }}</md-option>
28 <div ng-messages="projectForm.svc_type.$error">
29 <div ng-message="required">This is required!</div>
32 <md-input-container class="md-block">
33 <label>Maximum Number of UNIs</label>
34 <input type="number" step="1" name="max_uni" ng-model="obj.max_uni">
37 <a ng-init="advancedCollapsed=true" ng-click="advancedCollapsed = !advancedCollapsed" class="btn btn-navbar btn-info">{{advancedCollapsed ? 'Show' : 'Hide'}} Advanced Options</a>
38 <md-input-container class="md-block" ng-if-start="!advancedCollapsed">
39 <label>Segmentation ID</label>
40 <input type="number" step="1" name="segmentation_id" ng-model="obj.segmentation_id">
42 <md-input-container class="md-block">
44 <input type="text" name="subnet" ng-model="obj.subnet" ng-pattern="/\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\/(?:[1-2]?[0-9]|3[0-2])\b/">
45 <div ng-messages="projectForm.subnet.$error">
46 <div ng-message="pattern">IP/Mask is required! (ex. 127.0.0.1/32)</div>
49 <div layout-gt-sm="row">
50 <md-input-container class="md-block" flex-gt-sm>
51 <md-switch name="is_preserve_vlan" ng-model="obj.is_preserve_vlan">{{obj.is_preserve_vlan ? "" : "Do Not"}} Preserve VLAN</md-switch>
53 <md-input-container class="md-block" ng-if="obj.is_preserve_vlan" flex-gt-sm style="margin-bottom: 0px; margin-top: 36px;">
54 <label>Preserved VLAN</label>
55 <input required type="number" step="1" name="p_vlan" ng-model="obj.preserved_vlan">
56 <div ng-messages="projectForm.p_vlan.$error">
57 <div ng-message="required">Number is required!</div>
61 <md-input-container class="md-block" ng-init="obj.mtu_size = 1522">
62 <label>EVC MTU size</label>
63 <input type="number" step="1" name="mtu" min="1522" max="16384" ng-model="obj.mtu_size">
64 <div ng-messages="projectForm.mtu.$error">
65 <div ng-message="min">Number must be in range [1522..16384]</div>
68 <md-input-container class="md-block">
69 <label>Unicast Service Frame Delivery</label>
70 <md-select ng-model="obj.unicast" name="unicast">
71 <md-option value="{{ undefined }}"></md-option>
72 <md-option value="discard">Discard</md-option>
73 <md-option value="unconditional">Unconditional</md-option>
74 <md-option value="conditional">Conditional</md-option>
77 <md-input-container class="md-block" ng-if-end>
78 <label>Multicast Service Frame Delivery</label>
79 <md-select ng-model="obj.multicast" name="multicast">
80 <md-option value="{{ undefined }}"></md-option>
81 <md-option value="discard">Discard</md-option>
82 <md-option value="unconditional">Unconditional</md-option>
83 <md-option value="conditional">Conditional</md-option>
90 <md-dialog-actions layout="row">
92 <span ng-init="invalid = false" ng-if="invalid" style="color: red;">Invalid Input!</span>
93 <md-button ng-click="cancel()"> Cancel </md-button>
94 <md-button type="submit" ng-click="validate(projectForm) ? done(obj) : (invalid = true)"> Create </md-button>