calendarium.widgets: 13 total statements, 60.0% covered

Generated: Thu 2013-05-02 12:21 SGT

Source file: /Users/martin/Repos/django-calendarium/calendarium/widgets.py

Stats: 6 executed, 4 missed, 3 excluded, 29 ignored

  1. """Widgets for the ``calendarium`` app."""
  2. from django import forms
  3. from django.conf import settings
  4. from django.utils.safestring import mark_safe
  5. class ColorPickerWidget(forms.TextInput):
  6. class Media:
  7. css = {
  8. 'all': (
  9. settings.STATIC_URL + 'calendarium/css/colorpicker.css',
  10. )
  11. }
  12. js = (
  13. '//ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js',
  14. settings.STATIC_URL + 'calendarium/js/colorpicker.js',
  15. settings.STATIC_URL + 'calendarium/js/colorpicker_list.js',
  16. settings.STATIC_URL + 'calendarium/js/eye.js',
  17. settings.STATIC_URL + 'calendarium/js/layout.js',
  18. settings.STATIC_URL + 'calendarium/js/utils.js',
  19. )
  20. def __init__(self, language=None, attrs=None):
  21. self.language = language or settings.LANGUAGE_CODE[:2]
  22. super(ColorPickerWidget, self).__init__(attrs=attrs)
  23. def render(self, name, value, attrs=None):
  24. rendered = super(ColorPickerWidget, self).render(name, value, attrs)
  25. return rendered + mark_safe(
  26. u'''<script type="text/javascript">
  27. $('#id_%s').ColorPicker({
  28. onSubmit: function(hsb, hex, rgb, el) {
  29. $(el).val(hex);
  30. $(el).ColorPickerHide();
  31. },
  32. onBeforeShow: function () {
  33. $(this).ColorPickerSetColor(this.value);
  34. }
  35. }).bind('keyup', function(){
  36. $(this).ColorPickerSetColor(this.value);
  37. });
  38. </script>''' % name)