Ticket #13068: prepopulate-with-9983-and-9784-fix.2.diff

File prepopulate-with-9983-and-9784-fix.2.diff, 7.0 KB (added by Sean Brant, 14 years ago)

Removed some code that was not being used

  • django/contrib/admin/media/js/admin/DateTimeShortcuts.js

     
    120120    },
    121121    handleClockQuicklink: function(num, val) {
    122122       DateTimeShortcuts.clockInputs[num].value = val;
     123       DateTimeShortcuts.clockInputs[num].focus();
    123124       DateTimeShortcuts.dismissClock(num);
    124125    },
    125126    // Add calendar widget to a given field.
     
    247248        format = format.replace('\n', '\\n');
    248249        format = format.replace('\t', '\\t');
    249250        format = format.replace("'", "\\'");
    250         return "function(y, m, d) { DateTimeShortcuts.calendarInputs["+num+"].value = new Date(y, m-1, d).strftime('"+format+"');document.getElementById(DateTimeShortcuts.calendarDivName1+"+num+").style.display='none';}";
     251        return "function(y, m, d) { DateTimeShortcuts.calendarInputs["+num+"].value = new Date(y, m-1, d).strftime('"+format+"');DateTimeShortcuts.calendarInputs["+num+"].focus();document.getElementById(DateTimeShortcuts.calendarDivName1+"+num+").style.display='none';}";
    251252    },
    252253    handleCalendarQuickLink: function(num, offset) {
    253254       var d = new Date();
    254255       d.setDate(d.getDate() + offset)
    255256       DateTimeShortcuts.calendarInputs[num].value = d.strftime(get_format('DATE_INPUT_FORMATS')[0]);
     257       DateTimeShortcuts.calendarInputs[num].focus();
    256258       DateTimeShortcuts.dismissCalendar(num);
    257259    },
    258260    cancelEventPropagation: function(e) {
  • django/contrib/admin/media/js/prepopulate.js

     
     1(function($) {
     2    $.fn.prepopulate = function(dependencies, maxLength) {
     3        /*
     4            Depends on urlify.js
     5            Populates a selected field with the values of the dependent fields,
     6            URLifies and shortens the string.
     7            dependencies - selected jQuery object of dependent fields
     8            maxLength - maximum length of the URLify'd string
     9        */
     10        return this.each(function() {
     11            var field = $(this);
     12
     13            field.data('_changed', false);
     14            field.change(function() {
     15                field.data('_changed', true);
     16            });
     17
     18            var populate = function () {
     19                // Bail if the fields value has changed
     20                if (field.data('_changed') == true) return;
     21 
     22                var values = [];
     23                dependencies.each(function() {
     24                    if ($(this).val().length > 0) {
     25                        values.push($(this).val());
     26                    }
     27                });
     28                field.val(URLify(values.join(' '), maxLength));
     29            };
     30
     31            dependencies.keyup(populate).change(populate).focus(populate);
     32        });
     33    };
     34})(jQuery.noConflict());
  • django/contrib/admin/options.py

     
    273273            js.extend(['js/jquery.min.js', 'js/actions.min.js'])
    274274        if self.prepopulated_fields:
    275275            js.append('js/urlify.js')
     276            js.append('js/prepopulate.js')
    276277        if self.opts.get_ordered_objects():
    277278            js.extend(['js/getElementsBySelector.js', 'js/dom-drag.js' , 'js/admin/ordering.js'])
    278279
     
    12041205        js = ['js/jquery.min.js', 'js/inlines.min.js']
    12051206        if self.prepopulated_fields:
    12061207            js.append('js/urlify.js')
     1208            js.append('js/prepopulate.js')
    12071209        if self.filter_vertical or self.filter_horizontal:
    12081210            js.extend(['js/SelectBox.js' , 'js/SelectFilter2.js'])
    12091211        return forms.Media(js=['%s%s' % (settings.ADMIN_MEDIA_PREFIX, url) for url in js])
  • django/contrib/admin/templates/admin/edit_inline/tabular.html

     
    9494                })
    9595            }
    9696        }
     97        var initPrepopulatedFields = function(row) {
     98            $(row).find('td.prepopulated_field').each(function() {
     99                var field = $(this);
     100                var input = null;
     101                var dependencies = null;
     102
     103                dependencies = row.find($.data(field.attr('id')).join(','));
     104
     105                if (dependencies.length) {
     106                    input = field.find('input');
     107                    input.prepopulate(dependencies, input.attr('maxlength'));
     108                }
     109            });
     110        }
    97111        $(rows).formset({
    98112            prefix: "{{ inline_admin_formset.formset.prefix }}",
    99113            addText: "{% blocktrans with inline_admin_formset.opts.verbose_name|title as verbose_name %}Add another {{ verbose_name }}{% endblocktrans %}",
     
    103117            emptyCssClass: "empty-form",
    104118            removed: alternatingRows,
    105119            added: (function(row) {
     120                initPrepopulatedFields(row);
    106121                reinitDateTimeShortCuts();
    107122                updateSelectFilter();
    108123                alternatingRows(row);
  • django/contrib/admin/templates/admin/prepopulated_fields_js.html

     
    11<script type="text/javascript">
     2(function($) {
     3    var field = null;
     4
    25{% for field in prepopulated_fields %}
    3     document.getElementById("{{ field.field.auto_id }}").onchange = function() { this._changed = true; };
     6    $('.empty-form td.{{ field.field.name }}').addClass('prepopulated_field');
     7
     8    field = {
     9        id: '#{{ field.field.auto_id }}',
     10        dependency_ids: [],
     11        dependency_names: [],
     12        maxLength: {{ field.field.field.max_length|default_if_none:"50" }}
     13    };
     14
    415    {% for dependency in field.dependencies %}
    5     document.getElementById("{{ dependency.auto_id }}").onkeyup = function() {
    6         var e = document.getElementById("{{ field.field.auto_id }}");
    7         if (!e._changed) { e.value = URLify({% for innerdep in field.dependencies %}document.getElementById("{{ innerdep.auto_id }}").value{% if not forloop.last %} + ' ' + {% endif %}{% endfor %}, {{ field.field.field.max_length|default_if_none:"50" }}); }
    8     }
     16    field['dependency_ids'].push('#{{ dependency.auto_id }}');
     17    field['dependency_names'].push('{{ dependency.name }}');
    918    {% endfor %}
     19
     20    $.data('{{ field.field.auto_id }}', field['dependency_names']);
     21    $(field.id).prepopulate($(field['dependency_ids'].join(',')), field.maxLength);
    1022{% endfor %}
     23})(jQuery.noConflict());
    1124</script>
Back to Top