You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			65 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
			
		
		
	
	
			65 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
| /* global i18n: false */
 | |
| /* global Whisper: false */
 | |
| 
 | |
| // eslint-disable-next-line func-names
 | |
| (function() {
 | |
|   'use strict';
 | |
| 
 | |
|   window.Whisper = window.Whisper || {};
 | |
| 
 | |
|   Whisper.DebugLogLinkView = Whisper.View.extend({
 | |
|     templateName: 'debug-log-link',
 | |
|     initialize(options) {
 | |
|       this.url = options.url;
 | |
|     },
 | |
|     render_attributes() {
 | |
|       return {
 | |
|         url: this.url,
 | |
|         reportIssue: i18n('reportIssue'),
 | |
|       };
 | |
|     },
 | |
|   });
 | |
|   Whisper.DebugLogView = Whisper.View.extend({
 | |
|     templateName: 'debug-log',
 | |
|     className: 'debug-log modal',
 | |
|     initialize() {
 | |
|       this.render();
 | |
|       this.$('textarea').val(i18n('loading'));
 | |
| 
 | |
|       const operatingSystemInfo = `Operating System: ${window.getOSRelease()}`;
 | |
| 
 | |
|       const commitHashInfo = window.getCommitHash() ? `Commit Hash: ${window.getCommitHash()}` : '';
 | |
| 
 | |
|       // eslint-disable-next-line more/no-then
 | |
|       window.log.fetch().then(text => {
 | |
|         const debugLogWithSystemInfo = operatingSystemInfo + commitHashInfo + text;
 | |
| 
 | |
|         this.$('textarea').val(debugLogWithSystemInfo);
 | |
|       });
 | |
|     },
 | |
|     events: {
 | |
|       'click .submit': 'submit',
 | |
|       'click .close': 'close',
 | |
|     },
 | |
|     render_attributes: {
 | |
|       title: i18n('submitDebugLog'),
 | |
|       cancel: i18n('cancel'),
 | |
|       submit: i18n('saveLogToDesktop'),
 | |
|       close: i18n('gotIt'),
 | |
|       debugLogExplanation: i18n('debugLogExplanation'),
 | |
|     },
 | |
|     close() {
 | |
|       window.closeDebugLog();
 | |
|     },
 | |
|     async submit(e) {
 | |
|       e.preventDefault();
 | |
|       const text = this.$('textarea').val();
 | |
|       if (text.length === 0) {
 | |
|         return;
 | |
|       }
 | |
|       window.saveLog(text);
 | |
|       window.closeDebugLog();
 | |
|     },
 | |
|   });
 | |
| })();
 |