88 lines
5.4 KiB
HTML
88 lines
5.4 KiB
HTML
<div class="modal-header">
|
|
<div class="modal-title">
|
|
<h3 class="modal-header"><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"
|
|
typeahead="certificate.name for certificate in certificateService.findCertificatesByName($viewValue)" typeahead-loading="loadingCertificates"
|
|
class="form-control input-md" typeahead-on-select="notification.attachCertificate($item)" typeahead-min-wait="50">
|
|
<span class="input-group-btn">
|
|
<button ng-model="certificates.show" class="btn btn-md btn-default" 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>
|
|
</div>
|
|
|