<div class="modal-header">
  <button type="button" class="close" ng-click="cancel()" aria-label="Close"><span aria-hidden="true">&times;</span></button>
  <h3><span ng-show="!notification.fromServer">Create</span><span ng-show="notification.fromServer">Edit</span> Notification <span class="text-muted"><small>you gotta speak louder son!</small></span></h3>
</div>
<div class="modal-body">
    <form name="createForm" class="form-horizontal" role="form" novalidate>
        <div class="form-group"
             ng-class="{'has-error': createForm.label.$invalid, 'has-success': !createForm.label.$invalid&&createForm.label.$dirty}">
            <label class="control-label col-sm-2">
                Label
            </label>
            <div class="col-sm-10">
                <input name="label" ng-model="notification.label" placeholder="Label" class="form-control" required/>
                <p ng-show="createForm.label.$invalid && !createForm.label.$pristine" class="help-block">You must enter an notification label</p>
            </div>
        </div>
        <div class="form-group">
            <label class="control-label col-sm-2">
                Description
            </label>
            <div class="col-sm-10">
                <textarea name="comments" ng-model="notification.description" placeholder="Something elegant" class="form-control" ></textarea>
            </div>
        </div>
        <div class="form-group">
            <label class="control-label col-sm-2">
                Plugin
            </label>
            <div class="col-sm-10">
                <select class="form-control" ng-model="notification.plugin" ng-options="plugin.title for plugin in plugins" required></select>
            </div>
        </div>
        <div class="form-group" ng-repeat="item in notification.plugin.pluginOptions">
            <ng-form name="subForm" class="form-horizontal" role="form" novalidate>
                <div ng-class="{'has-error': subForm.sub.$invalid, 'has-success': !subForm.sub.$invalid&&subForm.sub.$dirty}">
                    <label class="control-label col-sm-2">
                        {{ item.name | titleCase }}
                    </label>
                    <div class="col-sm-10">
                        <input name="sub" ng-if="item.type == 'int'" type="number" ng-pattern="item.validation" class="form-control" ng-model="item.value"/>
                        <select name="sub" ng-if="item.type == 'select'" class="form-control" ng-options="i as (i | titleCase) for i in item.available" ng-model="item.value"></select>
                        <input name="sub" ng-if="item.type == 'bool'" class="form-control" type="checkbox" ng-model="item.value">
                        <input name="sub" ng-if="item.type == 'str'" ng-pattern="item.validation" type="text" class="form-control" ng-model="item.value"/>
                        <p ng-show="subForm.sub.$invalid && !subForm.sub.$pristine" class="help-block">{{ item.helpMessage }}</p>
                    </div>
                </div>
            </ng-form>
        </div>
        <div class="form-group">
            <label class="control-label col-sm-2">
                Certificates
            </label>
            <div class="col-sm-10">
                <div class="input-group">
                    <input type="text" ng-model="notification.selectedCertificate" placeholder="Certificate Name"
                           uib-typeahead="certificate.name for certificate in certificateService.findCertificatesByName($viewValue)" typeahead-loading="loadingCertificates"
                           class="form-control input-md" typeahead-on-select="notification.attachCertificate($item)" typeahead-wait-ms="500">
                    <span class="input-group-btn">
                        <button ng-model="certificates.show" class="btn btn-md btn-default" uib-btn-checkbox btn-checkbox-true="1" btn-checkbox-false="0">
                            <span class="badge">{{ notification.certificates.total || 0 }}</span>
                        </button>
                    </span>
                </div>
                <table ng-show="notification.certificates" class="table">
                    <tr ng-repeat="certificate in notification.certificates track by $index">
                        <td><a class="btn btn-sm btn-info" href="#">{{ certificate.name }}</a></td>
                        <td><span class="text-muted">{{ certificate.description }}</span></td>
                        <td>
                            <button type="button" ng-click="notification.removeCertificate($index)" class="btn btn-danger btn-sm pull-right">Remove</button>
                        </td>
                    </tr>
                    <tr>
                        <td></td>
                        <td></td>
                        <td><a class="pull-right" ng-click="loadMoreCertificates()"><strong>More</strong></a></td>
                    </tr>
                </table>
            </div>
        </div>
    </form>
</div>
<div class="modal-footer">
    <button ng-click="save(notification)" type="submit" ng-disabled="createForm.$invalid" class="btn btn-primary">Save</button>
    <button ng-click="cancel()" class="btn btn-danger">Cancel</button>
</div>

