Commit includes ControlLoopPolicy API and bugfixes
[policy/engine.git] / POLICY-SDK-APP / src / main / webapp / app / policyApp / policy-models / Editor / PolicyTemplates / BRMSParamPolicyTemplate.html
1 <div ng-controller="brmsParamPolicyController"
2         ng-init="addDataToFields(temp.policy.ruleName);">
3         <form>
4                 <div class="well">
5                         <div class="form-group row">
6                                 <div class="form-group col-sm-6">
7                                         <label>Policy Name:<sup><b>*</b></sup></label> <input type="text"
8                                                 class="form-control" ng-disabled="temp.policy.readOnly"
9                                                 ng-readonly="temp.policy.editPolicy"
10                                                 ng-model="temp.policy.policyName" required pattern="\S+"
11                                                 title="Enter the Policy Name without any spaces" />
12                                 </div>
13                                 <div class="form-group col-sm-6">
14                                         <label>Description:</label> <input type="text" class="form-control"
15                                                 ng-disabled="temp.policy.readOnly"
16                                                 ng-model="temp.policy.policyDescription" />
17                                 </div>
18                         </div>
19                         <div class="form-group row">
20                                 <div class="form-group col-sm-3">
21                                         <label>Risk Type:<sup><b>*</b></sup></label> <select
22                                                 class="form-control" ng-disabled="temp.policy.readOnly"
23                                                 ng-model="temp.policy.riskType"
24                                                 ng-options="option for option in riskTypeDictionaryDatas track by option"
25                                                 required pattern="\S+" title="RiskType is required"></select>
26                                 </div>
27                                 <div class="form-group col-sm-3">
28                                         <label>Risk Level:<sup><b>*</b></sup></label> <select
29                                                 class="form-control" ng-disabled="temp.policy.readOnly"
30                                                 ng-model="temp.policy.riskLevel"
31                                                 required pattern="\S+" title="RiskLevel is required">
32                                                 <option>1</option>
33                                                 <option>2</option>
34                                                 <option>3</option>
35                                                 <option>4</option>
36                                                 <option>5</option></select>
37                                 </div>
38                                 <div class="form-group col-sm-3">
39                                         <label>Guard:<sup><b>*</b></sup></label> <select
40                                                 class="form-control" ng-disabled="temp.policy.readOnly"
41                                                 ng-model="temp.policy.guard"
42                                                 required pattern="\S+" title="Guard is required">
43                                                 <option>True</option>
44                                                 <option>False</option></select>
45                                 </div>
46                         </div>
47                         <div class="form-group row">
48                                 <div class="form-group col-sm-3">
49                                         <label>Time to Live Date:</label> <input type="date"
50                                                 class="form-control" name="ttlDate" ng-disabled="temp.policy.readOnly" class="date"
51                                                 ng-model="temp.policy.ttlDate" />
52                                 </div>
53                                 <div class="form-group col-sm-3">
54                                         <label>Controller:<sup></sup></label> <select
55                                                 class="form-control" ng-disabled="temp.policy.readOnly"
56                                                 ng-model="temp.policy.brmsController"
57                                                 ng-options="option for option in brmsControllerDatas track by option"></select>
58                                 </div>
59                                 <div class="form-group col-sm-3">
60                                         <label>Dependencies:<sup></sup></label> <select
61                                                 class="form-control" multiple ng-disabled="temp.policy.readOnly"
62                                                 ng-model="temp.policy.brmsDependency"
63                                                 ng-options="option for option in brmsDependencyDatas track by option"></select>
64                                 </div>
65                         </div>
66                 </div>
67                 <div class="well">
68                         <div class="form-group row">
69                                 <div class="form-group col-sm-2">
70                                         <label>Rule Attributes:<sup><b></b></sup></label>
71                                         <button type="button" class="btn btn-default"
72                                                 ng-disabled="temp.policy.readOnly" ng-click="addNewChoice()">
73                                                 <i class="fa fa-plus"></i>
74                                         </button>
75                                 </div>
76                         </div>
77                         <div class="form-group row">
78                                 <div data-ng-repeat="choice in temp.policy.attributes">
79                                         <div class="form-group row" style="margin-left: 2%">
80                                                 <div class="form-group col-sm-3">
81                                                         <input type="text" class="form-control"
82                                                                 ng-disabled="temp.policy.readOnly" ng-model="choice.key"
83                                                                 placeholder="Attribute Key" />
84                                                 </div>
85                                                 <div class="form-group col-sm-3">
86                                                         <input type="text" class="form-control"
87                                                                 ng-disabled="temp.policy.readOnly" ng-model="choice.value"
88                                                                 placeholder="Attribute Value" />
89                                                 </div>
90                                                 <div class="form-group col-sm-1">
91                                                         <button type="button" class="btn btn-default" ng-show="$last"
92                                                                 ng-disabled="temp.policy.readOnly" ng-click="removeChoice()">
93                                                                 <i class="fa fa-minus"></i>
94                                                         </button>
95                                                 </div>
96                                         </div>
97                                 </div>
98                         </div>
99                 </div>
100                 <div class="well">
101                         <div class="form-group row">
102                                 <div class="form-group col-sm-3">
103                                         <label>BRMS Template:<sup><b>*</b></sup></label> <select
104                                                 class="form-control" ng-disabled="temp.policy.readOnly"
105                                                 ng-model="temp.policy.ruleName"
106                                                 ng-options="option for option in brmsParamDictionaryDatas track by option"
107                                                 ng-click="addDataToFields(temp.policy.ruleName);">
108                                                 <option value="">{{temp.policy.ruleName}}</option>
109                                         </select>
110                                 </div>
111                         </div>
112
113                         <div class="form-group row">
114                                 <div ng-repeat="(key, data) in temp.policy.dynamicLayoutMap">
115                                         <div class="form-group row" style="margin-left: 2%">
116                                                 <label class="control-label col-md-3">{{key}}:</label>
117                                                 <div class="form-group col-sm-6">
118                                                         <input type="text" class="form-control"
119                                                                 ng-disabled="temp.policy.readOnly"
120                                                                 ng-model="temp.policy.ruleData[key]" />
121                                                 </div>
122                                         </div>
123                                 </div>
124                         </div>
125                 </div>
126                 <div id="validate" style="width: 70%"></div>
127                 <div ng-hide="showbrmsrule">
128                 <div class="well">
129                         <h2 class="font-showcase-font-name"> Rule Preview: </h2>
130                         <div class="divider-container"><hr> </div>
131                         <textarea type="text" style="width: 100%; height: 800px" ng-bind="datarule" ng-disabled="true"></textarea>
132                         <button class="btn btn-default" herf="javascript:void(0)" ng-click="hideRule();">Hide Rule</button>
133                 </div>  
134                 </div>
135                 <br>
136                 <div class="modal-footer">
137                         <div>
138                                 <button class="btn btn-primary" herf="javascript:void(0)"
139                                         ng-disabled="temp.policy.readOnly"
140                                         ng-click="validatePolicy(temp.policy);">Validate</button>
141                                 <button class="btn btn-default" herf="javascript:void(0)"
142                                         ng-disabled="validateSuccess" ng-click="ShowRule(temp);">Show
143                                         Rule</button>
144                                 <button class="btn btn-success" herf="javascript:void(0)"
145                                         ng-disabled="savebutton" ng-disabled="temp.policy.readOnly"
146                                         ng-click="saveBrmsParamPolicy(temp);">Save</button>
147                                 <button type="button" class="btn btn-default" ng-click="refresh();">Close</button>
148                         </div>
149                 </div>
150         </form>
151 </div>