⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.37
Server IP:
41.128.143.86
Server:
Linux host.raqmix.cloud 6.8.0-1025-azure #30~22.04.1-Ubuntu SMP Wed Mar 12 15:28:20 UTC 2025 x86_64
Server Software:
Apache
PHP Version:
8.3.23
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
share
/
grafana
/
public
/
app
/
angular
/
View File Name :
ng_model_on_blur.ts
import { rangeUtil } from '@grafana/data'; import coreModule from './core_module'; function ngModelOnBlur() { return { restrict: 'A', priority: 1, require: 'ngModel', link: (scope: any, elm: any, attr: any, ngModelCtrl: any) => { if (attr.type === 'radio' || attr.type === 'checkbox') { return; } elm.off('input keydown change'); elm.bind('blur', () => { scope.$apply(() => { ngModelCtrl.$setViewValue(elm.val()); }); }); }, }; } function emptyToNull() { return { restrict: 'A', require: 'ngModel', link: (scope: any, elm: any, attrs: any, ctrl: any) => { ctrl.$parsers.push((viewValue: any) => { if (viewValue === '') { return null; } return viewValue; }); }, }; } function validTimeSpan() { return { require: 'ngModel', link: (scope: any, elm: any, attrs: any, ctrl: any) => { ctrl.$validators.integer = (modelValue: any, viewValue: any) => { if (ctrl.$isEmpty(modelValue)) { return true; } if (viewValue.indexOf('$') === 0 || viewValue.indexOf('+$') === 0) { return true; // allow template variable } const info = rangeUtil.describeTextRange(viewValue); return info.invalid !== true; }; }, }; } coreModule.directive('ngModelOnblur', ngModelOnBlur); coreModule.directive('emptyToNull', emptyToNull); coreModule.directive('validTimeSpan', validTimeSpan);