New min/max Guard Policy
[policy/engine.git] / POLICY-SDK-APP / src / main / webapp / app / policyApp / policy-models / Editor / PolicyTemplates / DecisionPolicyTemplate.html
1 <!--
2   ============LICENSE_START==================================================
3   ONAP Policy Engine
4   ===========================================================================
5   Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
6   ===========================================================================
7   Licensed under the Apache License, Version 2.0 (the "License");
8   you may not use this file except in compliance with the License.
9   You may obtain a copy of the License at
10   
11        http://www.apache.org/licenses/LICENSE-2.0
12   
13   Unless required by applicable law or agreed to in writing, software
14   distributed under the License is distributed on an "AS IS" BASIS,
15   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16   See the License for the specific language governing permissions and
17   limitations under the License.
18   ============LICENSE_END====================================================
19   -->
20 <div ng-controller="decisionPolicyController">
21         <form>
22                 <div class="well">
23                         <div class="form-group row">
24                                 <div class="form-group col-sm-6">
25                                         <label>Policy Name:<sup><b>*</b></sup></label> <input type="text"
26                                                 class="form-control" ng-disabled="temp.policy.readOnly"
27                                                 ng-readonly="temp.policy.editPolicy"
28                                                 ng-model="temp.policy.policyName" required pattern="\S+"
29                                                 title="Enter Policy Name without any spaces and special characters and will accept _." />
30                                 </div>
31                                 <div ng-show="notRawPolicy" class="form-group col-sm-6">
32                                         <label>Description:</label> <input type="text" class="form-control"
33                                                 ng-disabled="temp.policy.readOnly"
34                                                 ng-model="temp.policy.policyDescription"
35                                                 title="Description field will accept any type of data." />
36                                 </div>
37                         </div>
38                         <div ng-show="notRawPolicy" class="form-group row">
39                                 <div class="form-group col-sm-6">
40                                         <label>Onap Name:<sup><b>*</b></sup></label> <select
41                                                 class="form-control" ng-disabled="temp.policy.readOnly"
42                                                 ng-model="temp.policy.onapName"
43                                                 ng-options="option for option in onapNameDictionaryDatas track by option"
44                                                 required pattern="\S+"
45                                                 title="Select the dropdown value driven from OnapName (common)Dictionary."></select>
46                                 </div>
47                                 <div class="form-group col-sm-6">
48                                         <label>Rule Provider:<sup><b>*</b></sup></label><select
49                                                 class="form-control" ng-disabled="temp.policy.readOnly"
50                                                 ng-model="temp.policy.ruleProvider"
51                                                 ng-init="providerListener(temp.policy.ruleProvider);"
52                                                 ng-click="providerListener(temp.policy.ruleProvider);">
53                                                 <option>Custom</option>
54                                                 <option>AAF</option>
55                                                 <option>Rainy_Day</option>
56                                                 <option>GUARD_YAML</option>
57                                                 <option>GUARD_BL_YAML</option>
58                                                 <option>GUARD_MIN_MAX</option>          
59                                                 <option>Raw</option>
60                                         </select>
61                                 </div>
62                         </div>
63                 </div>
64                 <div ng-if="temp.policy.ruleProvider == 'Raw'">
65                         <div class="well">
66                                 <div class="form-group row">
67                                         <div class="form-group col-sm-12">
68                                                 <label>Raw Policy:<sup><b>*</b></sup></label>
69                                                 <textarea class="form-control" ng-disabled="temp.policy.readOnly"
70                                                         ng-model="temp.policy.rawXacmlPolicy" style="height: 400px;"
71                                                         required title="Enter the Raw XACML Policy."></textarea>
72                                         </div>
73                                 </div>
74                         </div>
75                 </div>
76                 <div ng-if="temp.policy.ruleProvider == 'Rainy_Day'">
77                         <div class="well">
78                                 <div class="form-group row">
79                                         <div class="form-group row">
80                                                 <div class="form-group col-sm-1">
81                                                         <label>Service Type:<sup><b>*</b></sup></label>
82                                                 </div>
83                                                 <div class="form-group col-sm-2">
84                                                         <input type="text" class="form-control"
85                                                                 ng-disabled="temp.policy.readOnly"
86                                                                 ng-model="temp.policy.rainyday.serviceType"
87                                                                 placeholder="Service Type" title="Enter Service Type value." />
88                                                 </div>
89                                                 <div class="form-group col-sm-1">
90                                                         <label>VNF Type:<sup><b>*</b></sup></label>
91                                                 </div>
92                                                 <div class="form-group col-sm-2">
93                                                         <input type="text" class="form-control"
94                                                                 ng-disabled="temp.policy.readOnly"
95                                                                 ng-model="temp.policy.rainyday.vnfType" placeholder="VNF Type"
96                                                                 title="Enter VNF Type value." />
97                                                 </div>
98                                                 <div class="form-group col-sm-1">
99                                                         <label>Building Block ID:<sup><b>*</b></sup></label>
100                                                 </div>
101                                                 <div class="form-group col-sm-2">
102                                                         <select class="form-control" ng-disabled="temp.policy.readOnly"
103                                                                 ng-model="temp.policy.rainyday.bbid"
104                                                                 ng-options="option for option in rainyDayDictionaryDatas track by option"
105                                                                 ng-change="getWorkstepValues(temp.policy.rainyday.bbid)"
106                                                                 title="Select the dropdown value driven from Rainday Allowed Treatments (Decision)Dictionary.">
107                                                                 <option value="">{{temp.policy.rainyday.bbid}}</option>
108                                                         </select>
109                                                 </div>
110                                                 <div class="form-group col-sm-1">
111                                                         <label>Work Step:<sup><b>*</b></sup></label>
112                                                 </div>
113                                                 <div class="form-group col-sm-2">
114                                                         <select class="form-control" ng-disabled="temp.policy.readOnly"
115                                                                 ng-model="temp.policy.rainyday.workstep"
116                                                                 ng-options="option for option in workstepDictionaryDatas track by option"
117                                                                 ng-change="getTreatmentValues(temp.policy.rainyday.bbid, temp.policy.rainyday.workstep)">
118                                                                 <option value="">{{temp.policy.rainyday.workstep}}</option>
119                                                         </select>
120                                                 </div>
121                                         </div>
122                                         <div class="form-group row">
123                                                 <div class="form-group col-sm-3">
124                                                         <label>Desired Automated Treatments:</label>
125                                                         <button type="button" class="btn btn-default"
126                                                                 ng-disabled="temp.policy.readOnly" ng-click="addNewTreatment()">
127                                                                 <i class="fa fa-plus"></i>
128                                                         </button>
129                                                 </div>
130                                         </div>
131                                         <div class="form-group row">
132                                                 <div
133                                                         data-ng-repeat="treatmentTableChoice in temp.policy.rainyday.treatmentTableChoices">
134                                                         <div class="form-group row" style="margin-left: 2%">
135                                                                 <div class="form-group col-sm-1">
136                                                                         <label>Error Code:<sup><b>*</b></sup></label>
137                                                                 </div>
138                                                                 <div class="form-group col-sm-3">
139                                                                         <input type="text" class="form-control"
140                                                                                 ng-disabled="temp.policy.readOnly"
141                                                                                 ng-model="treatmentTableChoice.errorcode"
142                                                                                 placeholder="Error Code" />
143                                                                 </div>
144                                                                 <div class="form-group col-sm-1">
145                                                                         <label>Desired Treatment:<sup><b>*</b></sup></label>
146                                                                 </div>
147                                                                 <div class="form-group col-sm-3">
148                                                                         <select class="form-control" ng-disabled="temp.policy.readOnly"
149                                                                                 ng-model="treatmentTableChoice.treatment"
150                                                                                 ng-options="option for option in allowedTreatmentsDatas track by option">
151                                                                                 <option value="">{{treatmentTableChoice.treatment}}</option>
152                                                                         </select>
153                                                                 </div>
154                                                                 <div class="form-group col-sm-1">
155                                                                         <button type="button" class="btn btn-default"
156                                                                                 ng-disabled="temp.policy.readOnly"
157                                                                                 ng-click="removeTreatment()">
158                                                                                 <i class="fa fa-minus"></i>
159                                                                         </button>
160                                                                 </div>
161                                                         </div>
162                                                 </div>
163                                         </div>
164                                 </div>
165                         </div>
166                 </div>
167                 <div ng-if="temp.policy.ruleProvider == 'GUARD_BL_YAML'">
168                         <div class="well">
169                                 <div class="form-group row">
170                                         <div class="form-group col-sm-1">
171                                                 <label>Guard BlackList YAML Attributes:</label><br>
172                                         </div>
173                                 </div>
174                                 <div class="form-group row">
175                                         <div class="form-group row" style="margin-left: 2%">
176                                                 <div class="form-group col-sm-3">
177                                                         <label> actor: </label>
178                                                 </div>
179                                                 <div class="form-group col-sm-3">
180                                                         <input type="text" class="form-control"
181                                                                 ng-disabled="temp.policy.readOnly"
182                                                                 ng-model="temp.policy.yamlparams.actor" placeholder="Actor" />
183                                                 </div>
184                                         </div>
185                                         <div class="form-group row" style="margin-left: 2%">
186                                                 <div class="form-group col-sm-3">
187                                                         <label> recipe: </label>
188                                                 </div>
189                                                 <div class="form-group col-sm-3">
190                                                         <input type="text" class="form-control"
191                                                                 ng-disabled="temp.policy.readOnly"
192                                                                 ng-model="temp.policy.yamlparams.recipe" placeholder="Recipe" />
193                                                 </div>
194                                         </div>
195                                         <div class="form-group row" style="margin-left: 2%">
196                                                 <div class="form-group col-sm-3">
197                                                         <label> CLName: </label>
198                                                 </div>
199                                                 <div class="form-group col-sm-3">
200                                                         <input type="text" class="form-control"
201                                                                 ng-disabled="temp.policy.readOnly"
202                                                                 ng-model="temp.policy.yamlparams.clname" placeholder="CLName" />
203                                                 </div>
204                                         </div>
205                                         <div class="form-group row" style="margin-left: 2%">
206                                                 <div class="form-group col-sm-3">
207                                                         <label> guardActiveStart: </label>
208                                                 </div>
209                                                 <div class="form-group col-sm-3">
210                                                         <input type="text" class="form-control"
211                                                                 ng-disabled="temp.policy.readOnly"
212                                                                 ng-model="temp.policy.yamlparams.guardActiveStart"
213                                                                 placeholder="00:00:00-05:00" />
214                                                 </div>
215                                         </div>
216                                         <div class="form-group row" style="margin-left: 2%">
217                                                 <div class="form-group col-sm-3">
218                                                         <label> guardActiveEnd: </label>
219                                                 </div>
220                                                 <div class="form-group col-sm-3">
221                                                         <input type="text" class="form-control"
222                                                                 ng-disabled="temp.policy.readOnly"
223                                                                 ng-model="temp.policy.yamlparams.guardActiveEnd"
224                                                                 placeholder="00:00:00-05:00" />
225                                                 </div>
226                                         </div>
227                                         <div class="form-group row" style="margin-left: 2%">
228                                                 <div class="form-group col-sm-3">
229                                                         <label> BlackList Entry Type: </label>
230                                                 </div>
231                                                 <div class="form-group col-sm-3">
232                                                         <select class="form-control"
233                                                                 ng-model="temp.policy.blackListEntryType"
234                                                                 ng-disabled="temp.policy.readOnly"
235                                                                 ng-change="initializeBlackList(temp.policy.blackListEntryType)">
236                                                                 <option>Use Manual Entry</option>
237                                                                 <option>Use File Upload</option>
238                                                         </select>
239                                                 </div>
240                                         </div>
241                                         <div class="form-group row" style="margin-left: 2%">
242                                                 <div class="form-group col-sm-3">
243                                                         <label>Export BlackList Entries:</label>
244                                                 </div>
245                                                 <div class="form-group col-sm-3">
246                                                         <button type="button" class="btn btn-default"
247                                                                 ng-disabled="disableOnCreate"
248                                                                 ng-click="exportBlackListEntries()">Export BlackList</button>
249                                                 </div>
250                                         </div>
251                                         <div ng-if="temp.policy.blackListEntryType == 'Use File Upload'"
252                                                 class="form-group row" style="margin-left: 2%">
253                                                 <div class="form-group col-sm-3">
254                                                         <label>Upload BlackList: </label>
255                                                 </div>
256                                                 <div class="form-group col-sm-4">
257                                                         <input type="file" name="file" class="form-control"
258                                                                 id="importFile"
259                                                                 onchange="angular.element(this).scope().uploadBLFile(this.files)" />
260                                                 </div>
261                                                 <div class="form-group col-sm-2">
262                                                         <button class="btn btn-primary" ng-disabled="importButton"
263                                                                 ng-click="submitUpload()">Upload</button>
264                                                 </div>
265                                         </div>
266                                         <div ng-if="temp.policy.blackListEntryType == 'Use File Upload'"
267                                                 class="form-group row" style="margin-left: 2%">
268                                                 <div class="form-group col-sm-3">
269                                                         <label>Search BlackList: </label>
270                                                 </div>
271                                                 <div class="form-group col-sm-4">
272                                                         <input type="text" class="form-control" class="search"
273                                                                 placeholder="{{'search'}}..." ng-model="search"> <select
274                                                                 class="form-control" multiple ng-disabled="true"
275                                                                 style="height: 400px;"
276                                                                 ng-model="temp.policy.blackListSearchEntry"
277                                                                 ng-options="option for option in blackListEntries | filter:search"></select>
278                                                 </div>
279                                         </div>
280                                         <div ng-if="temp.policy.blackListEntryType == 'Use Manual Entry'"
281                                                 class="form-group row" style="margin-left: 2%">
282                                                 <div class="form-group col-sm-3">
283                                                         <label> BlackList: </label>
284                                                         <button type="button" class="btn btn-default"
285                                                                 ng-disabled="temp.policy.readOnly" ng-click="addNewBL()">
286                                                                 <i class="fa fa-plus"></i>
287                                                         </button>
288                                                 </div>
289                                                 <div class="form-group col-sm-4">
290                                                         <div
291                                                                 data-ng-repeat="choice in temp.policy.yamlparams.blackList track by $index">
292                                                                 <div class="form-group row">
293                                                                         <div class="form-group col-sm-9">
294                                                                                 <input type="text" class="form-control"
295                                                                                         ng-disabled="temp.policy.readOnly"
296                                                                                         ng-model="temp.policy.yamlparams.blackList[$index]"
297                                                                                         placeholder="BlackList" />
298                                                                         </div>
299                                                                         <div class="form-group col-sm-1">
300                                                                                 <button type="button" class="btn btn-default"
301                                                                                         ng-disabled="temp.policy.readOnly"
302                                                                                         ng-click="removeBL(temp.policy.yamlparams.blackList[$index])">
303                                                                                         <i class="fa fa-minus"></i>
304                                                                                 </button>
305                                                                         </div>
306                                                                 </div>
307                                                         </div>
308                                                 </div>
309                                         </div>
310                                 </div>
311                         </div>
312                 </div>
313
314                 <div ng-if="temp.policy.ruleProvider == 'GUARD_YAML'">
315                         <div class="well">
316                                 <div class="form-group row">
317                                         <div class="form-group col-sm-1">
318                                                 <label>Guard YAML Attributes:</label><br>
319                                         </div>
320                                 </div>
321                                 <div class="form-group row">
322                                         <div class="form-group row" style="margin-left: 2%">
323                                                 <div class="form-group col-sm-3">
324                                                         <label> actor: </label>
325                                                 </div>
326                                                 <div class="form-group col-sm-3">
327                                                         <input type="text" class="form-control"
328                                                                 ng-disabled="temp.policy.readOnly"
329                                                                 ng-model="temp.policy.yamlparams.actor" placeholder="Actor" />
330                                                 </div>
331                                         </div>
332                                         <div class="form-group row" style="margin-left: 2%">
333                                                 <div class="form-group col-sm-3">
334                                                         <label> recipe: </label>
335                                                 </div>
336                                                 <div class="form-group col-sm-3">
337                                                         <input type="text" class="form-control"
338                                                                 ng-disabled="temp.policy.readOnly"
339                                                                 ng-model="temp.policy.yamlparams.recipe" placeholder="Recipe" />
340                                                 </div>
341                                         </div>
342                                         <div class="form-group row" style="margin-left: 2%">
343                                                 <div class="form-group col-sm-3">
344                                                         <label> CLName: </label>
345                                                 </div>
346                                                 <div class="form-group col-sm-3">
347                                                         <input type="text" class="form-control"
348                                                                 ng-disabled="temp.policy.readOnly"
349                                                                 ng-model="temp.policy.yamlparams.clname" placeholder="CLName" />
350                                                 </div>
351                                         </div>
352                                         <div class="form-group row" style="margin-left: 2%">
353                                                 <div class="form-group col-sm-3">
354                                                         <label> Targets: </label>
355                                                         <button type="button" class="btn btn-default"
356                                                                 ng-disabled="temp.policy.readOnly" ng-click="addNewTarget()">
357                                                                 <i class="fa fa-plus"></i>
358                                                         </button>
359                                                 </div>
360                                                 <div class="form-group col-sm-4">
361                                                         <div
362                                                                 data-ng-repeat="choice in temp.policy.yamlparams.targets track by $index">
363                                                                 <div class="form-group row">
364                                                                         <div class="form-group col-sm-9">
365                                                                                 <input type="text" class="form-control"
366                                                                                         ng-disabled="temp.policy.readOnly"
367                                                                                         ng-model="temp.policy.yamlparams.targets[$index]"
368                                                                                         placeholder="Target" />
369                                                                         </div>
370                                                                         <div class="form-group col-sm-1">
371                                                                                 <button type="button" class="btn btn-default" ng-show="$last"
372                                                                                         ng-disabled="temp.policy.readOnly" ng-click="removeTarget()">
373                                                                                         <i class="fa fa-minus"></i>
374                                                                                 </button>
375                                                                         </div>
376                                                                 </div>
377                                                         </div>
378                                                 </div>
379                                         </div>
380                                         <div class="form-group row" style="margin-left: 2%">
381                                                 <div class="form-group col-sm-3">
382                                                         <label> limit: </label>
383                                                 </div>
384                                                 <div class="form-group col-sm-3">
385                                                         <input type="text" class="form-control"
386                                                                 ng-disabled="temp.policy.readOnly"
387                                                                 ng-model="temp.policy.yamlparams.limit" placeholder="Limit"
388                                                                 title="Enter time limit value." />
389                                                 </div>
390                                         </div>
391                                         <div class="form-group row" style="margin-left: 2%">
392                                                 <div class="form-group col-sm-3">
393                                                         <label> timeWindow: </label>
394                                                 </div>
395                                                 <div class="form-group col-sm-2">
396                                                         <input type="text" class="form-control"
397                                                                 ng-disabled="temp.policy.readOnly"
398                                                                 ng-model="temp.policy.yamlparams.timeWindow"
399                                                                 placeholder="Time Window" title="Enter time window value." />
400                                                 </div>
401                                                 <div class="form-group col-sm-1">
402                                                         <select class="form-control" ng-disabled="temp.policy.readOnly"
403                                                                 ng-model="temp.policy.yamlparams.timeUnits"
404                                                                 title="Select the Time Units value from dropdown options.">
405                                                                 <option>minute</option>
406                                                                 <option>hour</option>
407                                                                 <option>day</option>
408                                                                 <option>week</option>
409                                                                 <option>month</option>
410                                                                 <option>year</option>
411                                                         </select>
412                                                 </div>
413                                         </div>
414                                         <div class="form-group row" style="margin-left: 2%">
415                                                 <div class="form-group col-sm-3">
416                                                         <label> guardActiveStart: </label>
417                                                 </div>
418                                                 <div class="form-group col-sm-3">
419                                                         <input type="text" class="form-control"
420                                                                 ng-disabled="temp.policy.readOnly"
421                                                                 ng-model="temp.policy.yamlparams.guardActiveStart"
422                                                                 title="Enter Guard Active Start value in following patren '00:00:00-05:00'."
423                                                                 placeholder="00:00:00-05:00" />
424                                                 </div>
425                                         </div>
426                                         <div class="form-group row" style="margin-left: 2%">
427                                                 <div class="form-group col-sm-3">
428                                                         <label> guardActiveEnd: </label>
429                                                 </div>
430                                                 <div class="form-group col-sm-3">
431                                                         <input type="text" class="form-control"
432                                                                 ng-disabled="temp.policy.readOnly"
433                                                                 ng-model="temp.policy.yamlparams.guardActiveEnd"
434                                                                 title="Enter Guard Active End value in following patren '00:00:00-05:00'."
435                                                                 placeholder="00:00:00-05:00" />
436                                                 </div>
437                                         </div>
438                                 </div>
439                         </div>
440                 </div>
441
442                 <div ng-if="temp.policy.ruleProvider == 'GUARD_MIN_MAX'">
443                         <div class="well">
444                                 <div class="form-group row">
445                                         <div class="form-group col-sm-1">
446                                                 <label>Guard MIN/MAX Attributes:</label><br>
447                                         </div>
448                                 </div>
449                                 <div class="form-group row">
450                                         <div class="form-group row" style="margin-left: 2%">
451                                                 <div class="form-group col-sm-3">
452                                                         <label> actor: </label>
453                                                 </div>
454                                                 <div class="form-group col-sm-3">
455                                                         <input type="text" class="form-control"
456                                                                 ng-disabled="temp.policy.readOnly"
457                                                                 ng-model="temp.policy.yamlparams.actor" placeholder="Actor" />
458                                                 </div>
459                                         </div>
460                                         <div class="form-group row" style="margin-left: 2%">
461                                                 <div class="form-group col-sm-3">
462                                                         <label> recipe: </label>
463                                                 </div>
464                                                 <div class="form-group col-sm-3">
465                                                         <input type="text" class="form-control"
466                                                                 ng-disabled="temp.policy.readOnly"
467                                                                 ng-model="temp.policy.yamlparams.recipe" placeholder="Recipe" />
468                                                 </div>
469                                         </div>
470                                         <div class="form-group row" style="margin-left: 2%">
471                                                 <div class="form-group col-sm-3">
472                                                         <label> CLName: </label>
473                                                 </div>
474                                                 <div class="form-group col-sm-3">
475                                                         <input type="text" class="form-control"
476                                                                 ng-disabled="temp.policy.readOnly"
477                                                                 ng-model="temp.policy.yamlparams.clname" placeholder="CLName" />
478                                                 </div>
479                                         </div>
480                                         <div class="form-group row" style="margin-left: 2%">
481                                                 <div class="form-group col-sm-3">
482                                                         <label> Targets: </label>
483                                                         <button type="button" class="btn btn-default"
484                                                                 ng-disabled="temp.policy.readOnly" ng-click="addNewTarget()">
485                                                                 <i class="fa fa-plus"></i>
486                                                         </button>
487                                                 </div>
488                                                 <div class="form-group col-sm-4">
489                                                         <div
490                                                                 data-ng-repeat="choice in temp.policy.yamlparams.targets track by $index">
491                                                                 <div class="form-group row">
492                                                                         <div class="form-group col-sm-9">
493                                                                                 <input type="text" class="form-control"
494                                                                                         ng-disabled="temp.policy.readOnly"
495                                                                                         ng-model="temp.policy.yamlparams.targets[$index]"
496                                                                                         placeholder="Target" />
497                                                                         </div>
498                                                                         <div class="form-group col-sm-1">
499                                                                                 <button type="button" class="btn btn-default" ng-show="$last"
500                                                                                         ng-disabled="temp.policy.readOnly" ng-click="removeTarget()">
501                                                                                         <i class="fa fa-minus"></i>
502                                                                                 </button>
503                                                                         </div>
504                                                                 </div>
505                                                         </div>
506                                                 </div>
507                                         </div>
508                                         <div class="form-group row" style="margin-left: 2%">
509                                                 <div class="form-group col-sm-3">
510                                                         <label> min: </label>
511                                                 </div>
512                                                 <div class="form-group col-sm-3">
513                                                         <input type="text" class="form-control"
514                                                                 ng-disabled="temp.policy.readOnly"
515                                                                 ng-model="temp.policy.yamlparams.min" placeholder="Min"
516                                                                 title="Enter minimum number of VNF instances" />
517                                                 </div>
518                                         </div>
519                                         <div class="form-group row" style="margin-left: 2%">
520                                                 <div class="form-group col-sm-3">
521                                                         <label> max: </label>
522                                                 </div>
523                                                 <div class="form-group col-sm-3">
524                                                         <input type="text" class="form-control"
525                                                                 ng-disabled="temp.policy.readOnly"
526                                                                 ng-model="temp.policy.yamlparams.max" placeholder="Max"
527                                                                 title="Enter maximum number of VNF instances" />
528                                                 </div>
529                                         </div>
530                                         <div class="form-group row" style="margin-left: 2%">
531                                                 <div class="form-group col-sm-3">
532                                                         <label> guardActiveStart: </label>
533                                                 </div>
534                                                 <div class="form-group col-sm-3">
535                                                         <input type="text" class="form-control"
536                                                                 ng-disabled="temp.policy.readOnly"
537                                                                 ng-model="temp.policy.yamlparams.guardActiveStart"
538                                                                 title="Enter Guard Active Start value in following patren '00:00:00-05:00'."
539                                                                 placeholder="00:00:00-05:00" />
540                                                 </div>
541                                         </div>
542                                         <div class="form-group row" style="margin-left: 2%">
543                                                 <div class="form-group col-sm-3">
544                                                         <label> guardActiveEnd: </label>
545                                                 </div>
546                                                 <div class="form-group col-sm-3">
547                                                         <input type="text" class="form-control"
548                                                                 ng-disabled="temp.policy.readOnly"
549                                                                 ng-model="temp.policy.yamlparams.guardActiveEnd"
550                                                                 title="Enter Guard Active End value in following patren '00:00:00-05:00'."
551                                                                 placeholder="00:00:00-05:00" />
552                                                 </div>
553                                         </div>
554                                 </div>
555                         </div>
556                 </div>
557
558                 <div ng-if="temp.policy.ruleProvider == 'Custom'">
559                         <div class="well">
560                                 <div class="form-group row">
561                                         <div class="form-group col-sm-1">
562                                                 <label>Component Attributes:</label><br>
563                                                 <button type="button" class="btn btn-default"
564                                                         ng-disabled="temp.policy.readOnly" ng-click="addNewChoice()"
565                                                         title="onClick Component Attribute row is added.">
566                                                         <i class="fa fa-plus"></i>
567                                                 </button>
568                                         </div>
569                                 </div>
570                                 <div class="form-group row">
571                                         <div data-ng-repeat="choice in temp.policy.attributes">
572                                                 <div class="form-group row" style="margin-left: 2%">
573                                                         <div class="form-group col-sm-3">
574                                                                 <select class="form-control" ng-disabled="temp.policy.readOnly"
575                                                                         ng-model="choice.key"
576                                                                         ng-options="option for option in attributeDictionaryDatas track by option"
577                                                                         title="Select the dropdown value driven from Attribute (common)Dictionary.">
578                                                                         <option value="">{{choice.key}}</option>
579                                                                 </select>
580                                                         </div>
581                                                         <div class="form-group col-sm-3">
582                                                                 <input type="text" class="form-control"
583                                                                         ng-disabled="temp.policy.readOnly" ng-model="choice.value"
584                                                                         placeholder="Attribute Value"
585                                                                         title="Enter the Attribute Value without any spaces and special characters" />
586                                                         </div>
587                                                         <div class="form-group col-sm-1">
588                                                                 <button type="button" class="btn btn-default" ng-show="$last"
589                                                                         ng-disabled="temp.policy.readOnly" ng-click="removeChoice()"
590                                                                         title="onClick will remove the last row">
591                                                                         <i class="fa fa-minus"></i>
592                                                                 </button>
593                                                         </div>
594                                                 </div>
595                                         </div>
596                                 </div>
597                         </div>
598                 </div>
599
600                 <div ng-if="temp.policy.ruleProvider == 'Custom'">
601                         <div class="well">
602                                 <div class="form-group row">
603                                         <div class="form-group col-sm-1">
604                                                 <label>Settings Attributes:</label><br>
605                                                 <button type="button" class="btn btn-default"
606                                                         ng-disabled="temp.policy.readOnly"
607                                                         ng-click="addNewSettingsChoice()"
608                                                         title="onClick Settings Attribute row is added.">
609                                                         <i class="fa fa-plus"></i>
610                                                 </button>
611                                         </div>
612                                 </div>
613                                 <div class="form-group row">
614                                         <div data-ng-repeat="settingschoice in temp.policy.settings">
615                                                 <div class="form-group row" style="margin-left: 2%">
616                                                         <div class="form-group col-sm-3">
617                                                                 <select class="form-control" ng-disabled="temp.policy.readOnly"
618                                                                         ng-model="settingschoice.key"
619                                                                         ng-options="option for option in settingsDictionaryDatas track by option"
620                                                                         title="Select the dropdown value driven from Settings (Decision)Dictionary.">
621                                                                         <option value="">{{settingschoice.key}}</option>
622                                                                 </select>
623                                                         </div>
624                                                         <div class="form-group col-sm-3">
625                                                                 <input type="text" class="form-control"
626                                                                         ng-disabled="temp.policy.readOnly"
627                                                                         ng-model="settingschoice.value" placeholder="Settings Value"
628                                                                         title="Enter the Settings Attribute Value without any spaces and special characters" />
629                                                         </div>
630                                                         <div class="form-group col-sm-1">
631                                                                 <button type="button" class="btn btn-default" ng-show="$last"
632                                                                         ng-disabled="temp.policy.readOnly"
633                                                                         ng-click="removeSettingsChoice()"
634                                                                         title="onClick will remove the last row">
635                                                                         <i class="fa fa-minus"></i>
636                                                                 </button>
637                                                         </div>
638                                                 </div>
639                                         </div>
640                                 </div>
641                         </div>
642                 </div>
643
644                 <div ng-if="temp.policy.ruleProvider == 'Custom'">
645                         <div class="well">
646                                 <label>Decision Rule Algorithms:<sup><b></b></sup></label><br>
647                                 <div class="form-group row">
648                                         <div class="form-group col-sm-1">
649                                                 <button type="button" class="btn btn-default"
650                                                         ng-disabled="temp.policy.readOnly"
651                                                         ng-click="addNewRuleAlgorithm()"
652                                                         title="onClick Rule Algorithms row is added.">
653                                                         <i class="fa fa-plus"></i>
654                                                 </button>
655                                         </div>
656                                 </div>
657                                 <div class="form-group row">
658                                         <div
659                                                 data-ng-repeat="ruleAlgorithmschoice in temp.policy.ruleAlgorithmschoices">
660                                                 <div class="form-group row" style="margin-left: 2%">
661                                                         <div class="form-group col-sm-1">
662                                                                 <label
663                                                                         ng-model="ruleAlgorithmschoice.dynamicRuleAlgorithmLabels"
664                                                                         name="dynamicRuleAlgorithmLabels">{{ruleAlgorithmschoice.id}}</label>
665                                                         </div>
666                                                         <div class="form-group col-sm-3">
667                                                                 <select class="form-control" id="mySelect"
668                                                                         ng-disabled="temp.policy.readOnly"
669                                                                         ng-model="ruleAlgorithmschoice.dynamicRuleAlgorithmField1"
670                                                                         ng-options="option for option in attributeDictionaryDatas track by option"
671                                                                         name="dynamicRuleAlgorithmField1"
672                                                                         title="Select the dropdown value driven from Attribute (common)Dictionary or Settings (Decision)Dictionary.">
673                                                                         <option value="">{{ruleAlgorithmschoice.dynamicRuleAlgorithmField1}}</option>
674                                                                 </select>
675                                                         </div>
676                                                         <div class="form-group col-sm-3">
677                                                                 <select type="text" class="form-control"
678                                                                         ng-disabled="temp.policy.readOnly"
679                                                                         ng-model="ruleAlgorithmschoice.dynamicRuleAlgorithmCombo"
680                                                                         ng-options="option for option in functionDefinitionDatas track by option"
681                                                                         name="dynamicRuleAlgorithmCombo"
682                                                                         title="Select the dropdown value driven from FunctionDataType."></select>
683                                                         </div>
684                                                         <div class="form-group col-sm-3">
685                                                                 <input type="text" class="form-control"
686                                                                         ng-disabled="temp.policy.readOnly"
687                                                                         ng-model="ruleAlgorithmschoice.dynamicRuleAlgorithmField2"
688                                                                         name="dynamicRuleAlgorithmField2"
689                                                                         title="Enter the Value without any spaces and special characters and for rule formation use A1, A2,..etc., based on above Rules." />
690                                                         </div>
691                                                         <div class="form-group col-sm-1">
692                                                                 <button type="button" class="btn btn-default"
693                                                                         ng-disabled="temp.policy.readOnly"
694                                                                         ng-click="removeRuleAlgorithm()"
695                                                                         title="onClick will remove the last row">
696                                                                         <i class="fa fa-minus"></i>
697                                                                 </button>
698                                                         </div>
699                                                 </div>
700                                         </div>
701                                 </div>
702                         </div>
703                 </div>
704                 <br>
705                 <div id="validate" style="width: 70%"></div>
706                 <br>
707                 <div class="modal-footer">
708                         <button class="btn btn-primary" herf="javascript:void(0)"
709                                 ng-disabled="temp.policy.readOnly"
710                                 ng-click="validatePolicy(temp.policy);"
711                                 title="Validate the data entered in the Policy fields.">Validate</button>
712                         <button class="btn btn-success" herf="javascript:void(0)"
713                                 ng-disabled="savebutton" ng-disabled="temp.policy.readOnly"
714                                 ng-click="saveDecisionPolicy(temp);"
715                                 title="Save the Policy with validated data.">Save</button>
716                         <button type="button" class="btn btn-default" ng-click="refresh();"
717                                 title="Close the template.">Close</button>
718                 </div>
719         </form>
720 </div>