summaryrefslogtreecommitdiffstats
path: root/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows
diff options
context:
space:
mode:
Diffstat (limited to 'POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows')
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/ActionPolicyDictionary.html106
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/AttributeDictionary.html90
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/BRMSControllerDictionary.html59
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/BRMSDependencyDictionary.html59
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/BRMSParamDictionary.html57
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/CLPepOptionsDictionary.html75
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/CLServiceTypeDictionary.html51
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/CLSiteDictionary.html55
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/CLVarbindDictionary.html62
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/CLVnfTypeDictionary.html51
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/CLVsclActionDictionary.html51
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/DecisionSettingsDictionary.html69
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/DescriptiveScopeDictionary.html76
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/EcompNameDictionary.html51
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/EnforcerTypeDictionary.html56
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWActionListDictionary.html51
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWAddressGroupDictionary.html72
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWParentListDictionary.html91
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWPortListDictionary.html51
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWPrefixListDictionary.html57
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWProtocolListDictionary.html51
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWSecurityZoneDictionary.html52
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWServiceGroupDictionary.html47
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWServiceListDictionary.html100
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWTag.html69
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWTagPicker.html76
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWTermListDictionary.html198
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWZoneDictionary.html56
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/MSConfigNameDictionary.html55
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/MSDCAEUUIDDictionary.html55
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/MSLocationDictionary.html55
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/MSModelsDictionary.html65
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/ModelAttributeDictionary.html60
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/PSClosedLoopDictionary.html51
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/PSGroupPolicyScopeDictionary.html77
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/PSResourceDictionary.html51
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/PSServiceDictionary.html51
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/PSTypeDictionary.html51
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/RiskTypeDictionary.html51
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/SafePolicyWarningDictionary.html58
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Edit_Roles_Window.html54
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/PDPTabWindows/AddorEditPDPtoGroup.html63
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/PDPTabWindows/PdpStatusWindow.html80
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/PushtabWindow/removeGroupPoliciesWindow.html38
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/new_PDPGroup_Window.html110
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/popup_modal.html35
46 files changed, 2999 insertions, 0 deletions
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/ActionPolicyDictionary.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/ActionPolicyDictionary.html
new file mode 100644
index 000000000..737c47e75
--- /dev/null
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/ActionPolicyDictionary.html
@@ -0,0 +1,106 @@
+<!--/*-
+ * ============LICENSE_START=======================================================
+ * ECOMP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */-->
+<script type="text/ng-template" id="add_actionPolicyDict_popup.html">
+ <div class="modal" tabindex="-1">
+ <div class="modal-dialog modal-lg">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h2 class="font-showcase-font-name" style="color : #157bb2">{{label}}</h2>
+ </div>
+ <form name="formdata" ng-submit="saveActionDict(editActionDict);" novalidate>
+ <div class="modal-body">
+ <div class="form-group row">
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.attributeName.$invalid && !formdata.attributeName.$pristine }">
+ <label>Attribute Name:<sup><b>*</b></sup></label><br>
+ <input type="text" class="form-control" ng-model="editActionDict.attributeName" name= "attributeName" required/>
+ <p ng-show="formdata.attributeName.$invalid && !formdata.attributeName.$pristine" class="help-block">Attribute Name is required.</p>
+ </div>
+ <div class="form-group col-sm-2" ng-class="{ 'has-error' : formdata.type.$invalid && !formdata.type.$pristine }">
+ <label>Type:<sup><b>*</b></sup></label><BR>
+ <select class="form-control" ng-model="editActionDict.type" name= "type" required>
+ <option>REST</option>
+ </select>
+ <p ng-show="formdata.type.$invalid && !formdata.type.$pristine" class="help-block">Type is required.</p>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.url.$invalid && !formdata.url.$pristine }">
+ <label>URL:<sup><b>*</b></sup></label><br>
+ <input class="form-control" type="text" ng-model="editActionDict.url" name= "url" required/>
+ <p ng-show="formdata.url.$invalid && !formdata.url.$pristine" class="help-block">URL is required.</p>
+ </div>
+ <div class="form-group col-sm-2" ng-class="{ 'has-error' : formdata.method.$invalid && !formdata.method.$pristine }">
+ <label>Method:<sup><b>*</b></sup></label><BR>
+ <select class="form-control" ng-model="editActionDict.method" name= "method" required>
+ <option>GET</option>
+ <option>PUT</option>
+ <option>POST</option>
+ </select>
+ <p ng-show="formdata.method.$invalid && !formdata.method.$pristine" class="help-block">Method is required.</p>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6" >
+ <label>Description:</label><br>
+ <input type="text" class="form-control" ng-model="editActionDict.description" />
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-1">
+ <label>Headers:</label><br>
+ <button type="button" class="btn btn-secondary btn-small" ng-click="addNewChoice()"><i class="fa fa-plus"></i></button>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group">
+ <div data-ng-repeat="choice in choices">
+ <div class="form-group row">
+ <div class="form-group col-sm-4" ng-class="{ 'has-error' : formdata.option.$invalid && !formdata.option.$pristine }">
+ <input type="text" class="form-control" ng-model= "choice.option" placeholder="key" name= "ecompName" required/>
+ <p ng-show="formdata.option.$invalid && !formdata.option.$pristine" class="help-block">Header Key is required.</p>
+ </div>
+ <div class="form-group col-sm-4" ng-class="{ 'has-error' : formdata.number.$invalid && !formdata.number.$pristine }">
+ <input type="text" class="form-control" ng-model= "choice.number" placeholder="Value" name= "ecompName" required/>
+ <p ng-show="formdata.number.$invalid && !formdata.number.$pristine" class="help-block">Header Value is required.</p>
+ </div>
+ <div class="form-group col-sm-1">
+ <button type="button" class="btn btn-secondary btn-small" ng-show="$last" ng-click="removeChoice()"><i class="fa fa-minus"></i></button>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.body.$invalid && !formdata.body.$pristine }">
+ <label>Body:<sup><b>*</b></sup></label><br>
+ <textarea type="text" class="form-control" ng-model="editActionDict.body" style="height :200px; width:500px;" name= "body" required></textarea>
+ <p ng-show="formdata.body.$invalid && !formdata.body.$pristine" class="help-block">Action Body is required.</p>
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-success" type="submit" ng-disabled="formdata.$invalid">Save</button>
+ <button class="btn btn-default" ng-click="$dismiss('cancel')">Close</button>
+ </div>
+ </form>
+ </div>
+</div>
+ </div>
+</script>
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/AttributeDictionary.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/AttributeDictionary.html
new file mode 100644
index 000000000..9b88bd544
--- /dev/null
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/AttributeDictionary.html
@@ -0,0 +1,90 @@
+<!--/*-
+ * ============LICENSE_START=======================================================
+ * ECOMP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */-->
+<script type="text/ng-template" id="add_Attribute_popup.html">
+<div class="modal" tabindex="-1">
+ <div class="modal-dialog modal-lg">
+ <div class="modal-content">
+ <div class="modal-header ng-scope in">
+ <h2 class="font-showcase-font-name" style="color: #157bb2">{{label}}</h2>
+ </div>
+ <form name="formdata" ng-submit="saveAttributeName(editAttributeName);" novalidate>
+ <div class="modal-body ng-scope ng-isolate-scope in">
+ <div class="form-group row">
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.xacmlId.$invalid && !formdata.xacmlId.$pristine }">
+ <label>Attribute Name:<sup><b>*</b></sup></label><br>
+ <input class="form-control" type="text" ng-model="editAttributeName.xacmlId" name="xacmlId" required />
+ <p ng-show="formdata.xacmlId.$invalid && !formdata.xacmlId.$pristine" class="help-block">Attribute Name is required.</p>
+ </div>
+ <div class="form-group col-sm-2" ng-class="{ 'has-error' : formdata.datatypeBean.shortName.$invalid && !formdata.datatypeBean.shortName.$pristine }">
+ <label>Data Type:<sup><b>*</b></sup></label><BR>
+ <select class="form-control" ng-model="editAttributeName.datatypeBean.shortName" name="datatypeBean.shortName" required>
+ <option>string</option>
+ <option>integer</option>
+ <option>boolean</option>
+ <option>double</option>
+ <option>user</option>
+ </select>
+ <p ng-show="formdata.datatypeBean.shortName.$invalid && !formdata.datatypeBean.shortName.$pristine" class="help-block">Data Type is required.</p>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6">
+ <label>Description:</label><br>
+ <input type="text" ng-model="editAttributeName.description" class="form-control" />
+ </div>
+ <div class="form-group col-sm-2">
+ <label>Priority:</label><BR>
+ <select class="form-control" ng-model="editAttributeName.priority">
+ <option></option>
+ <option>High</option>
+ </select>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-4">
+ <label> Attribute Values:</label><br>
+ <button type="button" class="btn btn-secondary btn-small" ng-click="addNewChoice()"><i class="fa fa-plus"></i></button>
+ </div>
+ </div>
+ <div class="form-group">
+ <div data-ng-repeat="choice in attributes">
+ <div class="form-group row">
+ <div class="form-group col-sm-5" ng-class="{ 'has-error' : formdata.attributeValues.$invalid && !formdata.attributeValues.$pristine }">
+ <input type="text" class="form-control" ng-model="choice.attributeValues" maxlength="30" name="attributeValues" required />
+ <p ng-show="formdata.attributeValues.$invalid && !formdata.attributeValues.$pristine" class="help-block">Attribute Value is required.</p>
+ </div>
+ <div class="form-group col-sm-1">
+ <button type="button" class="btn btn-secondary btn-small" ng-show="$last" ng-click="removeChoice()"><i class="fa fa-minus"></i></button>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-success" type="submit" ng-disabled="formdata.$invalid">Save</button>
+ <button type="button" class="btn btn-default" ng-click="$dismiss('cancel')">Close</button>
+ </div>
+ </form>
+</div>
+</div>
+</div>
+</div>
+</div>
+</script>
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/BRMSControllerDictionary.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/BRMSControllerDictionary.html
new file mode 100644
index 000000000..68ffa6a5e
--- /dev/null
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/BRMSControllerDictionary.html
@@ -0,0 +1,59 @@
+<!--/*-
+ * ============LICENSE_START=======================================================
+ * ECOMP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */-->
+<script type="text/ng-template" id="add_brmsController_popup.html">
+<div class="modal" tabindex="-1">
+ <div class="modal-dialog modal-lg">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h2 class="font-showcase-font-name" style="color : #157bb2">{{label}}</h2>
+ </div>
+ <form name="formdata" ng-submit="saveBRMSController(editBRMSController);" novalidate>
+ <div class="modal-body">
+ <div class="form-group row">
+ <div class="form-group col-sm-6" style="margin-right:2%; margin-left:2%" ng-class="{ 'has-error' : formdata.controllerName.$invalid && !formdata.controllerName.$pristine }">
+ <label>Controller Name:<sup><b>*</b></sup></label><br>
+ <input ng-disabled="disabled" type="text" ng-model="editBRMSController.controllerName" name="controllerName" class="form-control" required/>
+ <p ng-show="formdata.controllerName.$invalid && !formdata.controllerName.$pristine" class="help-block">Controller Name is required.</p>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6" style="margin-right:2%; margin-left:2%">
+ <label>Description:</label><br>
+ <input ng-disabled="disabled" type="text" ng-model="editBRMSController.description" class="form-control"/>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6" style="margin-right:2%; margin-left:2%" ng-class="{ 'has-error' : formdata.controller.$invalid && !formdata.controller.$pristine }">
+ <label>Controller: <sup> <b> * </b> </sup> </label> <br>
+ <textarea rows="6" cols="50" ng-disabled="disabled" ng-model="editBRMSController.controller" name = "controller" style="width:500px; height: 150px" required>
+ </textarea>
+ <p ng-show="formdata.controller.$invalid && !formdata.controller.$pristine" class="help-block">Controller is required.</p>
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-success" type="submit" ng-disabled="formdata.$invalid">Save</button>
+ <button class="btn btn-default" ng-click="$dismiss('cancel')">Close</button>
+ </div>
+ </form>
+ </div>
+ </div>
+ </div>
+</script>
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/BRMSDependencyDictionary.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/BRMSDependencyDictionary.html
new file mode 100644
index 000000000..05b315bd1
--- /dev/null
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/BRMSDependencyDictionary.html
@@ -0,0 +1,59 @@
+<!--/*-
+ * ============LICENSE_START=======================================================
+ * ECOMP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */-->
+<script type="text/ng-template" id="add_brmsDependency_popup.html">
+ <div class="modal" tabindex="-1">
+ <div class="modal-dialog modal-lg">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h2 class="font-showcase-font-name" style="color : #157bb2">{{label}}</h2>
+ </div>
+ <form name="formdata" ng-submit="saveBRMSDependency(editBRMSDependency);" novalidate>
+ <div class="modal-body">
+ <div class="form-group row">
+ <div class="form-group col-sm-6" style="margin-right:2%; margin-left:2%" ng-class="{ 'has-error' : formdata.style="margin-right:2%; margin-left:2%" ng-class="{ 'has-error' : formdata.controllerName.$invalid && !formdata.style="margin-right:2%; margin-left:2%" ng-class="{ 'has-error' : formdata.controllerName.$invalid && !formdata.controllerName.$pristine }".$pristine }".$invalid && !formdata.controllerName.$pristine }">
+ <label>Dependency Name:<sup><b>*</b></sup></label><br>
+ <input ng-disabled="disabled" type="text" ng-model="editBRMSDependency.dependencyName" class="form-control" name="dependencyName" required/>
+ <p ng-show="formdata.dependencyName.$invalid && !formdata.dependencyName.$pristine" class="help-block">Dependency Name is required.</p>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6" style="margin-right:2%; margin-left:2%">
+ <label>Description:</label><br>
+ <input ng-disabled="disabled" type="text" ng-model="editBRMSDependency.description" class="form-control"/>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6" style="margin-right:2%; margin-left:2%" ng-class="{ 'has-error' : formdata.dependency.$invalid && !formdata.dependency.$pristine }">
+ <label>Dependency: <sup> <b> * </b> </sup> </label> <br>
+ <textarea rows="6" cols="50" ng-disabled="disabled" ng-model="editBRMSDependency.dependency" name="dependency" style="width:500px; height: 150px" required>
+ </textarea>
+ <p ng-show="formdata.dependency.$invalid && !formdata.dependency.$pristine" class="help-block">Dependency is required.</p>
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-success" type="submit" ng-disabled="formdata.$invalid">Save</button>
+ <button class="btn btn-default" ng-click="$dismiss('cancel')">Close</button>
+ </div>
+ </form>
+ </div>
+ </div>
+ </div>
+</script>
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/BRMSParamDictionary.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/BRMSParamDictionary.html
new file mode 100644
index 000000000..bf75f7dc2
--- /dev/null
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/BRMSParamDictionary.html
@@ -0,0 +1,57 @@
+<!--/*-
+ * ============LICENSE_START=======================================================
+ * ECOMP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */-->
+<script type="text/ng-template" id="add_brmsParam_popup.html">
+<div class="modal" tabindex="-1">
+ <div class="modal-dialog modal-lg">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h2 class="font-showcase-font-name" style="color: #157bb2">{{label}}</h2>
+ </div>
+ <form name="formdata" ng-submit="saveBRMSParam(editBRMSParam);" novalidate>
+ <div class="modal-body">
+ <div class="form-group row">
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.ruleName.$invalid && !formdata.ruleName.$pristine }">
+ <label>Rule Name:<sup><b>*</b></sup></label><br>
+ <input type="text" ng-model="editBRMSParam.ruleName" class="form-control" name= "ruleName" required/>
+ <p ng-show="formdata.ruleName.$invalid && !formdata.ruleName.$pristine" class="help-block">Rule Name is required.</p>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6">
+ <label><sup><b></b></sup>Description:</label><br>
+ <input type="text" ng-model="editBRMSParam.description" class="form-control"/>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.file.$invalid && !formdata.file.$pristine }">
+ <input type="file" name="file" onchange="angular.element(this).scope().uploadFile(this.files)" required/>
+ <p ng-show="formdata.file.$invalid && !formdata.file.$pristine" class="help-block">Uploading Drl Rule is required.</p>
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-success" type="submit" ng-disabled="formdata.$invalid">Save</button>
+ <button class="btn btn-default" herf="javascript:void(0)" ng-click="close()">Close</button>
+ </div>
+ </form>
+ </div>
+</div>
+ </div>
+</script>
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/CLPepOptionsDictionary.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/CLPepOptionsDictionary.html
new file mode 100644
index 000000000..14dba52e0
--- /dev/null
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/CLPepOptionsDictionary.html
@@ -0,0 +1,75 @@
+<!--/*-
+ * ============LICENSE_START=======================================================
+ * ECOMP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */-->
+<script type="text/ng-template" id="add_PEPOptions_popup.html">
+<div class="modal" tabindex="-1">
+ <div class="modal-dialog modal-lg">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h2 class="font-showcase-font-name" style="color: #157bb2">{{label}}</h2>
+ </div>
+ <form name="formdata" ng-submit="saveCLPepOptions(editPEPOptions);" novalidate>
+ <div class="modal-body">
+ <div class="form-group row">
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.pepName.$invalid && !formdata.pepName.$pristine }">
+ <label>PEP Name:<sup><b>*</b></sup></label><br>
+ <input type="text" name="pepName" ng-model="editPEPOptions.pepName" class="form-control" required/>
+ <p ng-show="formdata.pepName.$invalid && !formdata.pepName.$pristine" class="help-block">PEP Name is required.</p>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6">
+ <label>Description:</label><br>
+ <input type="text" ng-model="editPEPOptions.description" class="form-control"/>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-4">
+ <label>Actions:</label><br>
+ <button type="button" class="btn btn-secondary btn-small" ng-click="addNewChoice()"><i class="fa fa-plus"></i></button>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group">
+ <div data-ng-repeat="choice in choices">
+ <div class="form-group row">
+ <div class="form-group col-sm-5" ng-class="{ 'has-error' : formdata.option.$invalid && !formdata.option.$pristine }">
+ <input type="text" class="form-control" ng-model= "choice.option" name="option" required/>
+ <p ng-show="formdata.option.$invalid && !formdata.option.$pristine" class="help-block">Action Key is required.</p>
+ </div>
+ <div class="form-group col-sm-5" ng-class="{ 'has-error' : formdata.number.$invalid && !formdata.number.$pristine }">
+ <input type="text" class="form-control" ng-model= "choice.number" name="number" required/>
+ <p ng-show="formdata.number.$invalid && !formdata.number.$pristine" class="help-block">Action value is required.</p>
+ </div>
+ <div class="form-group col-sm-1">
+ <button type="button" class="btn btn-secondary btn-small" ng-show="$last" ng-click="removeChoice()"><i class="fa fa-minus"></i></button>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-success" type="submit" ng-disabled="formdata.$invalid">Save</button>
+ <button class="btn btn-default" type="button" ng-click="close()">Close</button>
+ </div>
+ </form>
+ </div>
+ </div>
+</div>
+</script>
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/CLServiceTypeDictionary.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/CLServiceTypeDictionary.html
new file mode 100644
index 000000000..5732ee693
--- /dev/null
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/CLServiceTypeDictionary.html
@@ -0,0 +1,51 @@
+<!--/*-
+ * ============LICENSE_START=======================================================
+ * ECOMP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */-->
+<script type="text/ng-template" id="add_CLService_popup.html">
+ <div class="modal" tabindex="-1">
+ <div class="modal-dialog modal-lg">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h2 class="font-showcase-font-name" style="color : #157bb2">{{label}}</h2>
+ </div>
+ <form name="formdata" ng-submit="saveCLServiceDict(editCLService);" novalidate>
+ <div class="modal-body">
+ <div class="form-group row">
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.serviceName.$invalid && !formdata.serviceName.$pristine }">
+ <label>Service Name:<sup><b>*</b></sup></label><br>
+ <input type="text" ng-model="editCLService.serviceName" class="form-control" name= "serviceName" required/>
+ <p ng-show="formdata.serviceName.$invalid && !formdata.serviceName.$pristine" class="help-block">Service Name is required.</p>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6">
+ <label>Description:</label><br>
+ <input type="text" class="form-control" ng-model="editCLService.description"/>
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-success" type="submit" ng-disabled="formdata.$invalid">Save</button>
+ <button class="btn btn-default" type="button" ng-click="close()">Close</button>
+ </div>
+ </form>
+ </div>
+</div>
+ </div>
+</script>
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/CLSiteDictionary.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/CLSiteDictionary.html
new file mode 100644
index 000000000..4e7a23657
--- /dev/null
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/CLSiteDictionary.html
@@ -0,0 +1,55 @@
+<!--/*-
+ * ============LICENSE_START=======================================================
+ * ECOMP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */-->
+<script type="text/ng-template" id="add_CLSite_popup.html">
+<div class="modal" tabindex="-1">
+ <div class="modal-dialog modal-lg">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h2 class="font-showcase-font-name" style="color : #157bb2">{{label}}</h2>
+ <div class="corner-button in">
+ <button type="button" class="close" aria-label="Close"
+ ng-click="$dismiss('cancel')"></button>
+ </div>
+ </div>
+ <form name="formdata" ng-submit="saveCLSite(editCLSite);" novalidate>
+ <div class="modal-body">
+ <div class="form-group row">
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.siteName.$invalid && !formdata.siteName.$pristine }">
+ <label>Site Name:<sup><b>*</b></sup></label><br>
+ <input type="text" ng-model="editCLSite.siteName" class="form-control" name= "siteName" required/>
+ <p ng-show="formdata.siteName.$invalid && !formdata.siteName.$pristine" class="help-block">Site Name is required.</p>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6">
+ <label>Description:</label><br>
+ <input type="text" ng-model="editCLSite.description" class="form-control"/>
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-success" type="submit" ng-disabled="formdata.$invalid">Save</button>
+ <button class="btn btn-default" type="button" ng-click="close()">Close</button>
+ </div>
+ </form>
+ </div>
+</div>
+ </div>
+</script>
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/CLVarbindDictionary.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/CLVarbindDictionary.html
new file mode 100644
index 000000000..fd64ef132
--- /dev/null
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/CLVarbindDictionary.html
@@ -0,0 +1,62 @@
+<!--/*-
+ * ============LICENSE_START=======================================================
+ * ECOMP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */-->
+<script type="text/ng-template" id="add_varbind_popup.html">
+<div class="modal" tabindex="-1">
+ <div class="modal-dialog modal-lg">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h2 class="font-showcase-font-name" style="color : #157bb2">{{label}}</h2>
+ <div class="corner-button in">
+ <button type="button" class="close" aria-label="Close"
+ ng-click="$dismiss('cancel')"></button>
+ </div>
+ </div>
+ <form name="formdata" ng-submit="saveCLVarbind(editCLVarbind);" novalidate>
+ <div class="modal-body">
+ <div class="form-group row">
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.varbindName.$invalid && !formdata.varbindName.$pristine }">
+ <label>Varbind Name:<sup><b>*</b></sup></label><br>
+ <input type="text" ng-model="editCLVarbind.varbindName" class="form-control" name= "varbindName" required/>
+ <p ng-show="formdata.varbindName.$invalid && !formdata.varbindName.$pristine" class="help-block">Varbind Name is required.</p>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6">
+ <label>Description:</label><br>
+ <input type="text" ng-model="editCLVarbind.varbindDescription" class="form-control"/>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.varbindOID.$invalid && !formdata.varbindOID.$pristine }">
+ <label>Varbind OID:</label><br>
+ <input type="text" ng-model="editCLVarbind.varbindOID" class="form-control" name= "varbindOID" required/>
+ <p ng-show="formdata.varbindOID.$invalid && !formdata.varbindOID.$pristine" class="help-block">Varbind OID is required.</p>
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-success" type="submit" ng-disabled="formdata.$invalid">Save</button>
+ <button class="btn btn-default" type="button" ng-click="close()">Close</button>
+ </div>
+ </form>
+ </div>
+</div>
+ </div>
+</script>
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/CLVnfTypeDictionary.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/CLVnfTypeDictionary.html
new file mode 100644
index 000000000..19a35f853
--- /dev/null
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/CLVnfTypeDictionary.html
@@ -0,0 +1,51 @@
+<!--/*-
+ * ============LICENSE_START=======================================================
+ * ECOMP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */-->
+<script type="text/ng-template" id="add_vnfType_popup.html">
+<div class="modal" tabindex="-1">
+ <div class="modal-dialog modal-lg">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h2 class="font-showcase-font-name" style="color : #157bb2">{{label}}</h2>
+ </div>
+ <form name="formdata" ng-submit="saveCLVnfType(editVnfType);" novalidate>
+ <div class="modal-body">
+ <div class="form-group row">
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.vnftype.$invalid && !formdata.vnftype.$pristine }">
+ <label>VNF Type:<sup><b>*</b></sup></label><br>
+ <input type="text" ng-model="editVnfType.vnftype" class="form-control" name= "vnftype" required/>
+ <p ng-show="formdata.vnftype.$invalid && !formdata.vnftype.$pristine" class="help-block">VNF Type is required.</p>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6">
+ <label>Description:</label><br>
+ <input type="text" ng-model="editVnfType.description" class="form-control"/>
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-success" type="submit" ng-disabled="formdata.$invalid">Save</button>
+ <button class="btn btn-default" type="button" ng-click="close()">Close</button>
+ </div>
+ </form>
+ </div>
+</div>
+ </div>
+</script>
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/CLVsclActionDictionary.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/CLVsclActionDictionary.html
new file mode 100644
index 000000000..9321ad82e
--- /dev/null
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/CLVsclActionDictionary.html
@@ -0,0 +1,51 @@
+<!--/*-
+ * ============LICENSE_START=======================================================
+ * ECOMP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */-->
+<script type="text/ng-template" id="add_vsclAction_popup.html">
+<div class="modal" tabindex="-1">
+ <div class="modal-dialog modal-lg">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h2 class="font-showcase-font-name" style="color : #157bb2">{{label}}</h2>
+ </div>
+ <form name="formdata" ng-submit="saveCLVSCLAction(editvsclAction);" novalidate>
+ <div class="modal-body">
+ <div class="form-group row">
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.vsclaction.$invalid && !formdata.vsclaction.$pristine }">
+ <label>VSCL Action:<sup><b>*</b></sup></label><br>
+ <input type="text" ng-model="editvsclAction.vsclaction" class="form-control" name= "vsclaction" required/>
+ <p ng-show="formdata.vsclaction.$invalid && !formdata.vsclaction.$pristine" class="help-block">VSCL Action is required.</p>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6">
+ <label>Description:</label><br>
+ <input type="text" ng-model="editvsclAction.description" class="form-control"/>
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-success" type="submit" ng-disabled="formdata.$invalid">Save</button>
+ <button class="btn btn-default" type="button" ng-click="close()">Close</button>
+ </div>
+ </form>
+ </div>
+ </div>
+</div>
+</script>
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/DecisionSettingsDictionary.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/DecisionSettingsDictionary.html
new file mode 100644
index 000000000..12414baa4
--- /dev/null
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/DecisionSettingsDictionary.html
@@ -0,0 +1,69 @@
+<!--/*-
+ * ============LICENSE_START=======================================================
+ * ECOMP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */-->
+<script type="text/ng-template" id="add_SettingsDict_popup.html">
+ <div class="modal" tabindex="-1">
+ <div class="modal-dialog modal-lg">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h2 class="font-showcase-font-name" style="color: #157bb2">{{label}}</h2>
+ </div>
+ <form name="formdata" ng-submit="saveDecisionSettings(editSettingsDict);" novalidate>
+ <div class="modal-body">
+ <div class="form-group row">
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.xacmlId.$invalid && !formdata.xacmlId.$pristine }">
+ <label>Settings Name:<sup><b>*</b></sup></label><br>
+ <input type="text" ng-model="editSettingsDict.xacmlId" class="form-control" name= "xacmlId" required/>
+ <p ng-show="formdata.xacmlId.$invalid && !formdata.xacmlId.$pristine" class="help-block">Settings Name is required.</p>
+ </div>
+ <div class="form-group col-sm-2" ng-class="{ 'has-error' : formdata.datatypeBean.shortName.$invalid && !formdata.datatypeBean.shortName.$pristine }">
+ <label>Data Type:<sup><b>*</b></sup></label><BR>
+ <select class="form-control" ng-model="editSettingsDict.datatypeBean.shortName" name= "datatypeBean.shortName" required>
+ <option>string</option>
+ <option>integer</option>
+ <option>boolean</option>
+ <option>double</option>
+ <option>user</option>
+ </select>
+ <p ng-show="formdata.datatypeBean.shortName.$invalid && !formdata.datatypeBean.shortName.$pristine" class="help-block">Data Type is required.</p>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6">
+ <label>Description:</label><br>
+ <input type="text" ng-model="editSettingsDict.description" class="form-control"/>
+ </div>
+ <div class="form-group col-sm-2">
+ <label>Priority:</label><BR>
+ <select class="form-control" ng-model="editSettingsDict.priority">
+ <option></option>
+ <option>High</option>
+ </select>
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-success" type="submit" ng-disabled="formdata.$invalid">Save</button>
+ <button class="btn btn-default" type="button" ng-click="close()">Close</button>
+ </div>
+ </form>
+ </div>
+</div>
+ </div>
+</script>
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/DescriptiveScopeDictionary.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/DescriptiveScopeDictionary.html
new file mode 100644
index 000000000..d32bbb59c
--- /dev/null
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/DescriptiveScopeDictionary.html
@@ -0,0 +1,76 @@
+<!--/*-
+ * ============LICENSE_START=======================================================
+ * ECOMP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */-->
+<script type="text/ng-template" id="add_descriptiveScope_popup.html">
+<div class="modal" tabindex="-1">
+ <div class="modal-dialog modal-lg">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h2 class="font-showcase-font-name" style="color: #157bb2">{{label}}</h2>
+ </div>
+ <form name="formdata" ng-submit="saveDescriptiveScope(editDescriptiveScope);" novalidate>
+ <div class="modal-body">
+ <div class="form-group row">
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.scopeName.$invalid && !formdata.scopeName.$pristine }">
+ <label>Descriptive Scope Name:<sup><b>*</b></sup></label><br>
+ <input type="text" ng-model="editDescriptiveScope.scopeName" class="form-control" name= "scopeName" required/>
+ <p ng-show="formdata.scopeName.$invalid && !formdata.scopeName.$pristine" class="help-block">Descriptive Scope Name is required.</p>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6">
+ <label>Description:</label><br>
+ <input type="text" ng-model="editDescriptiveScope.description" class="form-control"/>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-4">
+ <label>Search Criteria:</label><br>
+ <button type="button" class="btn btn-secondary btn-small" ng-click="addNewChoice()"><i class="fa fa-plus"></i></button>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group">
+ <div data-ng-repeat="choice in choices">
+ <div class="form-group row">
+ <div class="form-group col-sm-5" ng-class="{ 'has-error' : formdata.option.$invalid && !formdata.option.$pristine }">
+ <input type="text" class="form-control" ng-model= "choice.option" name= "option" required/>
+ <p ng-show="formdata.option.$invalid && !formdata.option.$pristine" class="help-block">Key is required.</p>
+ </div>
+ <div class="form-group col-sm-5" ng-class="{ 'has-error' : formdata.number.$invalid && !formdata.number.$pristine }">
+ <input type="text" class="form-control" ng-model= "choice.number" name= "number" required/>
+ <p ng-show="formdata.number.$invalid && !formdata.number.$pristine" class="help-block">Value is required.</p>
+ </div>
+ <div class="form-group col-sm-1">
+ <button type="button" class="btn btn-secondary btn-small" ng-show="$last" ng-click="removeChoice()"><i class="fa fa-minus"></i></button>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-success" type="submit" ng-disabled="formdata.$invalid">Save</button>
+ <button class="btn btn-default" type="button" ng-click="close()">Close</button>
+ </div>
+ </form>
+ </div>
+</div>
+ </div>
+</script> \ No newline at end of file
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/EcompNameDictionary.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/EcompNameDictionary.html
new file mode 100644
index 000000000..479454f72
--- /dev/null
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/EcompNameDictionary.html
@@ -0,0 +1,51 @@
+<!--/*-
+ * ============LICENSE_START=======================================================
+ * ECOMP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */-->
+<script type="text/ng-template" id="add_ecompName_popup.html">
+ <div class="modal" tabindex="-1">
+ <div class="modal-dialog modal-lg">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h2 style="color : #157bb2">{{label}}</h2>
+ </div>
+ <form name="formdata" ng-submit="saveEcompName(editEcompName);" novalidate>
+ <div class="modal-body">
+ <div class="form-group row">
+ <div class="form-group" style="margin-right:2%; margin-left:2%" ng-class="{ 'has-error' : formdata.ecompName.$invalid && !formdata.ecompName.$pristine }">
+ <label>Ecomp Name:<sup><b>*</b></sup></label><br>
+ <input type="text" class="form-control" ng-model="editEcompName.ecompName" name= "ecompName" required/>
+ <p ng-show="formdata.ecompName.$invalid && !formdata.ecompName.$pristine" class="help-block">Ecomp Name is required.</p>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group" style="margin-right:2%; margin-left:2%">
+ <label>Description:</label><br>
+ <input class="form-control" type="text" ng-model="editEcompName.description"/>
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-success" type="submit" ng-disabled="formdata.$invalid">Save</button>
+ <button class="btn btn-default" ng-click="$dismiss('cancel')">Close</button>
+ </div>
+ </form>
+ </div>
+ </div>
+ </div>
+</script>
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/EnforcerTypeDictionary.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/EnforcerTypeDictionary.html
new file mode 100644
index 000000000..511adb251
--- /dev/null
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/EnforcerTypeDictionary.html
@@ -0,0 +1,56 @@
+<!--/*-
+ * ============LICENSE_START=======================================================
+ * ECOMP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */-->
+<script type="text/ng-template" id="add_EnforcerType_popup.html">
+ <div class="modal__informative font-showcase" style="width:800px;">
+ <div class="modal__header">
+ <h2 class="font-showcase-font-name" style="width: 500px;">{{label}}</h2>
+ </div>
+ <div class="divider-container"><hr> </div>
+ <form name="formdata" ng-submit="saveEnforcerType(editEnforcerType);" novalidate>
+ <div class="modal__content">
+ <div class="fn-ebz-container" ng-class="{ 'has-error' : formdata.enforcingType.$invalid && !formdata.enforcingType.$pristine }">
+ <label>Enforcer Type:<sup><b>*</b></sup></label><br>
+ <input type="text" ng-model="editEnforcerType.enforcingType" style="width:500px;" name= "enforcingType" required/>
+ <p ng-show="formdata.enforcingType.$invalid && !formdata.enforcingType.$pristine" class="help-block">Enforcer Type is required.</p>
+ </div>
+ <br/>
+ <div class="fn-ebz-container" ng-class="{ 'has-error' : formdata.script.$invalid && !formdata.script.$pristine }">
+ <label>Script:</label><br>
+ <input type="text" ng-model="editEnforcerType.script" style="width:500px;" name= "script" required/>
+ <p ng-show="formdata.script.$invalid && !formdata.script.$pristine" class="help-block">Script is required.</p>
+ </div>
+ <div class="fn-ebz-container" ng-class="{ 'has-error' : formdata.connectionQuery.$invalid && !formdata.connectionQuery.$pristine }">
+ <label>Query for Connection:</label><br>
+ <input type="text" ng-model="editEnforcerType.connectionQuery" style="width:500px;" name= "connectionQuery" required/>
+ <p ng-show="formdata.connectionQuery.$invalid && !formdata.connectionQuery.$pristine" class="help-block">Query for Connection is required.</p>
+ </div>
+ <div class="fn-ebz-container" ng-class="{ 'has-error' : formdata.valueQuery.$invalid && !formdata.valueQuery.$pristine }">
+ <label>Query for Pre-populating value:</label><br>
+ <input type="text" ng-model="editEnforcerType.valueQuery" style="width:500px;" name= "valueQuery" required/>
+ <p ng-show="formdata.valueQuery.$invalid && !formdata.valueQuery.$pristine" class="help-block">Query for Pre-populating value is required.</p>
+ </div>
+ </div>
+ <div class="modal__footer">
+ <button class="btn btn-success" type="submit" ng-disabled="formdata.$invalid">Save</button>
+ <button class="btn btn-default" herf="javascript:void(0)" ng-click="close()">Close</button>
+ </div>
+ </form>
+ </div>
+</script>
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWActionListDictionary.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWActionListDictionary.html
new file mode 100644
index 000000000..28b14d4eb
--- /dev/null
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWActionListDictionary.html
@@ -0,0 +1,51 @@
+<!--/*-
+ * ============LICENSE_START=======================================================
+ * ECOMP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */-->
+<script type="text/ng-template" id="add_FWActionList_popup.html">
+<div class="modal" tabindex="-1">
+ <div class="modal-dialog modal-lg">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h2 class="font-showcase-font-name" style="color : #157bb2">{{label}}</h2>
+ </div>
+ <form name="formdata" ng-submit="saveFWActionList(editActionList);" novalidate>
+ <div class="modal-body">
+ <div class="form-group row">
+ <div class="form-group col-sm-6"" ng-class="{ 'has-error' : formdata.actionName.$invalid && !formdata.actionName.$pristine }">
+ <label>Action Name:<sup><b>*</b></sup></label><br>
+ <input type="text" ng-model="editActionList.actionName" class="form-control" name= "actionName" required/>
+ <p ng-show="formdata.actionName.$invalid && !formdata.actionName.$pristine" class="help-block">Action Name is required.</p>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6">
+ <label>Description:</label><br>
+ <input type="text" ng-model="editActionList.description" class="form-control"/>
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-success" type="submit" ng-disabled="formdata.$invalid">Save</button>
+ <button class="btn btn-default" type="button" ng-click="close()">Close</button>
+ </div>
+ </form>
+ </div>
+</div>
+ </div>
+</script>
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWAddressGroupDictionary.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWAddressGroupDictionary.html
new file mode 100644
index 000000000..231ac0a33
--- /dev/null
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWAddressGroupDictionary.html
@@ -0,0 +1,72 @@
+<!--/*-
+ * ============LICENSE_START=======================================================
+ * ECOMP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */-->
+<script type="text/ng-template" id="add_FWAddressGroup_popup.html">
+<div class="modal" tabindex="-1">
+ <div class="modal-dialog modal-lg">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h2 class="font-showcase-font-name" style="color: #157bb2">{{label}}</h2>
+ </div>
+ <form name="formdata" ng-submit="saveFWAddressGroup(editAddressGroup);" novalidate>
+ <div class="modal-body">
+ <div class="form-group row">
+ <div class="form-group col-sm-6" class="form-group" ng-class="{ 'has-error' : formdata.groupName.$invalid && !formdata.groupName.$pristine }">
+ <label>Address Group:<sup><b>*</b></sup></label><br>
+ <input type="text" ng-model="editAddressGroup.groupName" class="form-control" name= "groupName" required/>
+ <p ng-show="formdata.groupName.$invalid && !formdata.groupName.$pristine" class="help-block">Group Name is required.</p>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6">
+ <label>Description:</label><br>
+ <input type="text" ng-model="editAddressGroup.description" class="form-control"/>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-4">
+ <label>Prefix List:</label><br>
+ <button type="button" class="btn btn-secondary btn-small" ng-click="addAPNewChoice()"><i class="fa fa-plus"></i></button>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group">
+ <div data-ng-repeat="choice in apchoices">
+ <div class="form-group row">
+ <div class="form-group col-sm-5" ng-class="{ 'has-error' : formdata.option.$invalid && !formdata.option.$pristine }">
+ <select class="form-control" ng-model="choice.option" ng-options="option for option in prefixListDictionaryDatas track by option"></select>
+ <p ng-show="formdata.option.$invalid && !formdata.option.$pristine" class="help-block">Key is required.</p>
+ </div>
+ <div class="form-group col-sm-1">
+ <button type="button" class="btn btn-secondary btn-small" ng-show="$last" ng-click="removeAPChoice()"><i class="fa fa-minus"></i></button>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-success" type="submit" ng-disabled="formdata.$invalid">Save</button>
+ <button class="btn btn-default" type="button" ng-click="close()">Close</button>
+ </div>
+ </form>
+ </div>
+</div>
+ </div>
+</script>
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWParentListDictionary.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWParentListDictionary.html
new file mode 100644
index 000000000..41e2003a4
--- /dev/null
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWParentListDictionary.html
@@ -0,0 +1,91 @@
+<!--/*-
+ * ============LICENSE_START=======================================================
+ * ECOMP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */-->
+<script type="text/ng-template" id="add_fwParentList_popup.html">
+<div class="modal" tabindex="-1">
+ <div class="modal-dialog modal-lg">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h2 class="font-showcase-font-name" style="color: #157bb2">{{label}}</h2>
+ </div>
+ <form name="formdata" ng-submit="saveFWParentList(editParentList);" novalidate>
+ <div class="modal-body">
+ <div class="form-group row">
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.parentItemName.$invalid && !formdata.parentItemName.$pristine }">
+ <label>Parent Name:<sup><b>*</b></sup></label><br>
+ <input type="text" ng-model="editParentList.parentItemName" class="form-control" name= "parentItemName" required/>
+ <p ng-show="formdata.parentItemName.$invalid && !formdata.parentItemName.$pristine" class="help-block">Parent Name is required.</p>
+ </div>
+ <div class="form-group col-sm-6">
+ <label>Description:<sup><b>*</b></sup></label><br>
+ <input type="text" ng-model="editParentList.description" class="form-control"/>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-4">
+ <label>Service List:</label><br>
+ <button type="button" class="btn btn-secondary btn-small" ng-click="addServiceGroupNewChoice()"><i class="fa fa-plus"></i></button>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group">
+ <div data-ng-repeat="choice in slchoices">
+ <div class="form-group row">
+ <div class="form-group col-sm-5" ng-class="{ 'has-error' : formdata.option.$invalid && !formdata.option.$pristine }">
+ <select class="form-control" ng-model="choice.option" ng-options="option for option in serviceListDictionaryDatas track by option" name= "option" required><option value = "">{{choice.option}}</option></select>
+ <p ng-show="formdata.option.$invalid && !formdata.option.$pristine" class="help-block">SL Choices Key is required.</p>
+ </div>
+ <div class="form-group col-sm-1">
+ <button type="button" class="btn btn-secondary btn-small" ng-show="$last" ng-click="removeServiceGroupChoice()"><i class="fa fa-minus"></i></button>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-4">
+ <label>Address List:</label><br>
+ <button type="button" class="btn btn-secondary btn-small" ng-click="addAddressGroupNewChoice()"><i class="fa fa-plus"></i></button>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group">
+ <div data-ng-repeat="choice in alchoices">
+ <div class="form-group row">
+ <div class="form-group col-sm-5" ng-class="{ 'has-error' : formdata.option.$invalid && !formdata.option.$pristine }">
+ <select class="form-control" ng-model="choice.option" ng-options="option for option in addressGroupDictionaryDatas track by option" name= "option" required><option value = "">{{choice.option}}</option></select>
+ <p ng-show="formdata.option.$invalid && !formdata.option.$pristine" class="help-block">AL Choices Key is required.</p>
+ </div>
+ <div class="form-group col-sm-1">
+ <button type="button" class="btn btn-secondary btn-small" ng-show="$last" ng-click="removeAddressGroupChoice()"><i class="fa fa-minus"></i></button>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-success" ng-disabled="formdata.$invalid">Save</button>
+ <button class="btn btn-default" type="button" ng-click="close()">Close</button>
+ </div>
+ </form>
+ </div>
+</div>
+ </div>
+</script>
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWPortListDictionary.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWPortListDictionary.html
new file mode 100644
index 000000000..f013dc011
--- /dev/null
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWPortListDictionary.html
@@ -0,0 +1,51 @@
+<!--/*-
+ * ============LICENSE_START=======================================================
+ * ECOMP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */-->
+<script type="text/ng-template" id="add_FWPortList_popup.html">
+<div class="modal" tabindex="-1">
+ <div class="modal-dialog modal-lg">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h2 class="font-showcase-font-name" style="color : #157bb2">{{label}}</h2>
+ </div>
+ <form name="formdata" ng-submit="saveFWPortList(editPortList);" novalidate>
+ <div class="modal-body">
+ <div class="form-group row">
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.portName.$invalid && !formdata.portName.$pristine }">
+ <label>Port Name:<sup><b>*</b></sup></label><br>
+ <input type="text" ng-model="editPortList.portName" class="form-control" name= "portName" required/>
+ <p ng-show="formdata.portName.$invalid && !formdata.portName.$pristine" class="help-block">Port Name is required.</p>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6">
+ <label>Description:</label><br>
+ <input type="text" ng-model="editPortList.description" class="form-control"/>
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-success" type="submit" ng-disabled="formdata.$invalid">Save</button>
+ <button class="btn btn-default" type="button" ng-click="close()">Close</button>
+ </div>
+ </form>
+ </div>
+</div>
+ </div>
+</script>
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWPrefixListDictionary.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWPrefixListDictionary.html
new file mode 100644
index 000000000..a8080a40c
--- /dev/null
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWPrefixListDictionary.html
@@ -0,0 +1,57 @@
+<!--/*-
+ * ============LICENSE_START=======================================================
+ * ECOMP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */-->
+<script type="text/ng-template" id="add_FWPrefixList_popup.html">
+<div class="modal" tabindex="-1">
+ <div class="modal-dialog modal-lg">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h2 class="font-showcase-font-name" style="color : #157bb2">{{label}}</h2>
+ </div>
+ <form name="formdata" ng-submit="saveFWPrefixList(editPrefixList);" novalidate>
+ <div class="modal-body">
+ <div class="form-group row">
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.prefixListName.$invalid && !formdata.prefixListName.$pristine }">
+ <label>PrefixList Name:<sup><b>*</b></sup></label><br>
+ <input type="text" ng-model="editPrefixList.prefixListName" class="form-control" name= "prefixListName" required/>
+ <p ng-show="formdata.prefixListName.$invalid && !formdata.prefixListName.$pristine" class="help-block">Prefix List is required.</p>
+ </div>
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.prefixListValue.$invalid && !formdata.prefixListValue.$pristine }">
+ <label>PrefixList Value:</label><br>
+ <input type="text" ng-model="editPrefixList.prefixListValue" class="form-control" name= "prefixListValue" required/>
+ <p ng-show="formdata.prefixListValue.$invalid && !formdata.prefixListValue.$pristine" class="help-block">PrefixList Value is required.</p>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-12">
+ <label>Description:</label><br>
+ <input type="text" ng-model="editPrefixList.description" class="form-control"/>
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-success" type="submit" ng-disabled="formdata.$invalid">Save</button>
+ <button class="btn btn-default" type="button" ng-click="validateFWPrefixList(editPrefixList);">Validate</button>
+ <button class="btn btn-default" type="button" ng-click="close()">Close</button>
+ </div>
+ </form>
+ </div>
+</div>
+ </div>
+</script>
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWProtocolListDictionary.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWProtocolListDictionary.html
new file mode 100644
index 000000000..7243f9c63
--- /dev/null
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWProtocolListDictionary.html
@@ -0,0 +1,51 @@
+<!--/*-
+ * ============LICENSE_START=======================================================
+ * ECOMP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */-->
+<script type="text/ng-template" id="add_FWProtocolList_popup.html">
+<div class="modal" tabindex="-1">
+ <div class="modal-dialog modal-lg">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h2 class="font-showcase-font-name" style="color : #157bb2">{{label}}</h2>
+ </div>
+ <form name="formdata" ng-submit="saveProtocolList(editProtocolList);" novalidate>
+ <div class="modal-body">
+ <div class="form-group row">
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.protocolName.$invalid && !formdata.protocolName.$pristine }">
+ <label>Protocol Name:<sup><b>*</b></sup></label><br>
+ <input type="text" ng-model="editProtocolList.protocolName" class="form-control" name= "protocolName" required/>
+ <p ng-show="formdata.protocolName.$invalid && !formdata.protocolName.$pristine" class="help-block">Protocol Name is required.</p>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6">
+ <label>Description:</label><br>
+ <input type="text" ng-model="editProtocolList.description" class="form-control"/>
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-success" type="submit" ng-disabled="formdata.$invalid">Save</button>
+ <button class="btn btn-default" type="button" ng-click="close()">Close</button>
+ </div>
+ </form>
+ </div>
+</div>
+ </div>
+</script>
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWSecurityZoneDictionary.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWSecurityZoneDictionary.html
new file mode 100644
index 000000000..6dfd88a2b
--- /dev/null
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWSecurityZoneDictionary.html
@@ -0,0 +1,52 @@
+<!--/*-
+ * ============LICENSE_START=======================================================
+ * ECOMP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */-->
+<script type="text/ng-template" id="add_fwSecurityZone_popup.html">
+<div class="modal" tabindex="-1">
+ <div class="modal-dialog modal-lg">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h2 class="font-showcase-font-name" style="color : #157bb2">{{label}}</h2>
+ </div>
+ <form name="formdata" ng-submit="saveSecurityZone(editSecurityZone);" novalidate>
+ <div class="modal-body">
+ <div class="form-group row">
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.zoneName.$invalid && !formdata.zoneName.$pristine }">
+ <label>Security Zone Name:<sup><b>*</b></sup></label><br>
+ <input type="text" ng-model="editSecurityZone.zoneName" class="form-control" name= "zoneName" required/>
+ <p ng-show="formdata.zoneName.$invalid && !formdata.zoneName.$pristine" class="help-block">Security Zone Name is required.</p>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.zoneValue.$invalid && !formdata.zoneValue.$pristine }">
+ <label>Security Zone Value:<sup><b>*</b></sup></label><br>
+ <input type="text" ng-model="editSecurityZone.zoneValue" class="form-control" name= "zoneValue" required/>
+ <p ng-show="formdata.zoneValue.$invalid && !formdata.zoneValue.$pristine" class="help-block">Security Zone Value is required.</p>
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-success" type="submit" ng-disabled="formdata.$invalid">Save</button>
+ <button class="btn btn-default" type="button" ng-click="close()">Close</button>
+ </div>
+ </form>
+ </div>
+</div>
+ </div>
+</script>
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWServiceGroupDictionary.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWServiceGroupDictionary.html
new file mode 100644
index 000000000..3f676938e
--- /dev/null
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWServiceGroupDictionary.html
@@ -0,0 +1,47 @@
+<script type="text/ng-template" id="add_fwServiceGroup_popup.html">
+<div class="modal" tabindex="-1">
+ <div class="modal-dialog modal-lg">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h2 class="font-showcase-font-name" style="color: #157bb2">{{label}}</h2>
+ </div>
+ <form name="formdata" ng-submit="saveFWServiceGroup(editServiceGroup);" novalidate>
+ <div class="modal-body">
+ <div class="form-group row">
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.groupName.$invalid && !formdata.groupName.$pristine }">
+ <label>Service Group:<sup><b>*</b></sup></label><br>
+ <input type="text" ng-model="editServiceGroup.groupName" class="form-control" name= "groupName" required/>
+ <p ng-show="formdata.groupName.$invalid && !formdata.groupName.$pristine" class="help-block">Service Group is required.</p>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-4">
+ <label>Service List:</label><br>
+ <button type="button" class="btn btn-secondary btn-small" ng-click="addServiceGroupNewChoice()"><i class="fa fa-plus"></i></button>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group">
+ <div data-ng-repeat="choice in slchoices">
+ <div class="form-group row">
+ <div class="form-group col-sm-5" ng-class="{ 'has-error' : formdata.option.$invalid && !formdata.option.$pristine }">
+ <select class="form-control" ng-model="choice.option" name= "option" required ng-options="option for option in serviceListDictionaryDatas track by option"><option value = "">{{choice.option}}</option></select>
+ <p ng-show="formdata.option.$invalid && !formdata.option.$pristine" class="help-block">ServiceList is required.</p>
+ </div>
+ <div class="form-group col-sm-1">
+ <button type="button" class="btn btn-secondary btn-small" ng-show="$last" ng-click="removeServiceGroupChoice()"><i class="fa fa-minus"></i></button>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-success" type="submit" ng-disabled="formdata.$invalid">Save</button>
+ <button class="btn btn-default" type="button" ng-click="close()">Close</button>
+ </div>
+ </div>
+ </form>
+ </div>
+ </div>
+</div>
+</script>
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWServiceListDictionary.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWServiceListDictionary.html
new file mode 100644
index 000000000..130542326
--- /dev/null
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWServiceListDictionary.html
@@ -0,0 +1,100 @@
+<!--/*-
+ * ============LICENSE_START=======================================================
+ * ECOMP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */-->
+<script type="text/ng-template" id="add_FWServiceList_popup.html">
+<div class="modal" tabindex="-1">
+ <div class="modal-dialog modal-lg">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h2 class="font-showcase-font-name" style="color: #157bb2">{{label}}</h2>
+ </div>
+ <form name="formdata" ng-submit="saveFWServiceList(editServiceList);" novalidate>
+ <div class="modal-body">
+ <div class="form-group row">
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.serviceName.$invalid && !formdata.serviceName.$pristine }">
+ <label>Service Name:<sup><b>*</b></sup></label><br>
+ <input type="text" ng-model="editServiceList.serviceName" class="form-control" name= "serviceName" required/>
+ <p ng-show="formdata.serviceName.$invalid && !formdata.serviceName.$pristine" class="help-block">Service Name is required.</p>
+ </div>
+ <div class="form-group col-sm-6">
+ <label>Description:<sup><b>*</b></sup></label><br>
+ <input type="text" ng-model="editServiceList.serviceDescription" class="form-control"/>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-4">
+ <label>Transport Protocol:</label><br>
+ <button type="button" class="btn btn-secondary btn-small" ng-click="addTPNewChoice()"><i class="fa fa-plus"></i></button>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group">
+ <div data-ng-repeat="choice in tpchoices">
+ <div class="form-group row">
+ <div class="form-group col-sm-5" ng-class="{ 'has-error' : formdata.option.$invalid && !formdata.option.$pristine }">
+ <select class="form-control" name= "option" required ng-model="choice.option" ng-options="option for option in protocolListDictionaryDatas track by option" >
+ <option value="">{{choice.option}}</option></select>
+ <p ng-show="formdata.option.$invalid && !formdata.option.$pristine" class="help-block">Transport Protocol is required.</p>
+ </div>
+ <div class="form-group col-sm-1">
+ <button type="button" class="btn btn-secondary btn-small" ng-show="$last" ng-click="removeTPChoice()"><i class="fa fa-minus"></i></button>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-4">
+ <label>Application Protocol:</label><br>
+ <button type="button" class="btn btn-secondary btn-small" ng-click="addAPNewChoice()"><i class="fa fa-plus"></i></button>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group">
+ <div data-ng-repeat="choice in apchoices">
+ <div class="form-group row">
+ <div class="form-group col-sm-5" ng-class="{ 'has-error' : formdata.option.$invalid && !formdata.option.$pristine }">
+ <select class="form-control" name= "option" required ng-model="choice.option" ng-options="option for option in protocolListDictionaryDatas track by option" >
+ <option value="">{{choice.option}}</option></select>
+ <p ng-show="formdata.option.$invalid && !formdata.option.$pristine" class="help-block">Application Protocol is required.</p>
+ </div>
+ <div class="form-group col-sm-1">
+ <button type="button" class="btn btn-secondary btn-small" ng-show="$last" ng-click="removeAPChoice()"><i class="fa fa-minus"></i></button>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6" class="fn-ebz-container" ng-class="{ 'has-error' : formdata.servicePorts.$invalid && !formdata.servicePorts.$pristine }">
+ <label>Service Ports:<sup><b>*</b></sup></label><br>
+ <input type="text" ng-model="editServiceList.servicePorts" class="form-control" name= "servicePorts" required/>
+ <p ng-show="formdata.servicePorts.$invalid && !formdata.servicePorts.$pristine" class="help-block">Service Ports is required.</p>
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-success" type="submit" ng-disabled="formdata.$invalid">Save</button>
+ <button class="btn btn-default" type="button" ng-click="close()">Close</button>
+ </div>
+ </form>
+ </div>
+ </div>
+</div>
+</script>
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWTag.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWTag.html
new file mode 100644
index 000000000..ee4ded9b3
--- /dev/null
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWTag.html
@@ -0,0 +1,69 @@
+<!--/*-
+ * ============LICENSE_START=======================================================
+ * ECOMP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */-->
+<script type="text/ng-template" id="add_fwTag_popup.html">
+<div class="modal" tabindex="-1">
+ <div class="modal-dialog modal-lg">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h2 class="font-showcase-font-name" style="color: #157bb2">{{label}}</h2>
+ </div>
+ <form name="formdata" ng-submit="saveFWTag(editFWTag);" novalidate>
+ <div class="modal-body">
+ <div class="form-group row">
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.fwTagName.$invalid && !formdata.fwTagName.$pristine }">
+ <label>Tag Name:<sup><b>*</b></sup></label><br>
+ <input type="text" ng-model="editFWTag.fwTagName" class="form-control" name= "fwTagName" required/>
+ <p ng-show="formdata.fwTagName.$invalid && !formdata.fwTagName.$pristine" class="help-block">Tag Name is required.</p>
+ </div>
+ <div class="form-group col-sm-6">
+ <label>Description:</label><br>
+ <input type="text" ng-model="editFWTag.description" class="form-control"/>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-4">
+ <label>Values:</label><br>
+ <button type="button" class="btn btn-secondary btn-small" ng-click="addNewChoice()"><i class="fa fa-plus"></i></button>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group">
+ <div data-ng-repeat="choice in choices">
+ <div class="form-group row">
+ <div class="form-group col-sm-5" ng-class="{ 'has-error' : formdata.tags.$invalid && !formdata.tags.$pristine }">
+ <input type="text" class="form-control" ng-model="choice.tags" maxlength="30" name= "tags" required/>
+ <p ng-show="formdata.tags.$invalid && !formdata.tags.$pristine" class="help-block">Values is required.</p>
+ </div>
+ <div class="form-group col-sm-1">
+ <button type="button" class="btn btn-secondary btn-small" ng-show="$last" ng-click="removeChoice()"><i class="fa fa-minus"></i></button>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-success" type="submit" ng-disabled="formdata.$invalid">Save</button>
+ <button class="btn btn-default" herf="javascript:void(0)" ng-click="close()">Close</button>
+ </div>
+ </form>
+ </div>
+ </div>
+</div>
+</script>
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWTagPicker.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWTagPicker.html
new file mode 100644
index 000000000..30c4e6372
--- /dev/null
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWTagPicker.html
@@ -0,0 +1,76 @@
+<!--/*-
+ * ============LICENSE_START=======================================================
+ * ECOMP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */-->
+<script type="text/ng-template" id="add_fwTagPicker_popup.html">
+<div class="modal" tabindex="-1">
+ <div class="modal-dialog modal-lg">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h2 class="font-showcase-font-name" style="color: #157bb2">{{label}}</h2>
+ </div>
+ <form name="formdata" ng-submit="saveFWTagPicker(editFWTagPicker);" novalidate>
+ <div class="modal-body">
+ <div class="form-group row">
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.tagPickerName.$invalid && !formdata.tagPickerName.$pristine }">
+ <label>TagPicker Name:<sup><b>*</b></sup></label><br>
+ <input type="text" ng-model="editFWTagPicker.tagPickerName" class="form-control" name= "tagPickerName" required/>
+ <p ng-show="formdata.tagPickerName.$invalid && !formdata.tagPickerName.$pristine" class="help-block">TagPicker Name is required.</p>
+ </div>
+ <div class="form-group col-sm-6">
+ <label>Description:</label><br>
+ <input type="text" ng-model="editFWTagPicker.description" class="form-control"/>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-4">
+ <label>Select Tags:</label><br>
+ <button type="button" class="btn btn-secondary btn-small" ng-click="addNewChoice()"><i class="fa fa-plus"></i></button>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group">
+ <div data-ng-repeat="choice in choices">
+ <div class="form-group row">
+ <div class="form-group col-sm-5" ng-class="{ 'has-error' : formdata.option.$invalid && !formdata.option.$pristine }">
+ <select class="form-control" name= "option" required ng-model="choice.option" ng-options="option for option in fwTagDictionaryKeyDatas track by option" ng-change="getTagListValues(choice.option);">
+ <option value = "">{{choice.option}}</option></select>
+ <p ng-show="formdata.option.$invalid && !formdata.option.$pristine" class="help-block">Key is required.</p>
+ </div>
+ <div class="form-group col-sm-5" ng-class="{ 'has-error' : formdata.number.$invalid && !formdata.number.$pristine }">
+ <select class="form-control" name= "number" required ng-model="choice.number" ng-options="option for option in fwTagDictionaryDataValues track by option">
+ <option value = "">{{choice.number}}</option></select>
+ <p ng-show="formdata.number.$invalid && !formdata.number.$pristine" class="help-block">Value is required.</p>
+ </div>
+ <div class="form-group col-sm-1">
+ <button type="button" class="btn btn-secondary btn-small" ng-show="$last" ng-click="removeChoice()"><i class="fa fa-minus"></i></button>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-success" type="submit" ng-disabled="formdata.$invalid">Save</button>
+ <button class="btn btn-default" type="button" ng-click="close()">Close</button>
+ </div>
+ </form>
+ </div>
+ </div>
+</div>
+</script> \ No newline at end of file
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWTermListDictionary.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWTermListDictionary.html
new file mode 100644
index 000000000..412cce34e
--- /dev/null
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWTermListDictionary.html
@@ -0,0 +1,198 @@
+<!--/*-
+ * ============LICENSE_START=======================================================
+ * ECOMP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */-->
+<script type="text/ng-template" id="add_fwTermList_popup.html">
+<div class="modal" tabindex="-1">
+ <div class="modal-dialog modal-lg">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h2 class="font-showcase-font-name" style="color: #157bb2">{{label}}</h2>
+ </div>
+ <form name="formdata" ng-submit="saveTermName(editTermList);" novalidate>
+ <div class="modal-body">
+ <div class="form-group row">
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.termName.$invalid && !formdata.termName.$pristine }">
+ <label>Rule Name:<sup><b>*</b></sup></label><br>
+ <input type="text" ng-model="editTermList.termName" class="form-control" name= "termName" required/>
+ <p ng-show="formdata.termName.$invalid && !formdata.termName.$pristine" class="help-block">Rule Name is required.</p>
+ </div>
+ <div class="form-group col-sm-6" >
+ <label>Rule Description:<sup><b>*</b></sup></label><br>
+ <input type="text" ng-model="editTermList.termDescription" class="form-control"/>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6">
+ <label>From-Zone:</label><br>
+ <button type="button" class="btn btn-secondary btn-small" ng-click="addFromZoneNewChoice()"><i class="fa fa-plus"></i></button>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group">
+ <div data-ng-repeat="choice in fromZonechoices">
+ <div class="form-group row">
+ <div class="form-group col-sm-5" ng-class="{ 'has-error' : formdata.option.$invalid && !formdata.option.$pristine }">
+ <select class="form-control" ng-model="choice.option" ng-options="option for option in zoneDictionaryDatas track by option" name= "option" required>
+ <option value = "">{{choice.option}}</option></select>
+ <p ng-show="formdata.option.$invalid && !formdata.option.$pristine" class="help-block">From-Zone is required.</p>
+ </div>
+ <div class="form-group col-sm-1">
+ <button type="button" class="btn btn-secondary btn-small" ng-show="$last" ng-click="removeFromZoneChoice()"><i class="fa fa-minus"></i></button>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6">
+ <label>To-Zone:</label><br>
+ <button type="button" class="btn btn-secondary btn-small" ng-click="addToZoneNewChoice()"><i class="fa fa-plus"></i></button>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group">
+ <div data-ng-repeat="choice in toZonechoices">
+ <div class="form-group row">
+ <div class="form-group col-sm-5" ng-class="{ 'has-error' : formdata.option.$invalid && !formdata.option.$pristine }">
+ <select class="form-control" ng-model="choice.option" ng-options="option for option in zoneDictionaryDatas track by option"><option value = "" name= "option" required>{{choice.option}}</option></select>
+ <p ng-show="formdata.option.$invalid && !formdata.option.$pristine" class="help-block">To-Zone is required.</p>
+ </div>
+ <div class="form-group col-sm-1">
+ <button type="button" class="btn btn-secondary btn-small" ng-show="$last" ng-click="removeToZoneChoice()"><i class="fa fa-minus"></i></button>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6">
+ <label>Source-List:</label><br>
+ <button type="button" class="btn btn-secondary btn-small" ng-click="addSourceListNewChoice()"><i class="fa fa-plus"></i></button>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group">
+ <div data-ng-repeat="choice in sourceListchoices">
+ <div class="form-group row">
+ <div class="form-group col-sm-5" ng-class="{ 'has-error' : formdata.option.$invalid && !formdata.option.$pristine }">
+ <select class="form-control" ng-model="choice.option" ng-options="option for option in addressGroupDictionaryDatas track by option"><option value = "" name= "option" required>{{choice.option}}</option></select>
+ <p ng-show="formdata.option.$invalid && !formdata.option.$pristine" class="help-block">Source-List is required.</p>
+ </div>
+ <div class="form-group col-sm-1">
+ <button type="button" class="btn btn-secondary btn-small" ng-show="$last" ng-click="removeSourceListChoice()"><i class="fa fa-minus"></i></button>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6">
+ <label>Destination-List:</label><br>
+ <button type="button" class="btn btn-secondary btn-small" ng-click="addDListNewChoice()"><i class="fa fa-plus"></i></button>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group">
+ <div data-ng-repeat="choice in destinationListchoices">
+ <div class="form-group row">
+ <div class="form-group col-sm-5" ng-class="{ 'has-error' : formdata.option.$invalid && !formdata.option.$pristine }">
+ <select class="form-control" ng-model="choice.option" ng-options="option for option in prefixListDictionaryDatas track by option"><option value = "" name= "option" required>{{choice.option}}</option></select>
+ <p ng-show="formdata.option.$invalid && !formdata.option.$pristine" class="help-block">Destination-List is required.</p>
+ </div>
+ <div class="form-group col-sm-1">
+ <button type="button" class="btn btn-secondary btn-small" ng-show="$last" ng-click="removeDlistChoice()"><i class="fa fa-minus"></i></button>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6">
+ <label>Source-Services:</label><br>
+ <button type="button" class="btn btn-secondary btn-small" ng-click="addSourceServiceNewChoice()"><i class="fa fa-plus"></i></button>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group">
+ <div data-ng-repeat="choice in sourceServicechoices">
+ <div class="form-group row">
+ <div class="form-group col-sm-5" ng-class="{ 'has-error' : formdata.option.$invalid && !formdata.option.$pristine }">
+ <select class="form-control" ng-model="choice.option" ng-options="option for option in serviceListDictionaryDatas track by option" ng-options="option for option in serviceGroupDictionaryDatas track by option"><option value = "" name= "option" required>{{choice.option}}</option></select>
+ <p ng-show="formdata.option.$invalid && !formdata.option.$pristine" class="help-block">Source-Services is required.</p>
+ </div>
+ <div class="form-group col-sm-1">
+ <button type="button" class="btn btn-secondary btn-small" ng-show="$last" ng-click="removeSourceServiceChoice()"><i class="fa fa-minus"></i></button>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6">
+ <label>Destination-Services:</label><br>
+ <button type="button" class="btn btn-secondary btn-small" ng-click="addDServicesNewChoice()"><i class="fa fa-plus"></i></button>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group">
+ <div data-ng-repeat="choice in destinationServicechoices">
+ <div class="form-group row">
+ <div class="form-group col-sm-5" ng-class="{ 'has-error' : formdata.option.$invalid && !formdata.option.$pristine }">
+ <select class="form-control" ng-model="choice.option" ng-options="option for option in serviceListDictionaryDatas track by option" ng-options="option for option in serviceGroupDictionaryDatas track by option" name= "option" required><option value = "">{{choice.option}}</option></select>
+ <p ng-show="formdata.option.$invalid && !formdata.option.$pristine" class="help-block">Destination-Services is required.</p>
+ </div>
+ <div class="form-group col-sm-1">
+ <button type="button" class="btn btn-secondary btn-small" ng-show="$last" ng-click="removeDServicesChoice()"><i class="fa fa-minus"></i></button>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </br>
+ <div class="form-group row">
+ <div class="form-group col-sm-6">
+ <label>Action-List:</label><br>
+ <button type="button" class="btn btn-secondary btn-small" ng-click="addActionListNewChoice()"><i class="fa fa-plus"></i></button>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group">
+ <div data-ng-repeat="choice in actionListchoices">
+ <div class="form-group row">
+ <div class="form-group col-sm-5" ng-class="{ 'has-error' : formdata.option.$invalid && !formdata.option.$pristine }">
+ <select class="form-control" ng-model="choice.option" ng-options="option for option in actionListDictionaryDatas track by option" name= "option" required><option value = "">{{choice.option}}</option></select>
+ <p ng-show="formdata.option.$invalid && !formdata.option.$pristine" class="help-block">Action-List is required.</p>
+ </div>
+ <div class="form-group col-sm-1">
+ <button type="button" class="btn btn-secondary btn-small" ng-show="$last" ng-click="removeActionListChoice()"><i class="fa fa-minus"></i></button>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-success" type="submit" ng-disabled="formdata.$invalid">Save</button>
+ <button class="btn btn-default" type="button" ng-click="close()">Close</button>
+ </div>
+ </form>
+ </div>
+ </div>
+</div>
+</script>
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWZoneDictionary.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWZoneDictionary.html
new file mode 100644
index 000000000..eba5c1de3
--- /dev/null
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/FWZoneDictionary.html
@@ -0,0 +1,56 @@
+<!--/*-
+ * ============LICENSE_START=======================================================
+ * ECOMP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */-->
+<script type="text/ng-template" id="add_FWZone_popup.html">
+<div class="modal" tabindex="-1">
+ <div class="modal-dialog modal-lg">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h2 class="font-showcase-font-name" style="color : #157bb2">{{label}}</h2>
+ <div class="corner-button in">
+ <button type="button" class="close" aria-label="Close"
+ ng-click="$dismiss('cancel')"></button>
+ </div>
+ </div>
+ <form name="formdata" ng-submit="saveZoneName(editZoneName);" novalidate>
+ <div class="modal-body">
+ <div class="form-group row">
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.zoneName.$invalid && !formdata.zoneName.$pristine }">
+ <label>Zone Name:<sup><b>*</b></sup></label><br>
+ <input type="text" ng-model="editZoneName.zoneName" class="form-control" name= "zoneName" required/>
+ <p ng-show="formdata.zoneName.$invalid && !formdata.zoneName.$pristine" class="help-block">Zone Name is required.</p>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.zoneValue.$invalid && !formdata.zoneValue.$pristine }">
+ <label>Zone Value:<sup><b>*</b></sup></label><br>
+ <input type="text" ng-model="editZoneName.zoneValue" class="form-control" name= "zoneValue" required/>
+ <p ng-show="formdata.zoneValue.$invalid && !formdata.zoneValue.$pristine" class="help-block">Zone Value is required.</p>
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-success" type="submit" ng-disabled="formdata.$invalid">Save</button>
+ <button class="btn btn-default" type="button" ng-click="close()">Close</button>
+ </div>
+ </form>
+ </div>
+ </div>
+</div>
+</script>
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/MSConfigNameDictionary.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/MSConfigNameDictionary.html
new file mode 100644
index 000000000..42a3173a8
--- /dev/null
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/MSConfigNameDictionary.html
@@ -0,0 +1,55 @@
+<!--/*-
+ * ============LICENSE_START=======================================================
+ * ECOMP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */-->
+<script type="text/ng-template" id="add_msConfigName_popup.html">
+<div class="modal" tabindex="-1">
+ <div class="modal-dialog modal-lg">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h2 class="font-showcase-font-name" style="color : #157bb2">{{label}}</h2>
+ <div class="corner-button in">
+ <button type="button" class="close" aria-label="Close"
+ ng-click="$dismiss('cancel')"></button>
+ </div>
+ </div>
+ <form name="formdata" ng-submit="saveMSConfig(editMSConfig);" novalidate>
+ <div class="modal-body">
+ <div class="form-group row">
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.name.$invalid && !formdata.name.$pristine }">
+ <label>Config Name:<sup><b>*</b></sup></label><br>
+ <input type="text" ng-model="editMSConfig.name" class="form-control" name= "name" required/>
+ <p ng-show="formdata.name.$invalid && !formdata.name.$pristine" class="help-block">Config Name is required.</p>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6">
+ <label>Description:</label><br>
+ <input type="text" ng-model="editMSConfig.descriptionValue" class="form-control"/>
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-success" type="submit" ng-disabled="formdata.$invalid">Save</button>
+ <button class="btn btn-default" type="button" ng-click="close()">Close</button>
+ </div>
+ </form>
+ </div>
+ </div>
+</div>
+</script>
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/MSDCAEUUIDDictionary.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/MSDCAEUUIDDictionary.html
new file mode 100644
index 000000000..ee4a5fa41
--- /dev/null
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/MSDCAEUUIDDictionary.html
@@ -0,0 +1,55 @@
+<!--/*-
+ * ============LICENSE_START=======================================================
+ * ECOMP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */-->
+<script type="text/ng-template" id="add_DCAEuuid_popup.html">
+<div class="modal" tabindex="-1">
+ <div class="modal-dialog modal-lg">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h2 class="font-showcase-font-name" style="color : #157bb2">{{label}}</h2>
+ <div class="corner-button in">
+ <button type="button" class="close" aria-label="Close"
+ ng-click="$dismiss('cancel')"></button>
+ </div>
+ </div>
+ <form name="formdata" ng-submit="saveDCAEUUID(editDCAEuuid);" novalidate>
+ <div class="modal-body">
+ <div class="form-group row">
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.name.$invalid && !formdata.name.$pristine }">
+ <label>UUID:<sup><b>*</b></sup></label><br>
+ <input type="text" ng-model="editDCAEuuid.name" class="form-control" name= "name" required/>
+ <p ng-show="formdata.name.$invalid && !formdata.name.$pristine" class="help-block">Ecomp Name is required.</p>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6">
+ <label><sup><b></b></sup>Description:</label><br>
+ <input type="text" ng-model="editDCAEuuid.description" class="form-control"/>
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-success" type="submit" ng-disabled="formdata.$invalid">Save</button>
+ <button class="btn btn-default" type="button" ng-click="close()">Close</button>
+ </div>
+ </form>
+ </div>
+ </div>
+</div>
+</script>
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/MSLocationDictionary.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/MSLocationDictionary.html
new file mode 100644
index 000000000..55341a7b5
--- /dev/null
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/MSLocationDictionary.html
@@ -0,0 +1,55 @@
+<!--/*-
+ * ============LICENSE_START=======================================================
+ * ECOMP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */-->
+<script type="text/ng-template" id="add_msLocation_popup.html">
+<div class="modal" tabindex="-1">
+ <div class="modal-dialog modal-lg">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h2 class="font-showcase-font-name" style="color : #157bb2">{{label}}</h2>
+ <div class="corner-button in">
+ <button type="button" class="close" aria-label="Close"
+ ng-click="$dismiss('cancel')"></button>
+ </div>
+ </div>
+ <form name="formdata" ng-submit="saveMSLocation(editMSLocation);" novalidate>
+ <div class="modal-body">
+ <div class="form-group row">
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.name.$invalid && !formdata.name.$pristine }">
+ <label>Micro Service Location:<sup><b>*</b></sup></label><br>
+ <input type="text" ng-model="editMSLocation.name" class="form-control" name= "name" required/>
+ <p ng-show="formdata.name.$invalid && !formdata.name.$pristine" class="help-block">Micro Service Location is required.</p>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6">
+ <label>Description:</label><br>
+ <input type="text" ng-model="editMSLocation.descriptionValue" class="form-control"/>
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-success" type="submit" ng-disabled="formdata.$invalid">Save</button>
+ <button class="btn btn-default" type="button" ng-click="close()">Close</button>
+ </div>
+ </form>
+ </div>
+ </div>
+</div>
+</script>
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/MSModelsDictionary.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/MSModelsDictionary.html
new file mode 100644
index 000000000..0bc58fc1c
--- /dev/null
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/MSModelsDictionary.html
@@ -0,0 +1,65 @@
+<!--/*-
+ * ============LICENSE_START=======================================================
+ * ECOMP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */-->
+<script type="text/ng-template" id="add_msModel_popup.html">
+<div class="modal" tabindex="-1">
+ <div class="modal-dialog modal-lg">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h2 class="font-showcase-font-name" style="color : #157bb2">{{label}}</h2>
+ <div class="corner-button in">
+ <button type="button" class="close" aria-label="Close"
+ ng-click="$dismiss('cancel')"></button>
+ </div>
+ </div>
+ <form name="formdata" ng-submit="saveMSModel(editMSmodelName);" novalidate>
+ <div class="modal-body">
+ <div class="form-group row">
+ <div class="form-group col-sm-12">
+ <label>Description:</label><br>
+ <input type="text" ng-model="editMSmodelName.description" class="form-control"/>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.file.$invalid && !formdata.file.$pristine }">
+ <input type="file" name="file" onchange="angular.element(this).scope().uploadFile(this.files)" name= "file" required/>
+ <p ng-show="formdata.file.$invalid && !formdata.file.$pristine" class="help-block">Uploading Model is required.</p>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.modelName.$invalid && !formdata.modelName.$pristine }">
+ <label>Micro Service Option:<sup><b>*</b></sup></label><br>
+ <select class="form-control" name= "editMSmodelName.modelName" required ng-model="editMSmodelName.modelName" ng-options="option for option in classListDatas track by option" ></select>
+ <p ng-show="formdata.classList.$invalid && !formdata.classList.$pristine" class="help-block">Micro Service is required.</p>
+ </div>
+ <div class="form-group col-sm-6">
+ <label>Verison:</label><br>
+ <input type="text" ng-model="editMSmodelName.version" class="form-control"/>
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-success" type="submit" ng-disabled="formdata.$invalid">Save</button>
+ <button class="btn btn-default" type="button" ng-click="close()">Close</button>
+ </div>
+ </form>
+ </div>
+</div>
+ </div>
+</script>
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/ModelAttributeDictionary.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/ModelAttributeDictionary.html
new file mode 100644
index 000000000..25afefce6
--- /dev/null
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/ModelAttributeDictionary.html
@@ -0,0 +1,60 @@
+<!--/*-
+ * ============LICENSE_START=======================================================
+ * ECOMP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */-->
+<script type="text/ng-template" id="add_modelAttribute_popup.html">
+<div class="modal" tabindex="-1">
+ <div class="modal-dialog modal-lg">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h2 class="font-showcase-font-name" style="color : #157bb2">{{label}}</h2>
+ </div>
+ <div class="divider-container"><hr> </div>
+ <form name="formdata" ng-submit="saveModelAttribute(editModelAttribute);" novalidate>
+ <div class="modal-body">
+ <div class="form-group row">
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.modelName.$invalid && !formdata.modelName.$pristine }">
+ <label>Micro Service:<sup><b>*</b></sup></label><br>
+ <select class="form-control" name= "modelName" required ng-model="editModelAttribute.modelName" ng-options="option for option in microServiceModelsDictionaryDatas track by option" ></select>
+ <p ng-show="formdata.modelName.$invalid && !formdata.modelName.$pristine" class="help-block">Micro Service is required.</p>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.name.$invalid && !formdata.name.$pristine }" >
+ <label>Enter Dictionary Name:<sup><b>*</b></sup></label><br>
+ <input type="text" ng-model="editModelAttribute.name" class="form-control" name= "name" required/>
+ <p ng-show="formdata.name.$invalid && !formdata.name.$pristine" class="help-block">Dictionary Name is required.</p>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.value.$invalid && !formdata.value.$pristine }">
+ <label>Enter Value:<sup><b>*</b></sup></label><br>
+ <input type="text" ng-model="editModelAttribute.value" class="form-control" name= "value" required"/>
+ <p ng-show="formdata.value.$invalid && !formdata.value.$pristine" class="help-block">Value is required.</p>
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-success" type="submit" ng-disabled="formdata.$invalid">Save</button>
+ <button class="btn btn-default" type="button" ng-click="close()">Close</button>
+ </div>
+ </form>
+ </div>
+ </div>
+</div>
+</script>
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/PSClosedLoopDictionary.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/PSClosedLoopDictionary.html
new file mode 100644
index 000000000..cf959cd19
--- /dev/null
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/PSClosedLoopDictionary.html
@@ -0,0 +1,51 @@
+<!--/*-
+ * ============LICENSE_START=======================================================
+ * ECOMP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */-->
+<script type="text/ng-template" id="add_PSClosedLoop_popup.html">
+<div class="modal" tabindex="-1">
+ <div class="modal-dialog modal-lg">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h2 class="font-showcase-font-name" style="color : #157bb2">{{label}}</h2>
+ </div>
+ <form name="formdata" ng-submit="savePSClosedLoop(editPSClosedLoop);" novalidate>
+ <div class="modal-body">
+ <div class="form-group row">
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.name.$invalid && !formdata.name.$pristine }">
+ <label>Enter Policy Scope Closed Loop Name:<sup><b>*</b></sup></label><br>
+ <input type="text" ng-model="editPSClosedLoop.name" class="form-control" name= "name" required/>
+ <p ng-show="formdata.name.$invalid && !formdata.name.$pristine" class="help-block">Policy Scope Closed Loop Name is required.</p>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6">
+ <label>Enter Policy Scope Closed Loop Description:</label><br>
+ <input type="text" ng-model="editPSClosedLoop.descriptionValue" class="form-control"/>
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-success" type="submit" ng-disabled="formdata.$invalid">Save</button>
+ <button class="btn btn-default" type="button" ng-click="close()">Close</button>
+ </div>
+ </form>
+ </div>
+ </div>
+</div>
+</script> \ No newline at end of file
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/PSGroupPolicyScopeDictionary.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/PSGroupPolicyScopeDictionary.html
new file mode 100644
index 000000000..067154690
--- /dev/null
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/PSGroupPolicyScopeDictionary.html
@@ -0,0 +1,77 @@
+<!--/*-
+ * ============LICENSE_START=======================================================
+ * ECOMP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */-->
+<script type="text/ng-template" id="add_PSGroupPolicyScope_popup.html">
+<div class="modal" tabindex="-1">
+ <div class="modal-dialog modal-lg">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h2 class="font-showcase-font-name" style="color : #157bb2">{{label}}</h2>
+ </div>
+ <form name="formdata" ng-submit="savePSGroupPolicyScope(editPSGroupPolicyScope, editPSGroupPolicyScope1);" novalidate>
+ <div class="modal-body">
+ <div class="form-group row">
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.groupName.$invalid && !formdata.groupName.$pristine }">
+ <label>Enter Policy Scope Group Name:<sup><b>*</b></sup></label><br>
+ <input type="text" ng-model="editPSGroupPolicyScope.groupName" class="form-control" name= "groupName" required/>
+ <p ng-show="formdata.groupName.$invalid && !formdata.groupName.$pristine" class="help-block">Policy Scope Group Name is required.</p>
+ </div>
+ <div class="form-group col-sm-6" >
+ <label>Description:</label><br>
+ <input type="text" ng-model="editPSGroupPolicyScope.description" class="form-control"/>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.resource.$invalid && !formdata.resource.$pristine }">
+ <label>Policy Scope Resource:<sup><b>*</b></sup></label><br>
+ <select name= "resource" required class="form-control" ng-model="editPSGroupPolicyScope1.resource" ng-options="option for option in psResourceDictionaryDatas track by option">
+ <option value = "">{{editPSGroupPolicyScope1.resource[0]}}</option></select>
+ <p ng-show="formdata.resource.$invalid && !formdata.resource.$pristine" class="help-block">Policy Scope Resource is required.</p>
+ </div>
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.type.$invalid && !formdata.type.$pristine }">
+ <label>Policy Scope Type:<sup><b>*</b></sup></label><br>
+ <select name= "type" required class="form-control" ng-model="editPSGroupPolicyScope1.type" ng-options="option for option in psTypeDictionaryDatas track by option">
+ <option value = "">{{editPSGroupPolicyScope1.type[0]}}</option></select>
+ <p ng-show="formdata.type.$invalid && !formdata.type.$pristine" class="help-block">Policy Scope Type is required.</p>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.service.$invalid && !formdata.service.$pristine }">
+ <label>Policy Scope Service:<sup><b>*</b></sup></label><br>
+ <select name= "service" required class="form-control" ng-model="editPSGroupPolicyScope1.service" ng-options="option for option in psServiceDictionaryDatas track by option">
+ <option value = "">{{editPSGroupPolicyScope1.service[0]}}</option></select>
+ <p ng-show="formdata.service.$invalid && !formdata.service.$pristine" class="help-block">Policy Scope Service is required.</p>
+ </div>
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.closedloop.$invalid && !formdata.closedloop.$pristine }">
+ <label>Policy Scope ClosedLoop:<sup><b>*</b></sup></label><br>
+ <select name= "closedloop" required class="form-control" ng-model="editPSGroupPolicyScope1.closedloop" ng-options="option for option in psClosedLoopDictionaryDatas track by option">
+ <option value = "">{{editPSGroupPolicyScope1.closedloop[0]}}</option></select>
+ <p ng-show="formdata.closedloop.$invalid && !formdata.closedloop.$pristine" class="help-block">Policy Scope ClosedLoop is required.</p>
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-success" type="submit" ng-disabled="formdata.$invalid">Save</button>
+ <button class="btn btn-default" type="button" ng-click="close()">Close</button>
+ </div>
+ </form>
+ </div>
+ </div>
+</div>
+</script> \ No newline at end of file
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/PSResourceDictionary.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/PSResourceDictionary.html
new file mode 100644
index 000000000..70e870b7c
--- /dev/null
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/PSResourceDictionary.html
@@ -0,0 +1,51 @@
+<!--/*-
+ * ============LICENSE_START=======================================================
+ * ECOMP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */-->
+<script type="text/ng-template" id="add_PSResource_popup.html">
+<div class="modal" tabindex="-1">
+ <div class="modal-dialog modal-lg">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h2 class="font-showcase-font-name" style="color : #157bb2">{{label}}</h2>
+ </div>
+ <form name="formdata" ng-submit="savePSResource(editPSResource);" novalidate>
+ <div class="modal-body">
+ <div class="form-group row">
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.name.$invalid && !formdata.name.$pristine }">
+ <label>Enter Policy Scope Resource Name:<sup><b>*</b></sup></label><br>
+ <input type="text" ng-model="editPSResource.name" class="form-control" name= "name" required/>
+ <p ng-show="formdata.name.$invalid && !formdata.name.$pristine" class="help-block">Policy Scope Resource Name is required.</p>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6">
+ <label>Enter Policy Scope Resource Description:</label><br>
+ <input type="text" ng-model="editPSResource.descriptionValue" class="form-control"/>
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-success" type="submit" ng-disabled="formdata.$invalid">Save</button>
+ <button class="btn btn-default" type="button" ng-click="close()">Close</button>
+ </div>
+ </form>
+ </div>
+ </div>
+</div>
+</script> \ No newline at end of file
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/PSServiceDictionary.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/PSServiceDictionary.html
new file mode 100644
index 000000000..61d8459fc
--- /dev/null
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/PSServiceDictionary.html
@@ -0,0 +1,51 @@
+<!--/*-
+ * ============LICENSE_START=======================================================
+ * ECOMP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */-->
+<script type="text/ng-template" id="add_PSService_popup.html">
+<div class="modal" tabindex="-1">
+ <div class="modal-dialog modal-lg">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h2 class="font-showcase-font-name" style="color : #157bb2">{{label}}</h2>
+ </div>
+ <form name="formdata" ng-submit="savePSService(editPSService);" novalidate>
+ <div class="modal-body">
+ <div class="form-group row">
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.name.$invalid && !formdata.name.$pristine }">
+ <label>Enter Policy Scope Service Name:<sup><b>*</b></sup></label><br>
+ <input type="text" class="form-control" ng-model="editPSService.name" class="form-control" name= "name" required/>
+ <p ng-show="formdata.name.$invalid && !formdata.name.$pristine" class="help-block">Policy Scope Service Name is required.</p>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6">
+ <label>Enter Policy Scope Service Description:</label><br>
+ <input type="text" ng-model="editPSService.descriptionValue" class="form-control"/>
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-success" type="submit" ng-disabled="formdata.$invalid">Save</button>
+ <button class="btn btn-default" type="button" ng-click="close()">Close</button>
+ </div>
+ </form>
+ </div>
+ </div>
+</div>
+</script> \ No newline at end of file
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/PSTypeDictionary.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/PSTypeDictionary.html
new file mode 100644
index 000000000..13761c59a
--- /dev/null
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/PSTypeDictionary.html
@@ -0,0 +1,51 @@
+<!--/*-
+ * ============LICENSE_START=======================================================
+ * ECOMP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */-->
+<script type="text/ng-template" id="add_PSType_popup.html">
+<div class="modal" tabindex="-1">
+ <div class="modal-dialog modal-lg">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h2 class="font-showcase-font-name" style="color : #157bb2">{{label}}</h2>
+ </div>
+ <form name="formdata" ng-submit="savePSType(editPSType);" novalidate>
+ <div class="modal-body">
+ <div class="form-group row">
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.name.$invalid && !formdata.name.$pristine }">
+ <label>Enter Policy Scope Type Name:<sup><b>*</b></sup></label><br>
+ <input type="text" ng-model="editPSType.name" class="form-control" name= "name" required/>
+ <p ng-show="formdata.name.$invalid && !formdata.name.$pristine" class="help-block">Policy Scope Type Name is required.</p>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6">
+ <label>Enter Policy Scope Type Description:</label><br>
+ <input type="text" ng-model="editPSType.descriptionValue" class="form-control"/>
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-success" type="submit" ng-disabled="formdata.$invalid">Save</button>
+ <button class="btn btn-default" type="button" ng-click="close()">Close</button>
+ </div>
+ </form>
+ </div>
+ </div>
+</div>
+</script> \ No newline at end of file
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/RiskTypeDictionary.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/RiskTypeDictionary.html
new file mode 100644
index 000000000..1f15e8563
--- /dev/null
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/RiskTypeDictionary.html
@@ -0,0 +1,51 @@
+<!--/*-
+ * ============LICENSE_START=======================================================
+ * ECOMP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */-->
+<script type="text/ng-template" id="add_riskType_popup.html">
+<div class="modal" tabindex="-1">
+ <div class="modal-dialog modal-lg">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h2 class="font-showcase-font-name" style="color : #157bb2">{{label}}</h2>
+ </div>
+ <form name="formdata" ng-submit="saveRiskType(editRiskType);" novalidate>
+ <div class="modal-body">
+ <div class="form-group row">
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.riskName.$invalid && !formdata.riskName.$pristine }">
+ <label><sup><b>*</b></sup>Risk Type Name:</label><br>
+ <input type="text" ng-model="editRiskType.riskName" class="form-control" name= "riskName" required/>
+ <p ng-show="formdata.riskName.$invalid && !formdata.riskName.$pristine" class="help-block">Risk Type Name is required.</p>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6">
+ <label><sup><b></b></sup>Description:</label><br>
+ <input type="text" ng-model="editRiskType.description" class="form-control" />
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-success" type="submit" ng-disabled="formdata.$invalid">Save</button>
+ <button class="btn btn-default" type="button" ng-click="close()">Close</button>
+ </div>
+ </form>
+ </div>
+ </div>
+</div>
+</script>
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/SafePolicyWarningDictionary.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/SafePolicyWarningDictionary.html
new file mode 100644
index 000000000..cc9415820
--- /dev/null
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Dictionary/SafePolicyWarningDictionary.html
@@ -0,0 +1,58 @@
+<!--/*-
+ * ============LICENSE_START=======================================================
+ * ECOMP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */-->
+<script type="text/ng-template" id="add_SafePolicyWarning_popup.html">
+<div class="modal" tabindex="-1">
+ <div class="modal-dialog modal-lg">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h2 class="font-showcase-font-name" style="color : #157bb2">{{label}}</h2>
+ </div>
+ <form name="formdata" ng-submit="saveSafePolicyWarning(editSafePolicyWarning);" novalidate>
+ <div class="modal-body">
+ <div class="form-group row">
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.name.$invalid && !formdata.name.$pristine }">
+ <label>Enter Safe Policy Warning Name:<sup><b>*</b></sup></label><br>
+ <input type="text" ng-model="editSafePolicyWarning.name" class="form-control" name= "name" required/>
+ <p ng-show="formdata.name.$invalid && !formdata.name.$pristine" class="help-block">Safe Policy Warning Name is required.</p>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6" >
+ <label>Message:</label><br>
+ <input type="text" ng-model="editSafePolicyWarning.message" class="form-control"/>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6" ng-class="{ 'has-error' : formdata.riskType.$invalid && !formdata.riskType.$pristine }">
+ <label>Policy Scope Type:<sup><b>*</b></sup></label><br>
+ <select name= "riskType" required class="form-control" ng-model="editSafePolicyWarning.riskType" ng-options="option for option in riskTypeDictionaryDatas track by option"></select>
+ <p ng-show="formdata.riskType.$invalid && !formdata.riskType.$pristine" class="help-block">Policy Scope Type is required.</p>
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-success" type="submit" ng-disabled="formdata.$invalid">Save</button>
+ <button class="btn btn-default" type="button" ng-click="close()">Close</button>
+ </div>
+ </form>
+ </div>
+ </div>
+</div>
+</script> \ No newline at end of file
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Edit_Roles_Window.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Edit_Roles_Window.html
new file mode 100644
index 000000000..7ce4d3549
--- /dev/null
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/Edit_Roles_Window.html
@@ -0,0 +1,54 @@
+<!--/*-
+ * ============LICENSE_START=======================================================
+ * ECOMP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */-->
+<script type="text/ng-template" id="edit_Role_popup.html">
+<div class="modal" tabindex="-1">
+<div class="modal-dialog modal-lg">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h2 class="font-showcase-font-name" style="color : #157bb2">{{label}}</h2>
+ </div>
+ <div class="modal-body">
+ <div class="form-group row">
+ <div class="form-group col-sm-6">
+ <label><sup><b>*</b></sup>Name:</label><br>
+ <input type="text" class="form-control" ng-readonly="true" ng-model="editRole.loginId.userName" maxlength="30" />
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6" >
+ <label><sup><b>*</b></sup>Role:</label><br>
+ <input type="text" class="form-control" ng-readonly="true" ng-model="editRole.role" maxlength="30" />
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6" >
+ <label><sup><b>*</b></sup>Scope:</label><br>
+ <select class="form-control" multiple ng-model="editRole.scope" ng-options="option for option in scopeDatas" ></select>
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-success" herf="javascript:void(0)" ng-click="saveRole(editRole);">Save</button>
+ <button class="btn btn-default" herf="javascript:void(0)" ng-click="close()">Close</button>
+ </div>
+ </div>
+</div>
+</div>
+</script> \ No newline at end of file
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/PDPTabWindows/AddorEditPDPtoGroup.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/PDPTabWindows/AddorEditPDPtoGroup.html
new file mode 100644
index 000000000..19e11bfeb
--- /dev/null
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/PDPTabWindows/AddorEditPDPtoGroup.html
@@ -0,0 +1,63 @@
+<!--/*-
+ * ============LICENSE_START=======================================================
+ * ECOMP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */-->
+<script type="text/ng-template" id="create_newPDP_InGroup.html">
+<div class="modal">
+ <div class="modal-dialog-lg">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h2 class="font-showcase-font-name" style="color : #157bb2">{{label}}</h2>
+ </div>
+ <div class="modal-body">
+ <div class="form-group row">
+ <div class="form-group col-sm-6">
+ <label>PDP URL:<sup><b>*</b></sup> </label><br>
+ <input type="text" class="form-control" ng-model="editPDPInGroup.id" class="form-control" />
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6">
+ <label>JMX Port:<sup><b>*</b></sup></label><br>
+ <input type="text" class="form-control" ng-model="editPDPInGroup.jmxPort"
+ class="form-control" />
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6">
+ <label>PDP Name:<sup><b>*</b></sup></label><br>
+ <input type="text" class="form-control" ng-model="editPDPInGroup.name"
+ class="form-control" />
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6">
+ <label>PDP Description:</label><br>
+ <input type="text" class="form-control" ng-model="editPDPInGroup.description"
+ class="form-control"/>
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-success" herf="javascript:void(0)" ng-click="savePDPInGroup(editPDPInGroup);">Save</button>
+ <button class="btn btn-default" herf="javascript:void(0)" ng-click="close()">Close</button>
+ </div>
+ </div>
+ </div>
+</div>
+</script>
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/PDPTabWindows/PdpStatusWindow.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/PDPTabWindows/PdpStatusWindow.html
new file mode 100644
index 000000000..e3921d637
--- /dev/null
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/PDPTabWindows/PdpStatusWindow.html
@@ -0,0 +1,80 @@
+<!--/*-
+ * ============LICENSE_START=======================================================
+ * ECOMP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */-->
+<style>
+table {
+ font-family: arial, sans-serif;
+ border-collapse: collapse;
+ width: 100%;
+}
+
+td, th {
+ border: 1px solid #dddddd;
+ text-align: left;
+ padding: 8px;
+}
+
+tr:nth-child(even) {
+ background-color: #dddddd;
+}
+</style>
+<script type="text/ng-template" id="pdpGroupStatusWindow.html">
+<div>
+ <div class="modal-dialog modal-lg">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h2 class="font-showcase-font-name" style="color : #157bb2">{{label}}</h2>
+ <div class="corner-button in">
+ <button type="button" class="close" aria-label="Close"
+ ng-click="$dismiss('cancel')"></button>
+ </div>
+ </div>
+ <div class="modal-body">
+ <div >
+ <table>
+ <tr>
+ <th>Status</th>
+ <td>{{pdpStatusDatas.status}}</td>
+ </tr>
+ <tr>
+ <th>Errors</th>
+ <td>{{pdpStatusDatas.loadErrors}}</td>
+ </tr>
+ <tr>
+ <th>Warnings</th>
+ <td>{{pdpStatusDatas.loadWarnings}}</td>
+ </tr>
+ <tr>
+ <th>Policies Loaded</th>
+ <td><div style="width: 100%; height: 400px;" ui-grid = "policiesGrid" ui-grid-pagination class= "grid"></div></td>
+ </tr>
+ <tr>
+ <th>Policies Failed to Load</th>
+ <td>{{pdpStatusDatas.failedPolicies}}</td>
+ </tr>
+ </table>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-default" type="button" ng-click="close()">Close</button>
+ </div>
+ </div>
+ </div>
+</div>
+</script>
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/PushtabWindow/removeGroupPoliciesWindow.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/PushtabWindow/removeGroupPoliciesWindow.html
new file mode 100644
index 000000000..9a880bd52
--- /dev/null
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/PushtabWindow/removeGroupPoliciesWindow.html
@@ -0,0 +1,38 @@
+<!--/*-
+ * ============LICENSE_START=======================================================
+ * ECOMP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */-->
+<script type="text/ng-template" id="remove_PDPGroupPolicies_popup.html">
+<div class="modal" style="margin-bottom: 20px; width: 100%" data-backdrop="static"
+ data-keyboard="false">
+ <div class="modal-dialog-lg">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h2 class="font-showcase-font-name" style="color : #157bb2">{{label}}</h2>
+ </div>
+ <div class="modal-body">
+ <div style="width: 100%; height:580px" ui-grid = "removePoliciesGrid" ui-grid-pagination ui-grid-selection ui-grid-exporter class= "grid"></div>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-success" herf="javascript:void(0)" ng-click="removePolicies();">Remove</button>
+ <button class="btn btn-default" herf="javascript:void(0)" ng-click="$close()">Close</button>
+ </div>
+ </div>
+ </div>
+</div>
+</script>
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/new_PDPGroup_Window.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/new_PDPGroup_Window.html
new file mode 100644
index 000000000..ff73b1a12
--- /dev/null
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/new_PDPGroup_Window.html
@@ -0,0 +1,110 @@
+<!--/*-
+ * ============LICENSE_START=======================================================
+ * ECOMP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */-->
+<script type="text/ng-template" id="add_pdp_group_popup.html">
+<div class="modal" tabindex="-1">
+ <div class="modal-dialog modal-lg">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h2 class="font-showcase-font-name" style="color : #157bb2">{{label}}</h2>
+ </div>
+ <div class="modal-body">
+ <div class="form-group row">
+ <div class="form-group col-sm-6">
+ <label>Group Name:<sup><b>*</b></sup> </label><br>
+ <input type="text" class="form-control" ng-model="editPDPGroup.groupName"/>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group col-sm-6">
+ <label><sup><b></b></sup>Group Description:</label><br>
+ <input type="text" class="form-control" ng-model="editPDPGroup.description"/>
+ </div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-success" herf="javascript:void(0)" ng-click="savePDPGroup(editPDPGroup);">Save</button>
+ <button class="btn btn-default" herf="javascript:void(0)" ng-click="close()">Close</button>
+ </div>
+ </div>
+ </div>
+</div>
+</script>
+
+<script type="text/ng-template" id="edit_pdp_group_popup.html">
+<div class="modal" tabindex="-1">
+ <div class="modal-dialog-lg">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h2 class="font-showcase-font-name" style="color : #157bb2">{{label}}</h2>
+ </div>
+ <div class="modal-body">
+ <div class="form-group row">
+ <div class="form-group col-sm-6">
+ <label> Group Name:<sup><b>*</b></sup></label><br>
+ <input type="text" class="form-control" ng-model="editPDPGroup.name"/>
+ </div>
+ <div class="form-group col-sm-6">
+ <label>Group Description:</label><br>
+ <input type="text" class="form-control" ng-model="editPDPGroup.description"/>
+ </div>
+ </div>
+ <div >
+ <label>Policies:</label><br>
+ <div style="width: 100%; height: 400px;" ui-grid = "policiesGrid" ui-grid-pagination ui-grid-selection ui-grid-exporter class= "grid"></div>
+ </div>
+ <div >
+ <label>PDP's In Group:</label><br>
+ <div style="width: 100%; height: 200px;" ui-grid = "pdpsGrid" ui-grid-pagination ui-grid-selection ui-grid-exporter class= "grid"></div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-success" herf="javascript:void(0)" ng-click="savePDPGroup(editPDPGroup);">Save</button>
+ <button class="btn btn-default" herf="javascript:void(0)" ng-click="close()">Close</button>
+ </div>
+ </div>
+ </div>
+</div>
+</script>
+
+<script type="text/ng-template" id="show_policies_pdp_group_popup.html">
+<div class="modal" tabindex="-1">
+ <div class="modal-dialog-lg">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h2 class="font-showcase-font-name" style="color : #157bb2">View PDP Group Policies</h2>
+ <div class="corner-button in">
+ <button type="button" class="close" aria-label="Close"
+ ng-click="$dismiss('cancel')"></button>
+ </div>
+ </div>
+ <div class="modal-body">
+ <div>
+ <label>Policies:</label><br>
+ <div style="width: 100%; height: 580px;" ui-grid = "policiesGrid" ui-grid-pagination ui-grid-selection ui-grid-exporter class= "grid"></div>
+ </div>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-default" herf="javascript:void(0)" ng-click="close()">Close</button>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
+</script>
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/popup_modal.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/popup_modal.html
new file mode 100644
index 000000000..b588deed1
--- /dev/null
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/Windows/popup_modal.html
@@ -0,0 +1,35 @@
+<!--/*-
+ * ============LICENSE_START=======================================================
+ * ECOMP Policy Engine
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */-->
+ <script type="text/ng-template" id="confirmation_informative.html">
+<div class="modal" tabindex="-1">
+ <div class="modal-dialog modal-lg">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h2 class="font-showcase-font-name">{{message.title}}</h2>
+ </div>
+ <div class="modal-body" style="white-space: pre-wrap;">{{message.text}}<br/></div>
+ <div class="modal-footer">
+ <button class="btn btn-primary" type="button" herf="javascript:void(0)" ng-click="$close()">Continue</button>
+ <button class="btn btn-default" herf="javascript:void(0)" ng-click="$dismiss()">Cancel</button>
+ </div>
+ </div>
+ </div>
+</div>
+</script>