玛氪宕·梦魔(Markdown Memo),使用Markdown的云端备忘录,百度IFE的RIA启航班的不合格的作业,才……才没有什么阴谋呢!
源gitee链接https://gitee.com/arathi/MarkdownMemo?_from=gitee_search
				
			
			
		
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					158 lines
				
				3.9 KiB
			
		
		
			
		
	
	
					158 lines
				
				3.9 KiB
			| 
											11 years ago
										 | /*! | ||
|  |  * Goto line dialog plugin for Editor.md | ||
|  |  * | ||
|  |  * @file        goto-line-dialog.js | ||
|  |  * @author      pandao | ||
|  |  * @version     1.2.0 | ||
|  |  * @updateTime  2015-03-14 | ||
|  |  * {@link       https://github.com/pandao/editor.md}
 | ||
|  |  * @license     MIT | ||
|  |  */ | ||
|  | 
 | ||
|  | (function() { | ||
|  | 
 | ||
|  | 	var factory = function (exports) { | ||
|  | 
 | ||
|  | 		var $            = jQuery; | ||
|  | 		var pluginName   = "goto-line-dialog"; | ||
|  | 
 | ||
|  | 		var langs = { | ||
|  | 			"zh-cn" : { | ||
|  | 				toolbar : { | ||
|  | 					"goto-line" : "跳转到行" | ||
|  | 				}, | ||
|  | 				dialog : { | ||
|  | 					"goto-line" : { | ||
|  | 						title  : "跳转到行", | ||
|  | 						label  : "请输入行号", | ||
|  | 						error  : "错误:" | ||
|  | 					} | ||
|  | 				} | ||
|  | 			}, | ||
|  | 			"zh-tw" : { | ||
|  | 				toolbar : { | ||
|  | 					"goto-line" : "跳轉到行" | ||
|  | 				}, | ||
|  | 				dialog : { | ||
|  | 					"goto-line" : { | ||
|  | 						title  : "跳轉到行", | ||
|  | 						label  : "請輸入行號", | ||
|  | 						error  : "錯誤:" | ||
|  | 					} | ||
|  | 				} | ||
|  | 			}, | ||
|  | 			"en" : { | ||
|  | 				toolbar : { | ||
|  | 					"goto-line" : "Goto line" | ||
|  | 				}, | ||
|  | 				dialog : { | ||
|  | 					"goto-line" : { | ||
|  | 						title  : "Goto line", | ||
|  | 						label  : "Enter a line number, range ", | ||
|  | 						error  : "Error: " | ||
|  | 					} | ||
|  | 				} | ||
|  | 			} | ||
|  | 		}; | ||
|  | 
 | ||
|  | 		exports.fn.gotoLineDialog = function() { | ||
|  | 			var _this       = this; | ||
|  | 			var cm          = this.cm; | ||
|  | 			var editor      = this.editor; | ||
|  | 			var settings    = this.settings; | ||
|  | 			var path        = settings.pluginPath + pluginName +"/"; | ||
|  | 			var classPrefix = this.classPrefix; | ||
|  | 			var dialogName  = classPrefix + pluginName, dialog; | ||
|  | 
 | ||
|  | 			$.extend(true, this.lang, langs[this.lang.name]); | ||
|  | 			this.setToolbar(); | ||
|  | 
 | ||
|  | 			var lang        = this.lang; | ||
|  | 			var dialogLang  = lang.dialog["goto-line"]; | ||
|  | 			var lineCount   = cm.lineCount(); | ||
|  | 
 | ||
|  | 			dialogLang.error += dialogLang.label + " 1-" + lineCount; | ||
|  | 
 | ||
|  | 			if (editor.find("." + dialogName).length < 1)  | ||
|  | 			{			 | ||
|  | 				var dialogContent = [ | ||
|  | 					"<div class=\"editormd-form\" style=\"padding: 15px 0;\">", | ||
|  | 					"<p>" + dialogLang.label + " 1-" + lineCount +"   <input type=\"number\" class=\"number-input\" style=\"width: 60px;\" value=\"1\" max=\"" + lineCount + "\" min=\"1\" data-line-number /></p>", | ||
|  | 					"</div>" | ||
|  | 				].join("\n"); | ||
|  | 
 | ||
|  | 				dialog = this.createDialog({ | ||
|  | 					name       : dialogName, | ||
|  | 					title      : dialogLang.title, | ||
|  | 					width      : 400, | ||
|  | 					height     : 180, | ||
|  | 					mask       : settings.dialogShowMask, | ||
|  | 					drag       : settings.dialogDraggable, | ||
|  | 					content    : dialogContent, | ||
|  | 					lockScreen : settings.dialogLockScreen, | ||
|  | 					maskStyle  : { | ||
|  | 						opacity         : settings.dialogMaskOpacity, | ||
|  | 						backgroundColor : settings.dialogMaskBgColor | ||
|  | 					}, | ||
|  | 					buttons    : { | ||
|  |                         enter : [lang.buttons.enter, function() { | ||
|  | 							var line   = parseInt(this.find("[data-line-number]").val()); | ||
|  | 
 | ||
|  | 							if (line < 1 || line > lineCount) { | ||
|  | 								alert(dialogLang.error); | ||
|  | 
 | ||
|  | 								return false; | ||
|  | 							} | ||
|  | 
 | ||
|  | 							_this.gotoLine(line); | ||
|  | 
 | ||
|  |                             this.hide().lockScreen(false).hideMask(); | ||
|  | 
 | ||
|  |                             return false; | ||
|  |                         }], | ||
|  | 
 | ||
|  |                         cancel : [lang.buttons.cancel, function() {                                    | ||
|  |                             this.hide().lockScreen(false).hideMask(); | ||
|  | 
 | ||
|  |                             return false; | ||
|  |                         }] | ||
|  | 					} | ||
|  | 				}); | ||
|  | 			} | ||
|  | 
 | ||
|  | 			dialog = editor.find("." + dialogName); | ||
|  | 
 | ||
|  | 			this.dialogShowMask(dialog); | ||
|  | 			this.dialogLockScreen(); | ||
|  | 			dialog.show(); | ||
|  | 		}; | ||
|  | 
 | ||
|  | 	}; | ||
|  |      | ||
|  | 	// CommonJS/Node.js
 | ||
|  | 	if (typeof require === "function" && typeof exports === "object" && typeof module === "object") | ||
|  |     {  | ||
|  |         module.exports = factory; | ||
|  |     } | ||
|  | 	else if (typeof define === "function")  // AMD/CMD/Sea.js
 | ||
|  |     { | ||
|  | 		if (define.amd) { // for Require.js
 | ||
|  | 
 | ||
|  | 			define(["editormd"], function(editormd) { | ||
|  |                 factory(editormd); | ||
|  |             }); | ||
|  | 
 | ||
|  | 		} else { // for Sea.js
 | ||
|  | 			define(function(require) { | ||
|  |                 var editormd = require("./../../editormd"); | ||
|  |                 factory(editormd); | ||
|  |             }); | ||
|  | 		} | ||
|  | 	}  | ||
|  | 	else | ||
|  | 	{ | ||
|  |         factory(window.editormd); | ||
|  | 	} | ||
|  | 
 | ||
|  | })(); |