67 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
		
		
			
		
	
	
			67 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
| 
								 | 
							
								/*******************************************************************************
							 | 
						||
| 
								 | 
							
								* KindEditor - WYSIWYG HTML Editor for Internet
							 | 
						||
| 
								 | 
							
								* Copyright (C) 2006-2011 kindsoft.net
							 | 
						||
| 
								 | 
							
								*
							 | 
						||
| 
								 | 
							
								* @author Roddy <luolonghao@gmail.com>
							 | 
						||
| 
								 | 
							
								* @site http://www.kindsoft.net/
							 | 
						||
| 
								 | 
							
								* @licence http://www.kindsoft.net/license.php
							 | 
						||
| 
								 | 
							
								*******************************************************************************/
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								KindEditor.plugin('link', function(K) {
							 | 
						||
| 
								 | 
							
									var self = this, name = 'link';
							 | 
						||
| 
								 | 
							
									self.plugin.link = {
							 | 
						||
| 
								 | 
							
										edit : function() {
							 | 
						||
| 
								 | 
							
											var lang = self.lang(name + '.'),
							 | 
						||
| 
								 | 
							
												html = '<div style="padding:20px;">' +
							 | 
						||
| 
								 | 
							
													//url
							 | 
						||
| 
								 | 
							
													'<div class="ke-dialog-row">' +
							 | 
						||
| 
								 | 
							
													'<label for="keUrl" style="width:60px;">' + lang.url + '</label>' +
							 | 
						||
| 
								 | 
							
													'<input class="ke-input-text" type="text" id="keUrl" name="url" value="" style="width:260px;" /></div>' +
							 | 
						||
| 
								 | 
							
													//type
							 | 
						||
| 
								 | 
							
													'<div class="ke-dialog-row"">' +
							 | 
						||
| 
								 | 
							
													'<label for="keType" style="width:60px;">' + lang.linkType + '</label>' +
							 | 
						||
| 
								 | 
							
													'<select id="keType" name="type"></select>' +
							 | 
						||
| 
								 | 
							
													'</div>' +
							 | 
						||
| 
								 | 
							
													'</div>',
							 | 
						||
| 
								 | 
							
												dialog = self.createDialog({
							 | 
						||
| 
								 | 
							
													name : name,
							 | 
						||
| 
								 | 
							
													width : 450,
							 | 
						||
| 
								 | 
							
													title : self.lang(name),
							 | 
						||
| 
								 | 
							
													body : html,
							 | 
						||
| 
								 | 
							
													yesBtn : {
							 | 
						||
| 
								 | 
							
														name : self.lang('yes'),
							 | 
						||
| 
								 | 
							
														click : function(e) {
							 | 
						||
| 
								 | 
							
															var url = K.trim(urlBox.val());
							 | 
						||
| 
								 | 
							
															if (url == 'http://' || K.invalidUrl(url)) {
							 | 
						||
| 
								 | 
							
																alert(self.lang('invalidUrl'));
							 | 
						||
| 
								 | 
							
																urlBox[0].focus();
							 | 
						||
| 
								 | 
							
																return;
							 | 
						||
| 
								 | 
							
															}
							 | 
						||
| 
								 | 
							
															self.exec('createlink', url, typeBox.val()).hideDialog().focus();
							 | 
						||
| 
								 | 
							
														}
							 | 
						||
| 
								 | 
							
													}
							 | 
						||
| 
								 | 
							
												}),
							 | 
						||
| 
								 | 
							
												div = dialog.div,
							 | 
						||
| 
								 | 
							
												urlBox = K('input[name="url"]', div),
							 | 
						||
| 
								 | 
							
												typeBox = K('select[name="type"]', div);
							 | 
						||
| 
								 | 
							
											urlBox.val('http://');
							 | 
						||
| 
								 | 
							
											typeBox[0].options[0] = new Option(lang.newWindow, '_blank');
							 | 
						||
| 
								 | 
							
											typeBox[0].options[1] = new Option(lang.selfWindow, '');
							 | 
						||
| 
								 | 
							
											self.cmd.selection();
							 | 
						||
| 
								 | 
							
											var a = self.plugin.getSelectedLink();
							 | 
						||
| 
								 | 
							
											if (a) {
							 | 
						||
| 
								 | 
							
												self.cmd.range.selectNode(a[0]);
							 | 
						||
| 
								 | 
							
												self.cmd.select();
							 | 
						||
| 
								 | 
							
												urlBox.val(a.attr('data-ke-src'));
							 | 
						||
| 
								 | 
							
												typeBox.val(a.attr('target'));
							 | 
						||
| 
								 | 
							
											}
							 | 
						||
| 
								 | 
							
											urlBox[0].focus();
							 | 
						||
| 
								 | 
							
											urlBox[0].select();
							 | 
						||
| 
								 | 
							
										},
							 | 
						||
| 
								 | 
							
										'delete' : function() {
							 | 
						||
| 
								 | 
							
											self.exec('unlink', null);
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
									};
							 | 
						||
| 
								 | 
							
									self.clickToolbar(name, self.plugin.link.edit);
							 | 
						||
| 
								 | 
							
								});
							 |