32 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
| import $ from 'jquery';
 | |
| import {hideElem, showElem} from '../utils/dom.js';
 | |
| 
 | |
| export function initUnicodeEscapeButton() {
 | |
|   $(document).on('click', 'a.escape-button', (e) => {
 | |
|     e.preventDefault();
 | |
|     $(e.target).parents('.file-content, .non-diff-file-content').find('.file-code, .file-view').addClass('unicode-escaped');
 | |
|     hideElem($(e.target));
 | |
|     showElem($(e.target).siblings('a.unescape-button'));
 | |
|   });
 | |
|   $(document).on('click', 'a.unescape-button', (e) => {
 | |
|     e.preventDefault();
 | |
|     $(e.target).parents('.file-content, .non-diff-file-content').find('.file-code, .file-view').removeClass('unicode-escaped');
 | |
|     hideElem($(e.target));
 | |
|     showElem($(e.target).siblings('a.escape-button'));
 | |
|   });
 | |
|   $(document).on('click', 'a.toggle-escape-button', (e) => {
 | |
|     e.preventDefault();
 | |
|     const fileContent = $(e.target).parents('.file-content, .non-diff-file-content');
 | |
|     const fileView = fileContent.find('.file-code, .file-view');
 | |
|     if (fileView.hasClass('unicode-escaped')) {
 | |
|       fileView.removeClass('unicode-escaped');
 | |
|       hideElem(fileContent.find('a.unescape-button'));
 | |
|       showElem(fileContent.find('a.escape-button'));
 | |
|     } else {
 | |
|       fileView.addClass('unicode-escaped');
 | |
|       showElem(fileContent.find('a.unescape-button'));
 | |
|       hideElem(fileContent.find('a.escape-button'));
 | |
|     }
 | |
|   });
 | |
| }
 |