Guest User

Untitled

a guest
Feb 15th, 2019
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.25 KB | None | 0 0
  1. ko.bindingHandlers.recaptcha = {
  2. init: function(element, valueAccessor, allBindings, viewModel, bindingContext) {
  3. var propWriters = allBindings()['_ko_property_writers'];
  4. var value = valueAccessor();
  5. document.addEventListener('createCaptcha', function(event, theme) {
  6. var site_key = document.querySelector('.g-recaptcha').dataset.sitekey
  7. var callback = allBindings.get('recaptchaCallback') || function () {
  8. if (!value) {
  9. if (ko.isObservable(value)) {
  10. value = true
  11. } else {
  12. propWriters.recaptcha(true)
  13. }
  14. }
  15. };
  16. window.widgetId = grecaptcha.render('recaptcha', {
  17. sitekey: site_key,
  18. theme: theme,
  19. callback: callback,
  20. 'expired-callback': function() {
  21. grecaptcha.reset(widgetId);
  22. if (ko.isObservable(value)) {
  23. value = false
  24. } else {
  25. propWriters.recaptcha(false)
  26. }
  27. }
  28. })
  29. });
  30. }
  31. };
  32. ko.expressionRewriting._twoWayBindings['recaptcha'] = true;
Add Comment
Please, Sign In to add comment