1234567891011121314151617181920212223242526272829303132333435 |
- import coreModule from './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);
|