Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Few questions about directives
Message
 
 
General information
Forum:
Javascript
Category:
Other
Miscellaneous
Thread ID:
01615790
Message ID:
01617074
Views:
43
>>>>>I tested using both positive and negative priority and your directive always ran first. I *did* get it to work by changing your formatter to:
>>>>>                    function bind() {
>>>>>                        return ngModel.$formatters.unshift(function (value) {
>>>>>                            return format(value);
>>>>>                        });
>>>>>                    }
Don't know why the priority approach didn't work but this shows that your formatter needs to be first in the $formatters array.....
>>>>
>>>>There is some activity in the issue I raised
>>>>
>>>>https://github.com/angular/angular.js/issues/11157#issuecomment-75706528
>>>>
>>>>and I also posted a new plnkr
>>>>
>>>>http://plnkr.co/edit/z1BWMoPmnsCZlAUra0os?p=preview
>>>
>>>Using Priority and push gives exactly the same formatter execution order (ie angulars directive followed by yours). Behaviour is the same in both cases.
>>>What exactly is your problem with this code ?
>>>BTW you should probably also add 'event.preventDefault()' in your keydown event handler - simply returning true/false only works in IE.
>>>
>>>Also you need to prevent multiple decimal points:
if (isDecimal(event.keyCode)) {
>>>                          if (event.srcElement.value.indexOf('.') !== -1) {
>>>                              event.preventDefault();
>>>                              return false;
>>>                          }
>>>                      }
(or use a regex)
>>
>>Thanks, I'll make adjustements.
>
>But you didn't answer my question: "What exactly is your problem with this code ?"

I was seeing the error that I posted in the issue, but I do not seem to reproduce it in that plnkr. Also, I do not see the number formatted with , e.g. I thought the idea of the directive was to nicely format the number to be 890,900.00 (e.g. with commas), but I do not see that in the directive's code or the output.
If it's not broken, fix it until it is.


My Blog
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform