parent
							
								
									e6c9b1d9bd
								
							
						
					
					
						commit
						3f83beedb7
					
				
					 2 changed files with 13 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -51,6 +51,7 @@ export default Vue.extend({
 | 
			
		|||
			target: self ? null : '_blank',
 | 
			
		||||
			showTimer: null,
 | 
			
		||||
			hideTimer: null,
 | 
			
		||||
			checkTimer: null,
 | 
			
		||||
			preview: null,
 | 
			
		||||
			faExternalLinkSquareAlt
 | 
			
		||||
		};
 | 
			
		||||
| 
						 | 
				
			
			@ -78,9 +79,14 @@ export default Vue.extend({
 | 
			
		|||
			}).$mount();
 | 
			
		||||
 | 
			
		||||
			document.body.appendChild(this.preview.$el);
 | 
			
		||||
 | 
			
		||||
			this.checkTimer = setInterval(() => {
 | 
			
		||||
				if (!document.body.contains(this.$el)) this.closePreview();
 | 
			
		||||
			}, 1000);
 | 
			
		||||
		},
 | 
			
		||||
		closePreview() {
 | 
			
		||||
			if (this.preview) {
 | 
			
		||||
				clearInterval(this.checkTimer);
 | 
			
		||||
				this.preview.destroyDom();
 | 
			
		||||
				this.preview = null;
 | 
			
		||||
			}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -8,9 +8,11 @@ export default {
 | 
			
		|||
		self.tag = null;
 | 
			
		||||
		self.showTimer = null;
 | 
			
		||||
		self.hideTimer = null;
 | 
			
		||||
		self.checkTimer = null;
 | 
			
		||||
 | 
			
		||||
		self.close = () => {
 | 
			
		||||
			if (self.tag) {
 | 
			
		||||
				clearInterval(self.checkTimer);
 | 
			
		||||
				self.tag.close();
 | 
			
		||||
				self.tag = null;
 | 
			
		||||
			}
 | 
			
		||||
| 
						 | 
				
			
			@ -37,6 +39,10 @@ export default {
 | 
			
		|||
				self.hideTimer = setTimeout(self.close, 500);
 | 
			
		||||
			});
 | 
			
		||||
 | 
			
		||||
			self.checkTimer = setInterval(() => {
 | 
			
		||||
				if (!document.body.contains(el)) self.close();
 | 
			
		||||
			}, 1000);
 | 
			
		||||
 | 
			
		||||
			document.body.appendChild(self.tag.$el);
 | 
			
		||||
		};
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -62,6 +68,7 @@ export default {
 | 
			
		|||
		const self = el._userPreviewDirective_;
 | 
			
		||||
		clearTimeout(self.showTimer);
 | 
			
		||||
		clearTimeout(self.hideTimer);
 | 
			
		||||
		clearInterval(self.checkTimer);
 | 
			
		||||
		self.close();
 | 
			
		||||
	}
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue