
<!--
Copyright 2017-present Open Networking Foundation

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.
-->

<div class="modal-header" ng-show="vm.config.header">
    <h4>{{vm.config.header}}</h4>
</div>
<div class="modal-body" ng-show="vm.config.text">
    <div ng-bind-html="vm.config.text"></div>
</div>
<div class="modal-footer">
    <a class="btn btn-default" ng-click="vm.dismiss()">Close</a>
    <a class="btn" ng-class="action.class" ng-repeat="action in vm.config.actions" ng-click="vm.close(action.cb())">{{action.label}}</a>
</div>