From b4d0b4c9853fcc14784fd670ae70e675cc686ba8 Mon Sep 17 00:00:00 2001 From: Fabio Caccamo Date: Mon, 29 Apr 2019 16:38:28 +0200 Subject: [PATCH] Added django-dynamic-raw-id support - #61 --- .../related-modal/related-modal.js | 24 +++++++++++++++---- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/admin_interface/static/admin_interface/related-modal/related-modal.js b/admin_interface/static/admin_interface/related-modal/related-modal.js index 4a70ba4..39062ec 100644 --- a/admin_interface/static/admin_interface/related-modal/related-modal.js +++ b/admin_interface/static/admin_interface/related-modal/related-modal.js @@ -118,17 +118,31 @@ if (typeof(django) !== 'undefined' && typeof(django.jQuery) !== 'undefined') } // listen click events on related links + function presentRelatedObjectModalOnClickOn(selector, lookup) { + var data = { + lookup:(lookup === true ? true : false) + }; + var el = $(selector); + el.removeAttr('onclick'); + el.unbind('click'); + el.click(data, presentRelatedObjectModal); + } // django 1.7 compatibility - $('a.add-another').removeAttr('onclick'); - $('a.add-another').click({ lookup:false }, presentRelatedObjectModal); + // $('a.add-another').removeAttr('onclick').click({ lookup:false }, presentRelatedObjectModal); + presentRelatedObjectModalOnClickOn('a.add-another'); // django 1.8 and above - $('a.related-widget-wrapper-link').click({ lookup:false }, presentRelatedObjectModal); + // $('a.related-widget-wrapper-link').click({ lookup:false }, presentRelatedObjectModal); + presentRelatedObjectModalOnClickOn('a.related-widget-wrapper-link'); // raw_id_fields support - $('a.related-lookup').unbind('click'); - $('a.related-lookup').click({ lookup:true }, presentRelatedObjectModal); + // $('a.related-lookup').unbind('click').click({ lookup:true }, presentRelatedObjectModal); + presentRelatedObjectModalOnClickOn('a.related-lookup', true); + + // django-dynamic-raw-id support - #61 + // https://github.com/lincolnloop/django-dynamic-raw-id + presentRelatedObjectModalOnClickOn('a.dynamic_raw_id-related-lookup', true); }); })(django.jQuery);