grafana/public/app/angular/autofill_event_fix.ts
Tobias Skarhed 5e7df4cf6a
Angular cleanup: Move directives (#35330)
* angular2react: Remove json_editor_ctrl

* angular2react: Move directives

* Add to angular dir
2021-06-08 08:28:56 +02:00

36 lines
1.0 KiB
TypeScript

import coreModule from '../core/core_module';
/** @ngInject */
export function autofillEventFix($compile: any) {
return {
link: ($scope: any, elem: any) => {
const input = elem[0];
const dispatchChangeEvent = () => {
const event = new Event('change');
return input.dispatchEvent(event);
};
const onAnimationStart = ({ animationName }: AnimationEvent) => {
switch (animationName) {
case 'onAutoFillStart':
return dispatchChangeEvent();
case 'onAutoFillCancel':
return dispatchChangeEvent();
}
return null;
};
// const onChange = (evt: Event) => console.log(evt);
input.addEventListener('animationstart', onAnimationStart);
// input.addEventListener('change', onChange);
$scope.$on('$destroy', () => {
input.removeEventListener('animationstart', onAnimationStart);
// input.removeEventListener('change', onChange);
});
},
};
}
coreModule.directive('autofillEventFix', autofillEventFix);