Summary Table
| Categories |
Total Count |
| PII |
0 |
| URL |
0 |
| DNS |
0 |
| EKL |
0 |
| IP |
0 |
| PORT |
0 |
| VsID |
0 |
| CF |
0 |
| AI |
0 |
| VPD |
0 |
| PL |
0 |
| Other |
0 |
File Content
define(['app', 'angular'], function (app, angular) {
app.directive('inputCheckbox', function ($compile) {
return {
restrict: 'E',
require: 'ngModel',
scope: {
'label': '@',
'name': '@',
'ngDisabled': '=',
'ngRequired': '=',
'ngModel': '=',
'tableHeaderId': '@',
'selectedFieldName': '@'
},
link: function (scope, elems, attrs, ngModelCtrl) {
if (_.isEmpty(scope.selectedFieldName)) {
scope.selectedFieldName = 'selected';
}
if (scope.ngRequired) {
var validator = function (newVal) {
return newVal;
};
ngModelCtrl.$parsers.push(validator);
ngModelCtrl.$formatters.push(validator);
}
scope.onChange = function (checkModel) {
if (scope.ngRequired) {
validator(checkModel[scope.selectedFieldName]);
}
};
},
template: function (elems, attrs) {
var labelFieldName = attrs.labelFieldName || 'label';
var selectedFieldName = attrs.selectedFieldName || 'selected';
var labelContent;
if (attrs.labelCapitalize === 'true') {
labelContent = '{{ngModel.' + labelFieldName + ' | capitalize}}';
} else {
labelContent = '{{ngModel.' + labelFieldName + '}}';
}
var templateStr =
'<div form-control-wrapper> \
<label ng-if="!tableHeaderId" class="input-checkbox-label"> \
<span class="input-checkbox-legend" required-field is-required="ngRequired">{{label}}</span> \
</label> \
<div class="input-checkbox"> \
<input type="checkbox" \
ng-attr-id="{{name}}" \
ng-attr-name="{{name}}" \
ng-model="ngModel.' + selectedFieldName + '" \
aria-checked="{{ngModel.' + selectedFieldName + ' || false}}" \
ng-disabled="ngDisabled" \
ng-change="onChange(ngModel)"> \
<label for="{{name}}" class="input-checkbox-label-content">' + labelContent + '</label> \
</div> \
</div>';
templateStr = templateStr.replace(/>\s+</g, '><').replace(/\s+/g, ' ');
return templateStr;
}
};
});
});