55 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			55 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								django.jQuery(document).ready(function($){
							 | 
						||
| 
								 | 
							
								    
							 | 
						||
| 
								 | 
							
								    window.dismissChangeRelatedPopup = function(win, objId, newRepr) {
							 | 
						||
| 
								 | 
							
								        objId = html_unescape(objId);
							 | 
						||
| 
								 | 
							
								        newRepr = html_unescape(newRepr);
							 | 
						||
| 
								 | 
							
								        var id = windowname_to_id(win.name).replace(/^edit_/, ''),
							 | 
						||
| 
								 | 
							
								            selects = $(interpolate('#%s, #%s_from, #%s_to', [id, id, id]));
							 | 
						||
| 
								 | 
							
								        selects.find('option').each(function(){
							 | 
						||
| 
								 | 
							
								            if (this.value == objId) this.innerHTML = newRepr;
							 | 
						||
| 
								 | 
							
								        });
							 | 
						||
| 
								 | 
							
								        win.close();
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								    
							 | 
						||
| 
								 | 
							
								    if (!dismissAddAnotherPopup.original) {
							 | 
						||
| 
								 | 
							
								        var originalDismissAddAnotherPopup = dismissAddAnotherPopup;
							 | 
						||
| 
								 | 
							
								        dismissAddAnotherPopup = function(win, newId, newRepr) {
							 | 
						||
| 
								 | 
							
								            originalDismissAddAnotherPopup(win, newId, newRepr);
							 | 
						||
| 
								 | 
							
								            newId = html_unescape(newId);
							 | 
						||
| 
								 | 
							
								            newRepr = html_unescape(newRepr);
							 | 
						||
| 
								 | 
							
								            $('#' + windowname_to_id(win.name)).trigger('change');
							 | 
						||
| 
								 | 
							
								        };
							 | 
						||
| 
								 | 
							
								        dismissAddAnotherPopup.original = originalDismissAddAnotherPopup;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    
							 | 
						||
| 
								 | 
							
								    window.dismissDeleteRelatedPopup = function(win, objId) {
							 | 
						||
| 
								 | 
							
								        objId = html_unescape(objId);
							 | 
						||
| 
								 | 
							
								        var id = windowname_to_id(win.name).replace(/^delete_/, ''),
							 | 
						||
| 
								 | 
							
								            selects = $(interpolate('#%s, #%s_from, #%s_to', [id, id, id]));
							 | 
						||
| 
								 | 
							
								        selects.find('option').each(function(){
							 | 
						||
| 
								 | 
							
								            if (this.value == objId) $(this).remove();
							 | 
						||
| 
								 | 
							
								        }).trigger('change');
							 | 
						||
| 
								 | 
							
								        win.close();
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								    
							 | 
						||
| 
								 | 
							
									var relatedWidgetCSSSelector = '.related-widget-wrapper-change-link, .related-widget-wrapper-delete-link',
							 | 
						||
| 
								 | 
							
								  		hrefTemplateAttr = 'data-href-template';
							 | 
						||
| 
								 | 
							
								  
							 | 
						||
| 
								 | 
							
								    $('#container').delegate('.related-widget-wrapper', 'change', function(event){
							 | 
						||
| 
								 | 
							
								        var siblings = $(this).nextAll(relatedWidgetCSSSelector),
							 | 
						||
| 
								 | 
							
								            value = event.target.value;
							 | 
						||
| 
								 | 
							
								        if (!siblings.length) return;
							 | 
						||
| 
								 | 
							
								        if (value) {
							 | 
						||
| 
								 | 
							
									       siblings.each(function(){
							 | 
						||
| 
								 | 
							
										      var elm = $(this);
							 | 
						||
| 
								 | 
							
										      elm.attr('href', elm.attr(hrefTemplateAttr).replace('__pk__', value));
							 | 
						||
| 
								 | 
							
									       });
							 | 
						||
| 
								 | 
							
								        } else siblings.removeAttr('href');
							 | 
						||
| 
								 | 
							
								    });
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									$('#container').delegate('.related-widget-wrapper-link', 'click', function(event){
							 | 
						||
| 
								 | 
							
								    	if (this.href) {
							 | 
						||
| 
								 | 
							
								    		return showAddAnotherPopup(this);
							 | 
						||
| 
								 | 
							
								    	} else return false;
							 | 
						||
| 
								 | 
							
								    });
							 | 
						||
| 
								 | 
							
								});
							 |